function up()
 {
     $id = $this->_post('id', 'img_url');
     $ids = $this->_post('ids', 0);
     $dir = $this->_get('path', '');
     if (!checkPath($dir)) {
         $dir = 'user';
     }
     if (isHave($_FILES['upimg']) && !isHave($_FILES['upimg']['error'])) {
         load('upload');
         $myUpload = new Myupload();
         $upload = $myUpload->upload($dir . '/u' . steadmin::$adminInfo['user_id']);
         $upload = parent::_sendImageToYunServer($upload);
         //同步图片到云存储
         if ($upload) {
             if (!$upload[0]) {
                 echo "<script>alert('" . $myUpload->getErrorMsg() . "');history.go(-1);</script>";
                 exit;
             }
             $upload[0]['savepath'] = str_replace('./', '', $upload[0]['savepath']);
             echo "<script>window.parent.document.getElementById('" . $id . "').value='" . $upload[0]['savepath'] . "';\r\n";
             echo "window.location.href='" . U('upload/index', array('id' => $id, 'ids' => $ids, 'path' => $dir)) . "';</script>\r\n";
             exit;
         }
     } else {
         echo "<script>alert('" . $_FILES['upimg']['error'] . "');history.go(-1);</script>";
         exit;
     }
 }
 function savepsw()
 {
     $objData = array('psw' => $this->_post('psw', ''));
     //内容规则检查
     T('content/validate');
     $validate = array(array('psw', 'min_length', '密码长度必须大于4位', 4));
     if (!validate::check($validate, $objData)) {
         $this->JsonReturn(validate::getError());
     }
     if ($objData['psw'] != $this->_post('repsw')) {
         $this->JsonReturn('两次密码不一致,请检查');
     }
     if ($objData['psw']) {
         $psw = D('admin')->setUserPassword($objData['psw']);
         if ($psw != steadmin::$adminInfo['psw']) {
             D('steadmin')->update(array('psw' => $psw), array('user_id' => steadmin::$adminInfo['user_id']));
             D('steadmin')->setUserLogin(array('user_id' => steadmin::$adminInfo['user_id'], 'psw' => $psw), 0, false);
             //===记录操作日志====
             parent::saveSySLog(2, array(), 0, array('user_id' => steadmin::$adminInfo['user_id']), '修改密码-编辑');
             //===记录操作日志====
             $this->JsonReturn('操作成功', null, 1);
         }
     }
     $this->JsonReturn('密码未变更', null, 0);
 }
 function index()
 {
     if (!$this->_checkLogin(true)) {
         jumpTo(U('login/index'));
     }
     if (parent::_checkIsAdmin() && steadmin::$adminInfo['isAdmin']) {
         jumpTo(U('home/index'));
     } else {
         $this->assign(array('group' => C('steward/admin', 'group')));
         $this->display('index');
     }
 }
 function detail()
 {
     $uid = $this->_getid('uid');
     $showAll = $this->_getid('all', 0);
     if (!$uid) {
         $this->returnJson = false;
         showError('用户参数丢失');
     }
     $rs = D('member')->getUserInfoById($uid, 'all');
     if ($rs) {
         $rs['village_name'] = $rs['village_id'] ? parent::getVillageName($rs['village_id']) : '';
     }
     $this->assign(array('rs' => $rs, 'sex' => $this->sex, 'showAll' => $showAll));
     $this->display();
 }
 function ajaxlogin()
 {
     if (!formCheck()) {
         $this->JsonReturn('表单提交有误,请刷新页面再试');
     }
     //接受参数
     $user = $this->_post('user');
     $pass = $this->_post('password');
     $refer = urldecode($this->_post('refer'));
     $remember = $this->_postid('remember', 0);
     if (!$user || !$pass) {
         $this->JsonReturn('账号或密码为空', null, 0);
     }
     $rs = D('steadmin')->where(array('username' => $user, 'psw' => D('steadmin')->setUserPassword($pass), 'status' => 1))->find();
     //===记录操作日志====
     parent::saveSySLog(5, array('username' => $user), 0, array(), '后台登陆');
     //===记录操作日志====
     if ($rs) {
         if (!$rs['effective'] || $rs['effective'] && $rs['effective'] - TIME > 0) {
             //帐号无期限或者有期限并且还未过期
             if (in_array($rs['groupid'], array(3, 4))) {
                 $this->JsonReturn('抱歉,您的组别无法登陆');
             }
             //修改登录信息
             D('steadmin')->setUserLogin($rs, $remember);
             formClear();
             $this->JsonReturn('ok', array('user_id' => $rs['user_id'], 'refer' => $refer), 1);
         } else {
             $this->JsonReturn('抱歉,你的帐号已过期,暂时无法登陆', null, 0);
         }
     } else {
         //===记录操作日志====
         parent::saveSySLog(5, array('username' => $user, 'psw' => $pass), 0, array(), '后台登陆-失败');
         //===记录操作日志====
         $this->JsonReturn('帐号不存在或者密码错误', null, 0);
     }
 }
 private function _sendQIYENotice(&$rs, $type = 1, $userId = 0)
 {
     $loginType = 0;
     //登陆身份类型,0:未定义 1:配货员 2:小管家 3:社长
     $gotoUrl = 'steward/worker/orderdetail';
     $msgType = 'news';
     switch ($type) {
         case 1:
             //配货
             $title = '配货员:您有新的订单需要完成【采购】,用户:【' . $rs['username'] . '】';
             $desc = "订单号:{$rs['order_sn']}\n请点击进入页面确认采购完成";
             $loginType = 1;
             break;
         case 2:
             //小管家配送
             $title = '小管家:您有新的订单需要【配送】,用户:【' . $rs['username'] . '】';
             $desc = "订单号:{$rs['order_sn']}\n地址:{$rs['address']}\n收货人:{$rs['username']}\n电话:{$rs['phone']}\n请在送达以后点击进入确认配送完成";
             $loginType = 2;
             $gotoUrl = 'steward/worker/detail';
             break;
         case 3:
             //订单信息变更
             $title = '小管家:订单【已变更】,请注意配送信息,用户:【' . $rs['username'] . '】';
             $desc = "订单号:{$rs['order_sn']}\n地址:{$rs['address']}\n收货人:{$rs['username']}\n电话:{$rs['phone']}\n请在送达以后点击进入确认配送完成";
             $loginType = 2;
             $gotoUrl = 'steward/worker/detail';
             break;
         case 4:
             //取消已分配的订单
             $msgType = 'text';
             $title = "订单【已重新分配】,请注意配送信息,用户:【" . $rs['username'] . "】\n";
             $desc = "订单已分配给其他小管家处理\n订单号:{$rs['order_sn']}\n地址:{$rs['address']}\n收货人:{$rs['username']}\n电话:{$rs['phone']}";
             $loginType = 2;
             break;
         default:
             $this->JsonReturn('企业号操作类型不正确');
     }
     if (!$userId) {
         $this->JsonReturn('请先选择操作员');
     }
     T('weixin/qy/qyWeixin.api');
     qyApi::init(steadmin::$adminInfo['city_id']);
     $touser = D('steadmin')->getUserOpenid($userId);
     if (!$touser) {
         $this->JsonReturn('小管家系统用户不存在(user_id:' . $userId . ')');
     }
     if ($msgType == 'text') {
         $sendInfo = array('touser' => $touser, 'msgtype' => 'text', 'text' => array('content' => $title . $desc));
     } else {
         $sendInfo = array('touser' => $touser, 'msgtype' => 'news', 'news' => array('articles' => array(array('title' => $title, 'createTime' => TIME, 'description' => $desc, 'picurl' => '', 'url' => U($gotoUrl, array('oid' => $rs['order_id'], 'type' => $loginType, 'userid' => $userId))))));
     }
     return array('user_id' => $userId, 'name' => parent::_getAdminName($userId), 'result' => qyApi::messageSend($sendInfo) ? 1 : 0, 'msg' => qyApi::$errorMsg);
 }
 function __construct()
 {
     parent::__construct();
     parent::_checkLogin();
 }
 public function report()
 {
     $startTime = $this->_get('stime', '');
     //开始时间
     $endTime = $this->_get('etime', '');
     //结束时间
     $serviceId = $this->_getid('service_id', 0);
     //服务社
     $isOutput = $this->_getid('is_output', 0);
     //是否导出数据
     $cateId = $this->_getid('cid', 0);
     //类目
     $cateList = array(275 => '半成品菜', 273 => '预定下午茶');
     if (!isset($cateList[$cateId])) {
         showError('抱歉,该类目不允许查看');
     }
     if (!parent::_checkIsAdmin()) {
         if ($cateId != 275 || steadmin::$adminInfo['user_id'] != 291) {
             //半成品菜店长
             showError('抱歉,暂无权限');
         }
     }
     //取类目及所有子类目
     $cateAllList = M('ste_goods_cate')->where(array('city_id' => steadmin::$adminInfo['city_id'], 'is_del' => 0))->order('sort DESC')->select('id');
     $tidList = D('tree')->getSubs($cateAllList, $cateId, true);
     $cateId = $tidList['list'] ? implode(',', $tidList['list']) : $cateId;
     //默认报表时间为今天
     $today = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
     $stime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y'));
     if (!$startTime) {
         $startTime = date('Y-m-d', $stime);
     }
     if (!$endTime) {
         $endTime = date('Y-m-d', $stime);
     }
     if ($startTime && $endTime) {
         $startTime = inTime($startTime);
         $endTime = inTime($endTime) + 60 * 60 * 24 - 1;
     }
     if ($serviceId) {
         $where = ' AND a.service_id=' . $serviceId;
         $sWhere = ' AND service_id=' . $serviceId;
     } else {
         $where = '';
         $sWhere = '';
     }
     if ($startTime < $today) {
         $statusList = '1,3,4,5,6,7,8,9,10,11';
     } else {
         $statusList = '1,3,4,5,6,7,8,9,10,11';
         //搜索状态:已支付、已审核、正在配货
     }
     //根据类目搜索所有的商品gid
     $where = '';
     $rs = M('ste_order')->query('SELECT a.order_id,a.order_sn,a.order_type,a.service_id,a.village_id,a.uid,a.address,a.phone,a.username,' . 'a.desc,a.arrive_date,a.arrive_time,a.order_source,a.status,a.order_time,a.goods_counts AS goods_total,b.gid,b.shop_id,b.goods_name,b.goods_counts,b.goods_price' . ' FROM __TABLE__ AS a LEFT JOIN __PRE__ste_order_goods AS b ON a.order_id=b.order_id WHERE a.arrive_date>=' . $startTime . ' AND a.arrive_date<=' . $endTime . ' AND a.status IN (' . $statusList . ') AND b.gid IN (
         SELECT gid FROM __PRE__ste_goods WHERE cate_id IN (' . $cateId . ') ' . $sWhere . '
         )' . $where . ' ORDER BY service_id ASC');
     //        z(M('ste_order')->getAllSql());
     //        z($rs);
     $orderList = array();
     $orderTotal = array();
     $serviceList = array();
     if ($rs) {
         foreach ($rs as $val) {
             //统计各个菜的数量
             $goodsName = md5($val['goods_name']);
             if (!isset($orderTotal[$goodsName])) {
                 $orderTotal[$goodsName] = array('name' => $val['goods_name'], 'counts' => $val['goods_counts'], 'item' => array());
             } else {
                 $orderTotal[$goodsName]['counts'] += $val['goods_counts'];
             }
             if (!isset($orderTotal[$goodsName]['item'][$val['service_id']])) {
                 $orderTotal[$goodsName]['item'][$val['service_id']] = array('name' => $this->serviceData[$val['service_id']]['stitle'], 'counts' => $val['goods_counts']);
             } else {
                 $orderTotal[$goodsName]['item'][$val['service_id']]['counts'] += $val['goods_counts'];
             }
             //按服务社统计菜单
             if (!isset($serviceList[$val['service_id']])) {
                 $serviceList[$val['service_id']] = array('service_name' => $this->serviceData[$val['service_id']]['stitle'], 'counts' => $val['goods_counts'], 'item' => array());
             } else {
                 $serviceList[$val['service_id']]['counts'] += $val['goods_counts'];
             }
             if (!isset($serviceList[$val['service_id']]['item'][$val['gid']])) {
                 $serviceList[$val['service_id']]['item'][$val['gid']] = array('name' => $val['goods_name'], 'counts' => $val['goods_counts']);
             } else {
                 $serviceList[$val['service_id']]['item'][$val['gid']]['counts'] += $val['goods_counts'];
             }
             //按订单号归类商品
             if (!isset($orderList[$val['order_id']])) {
                 $orderList[$val['order_id']] = array('order_id' => $val['order_id'], 'order_sn' => $val['order_sn'], 'order_type' => $val['order_type'], 'service_id' => $val['service_id'], 'service_name' => $this->serviceData[$val['service_id']]['stitle'], 'village_id' => $val['village_id'], 'village_name' => parent::getVillageName($val['village_id']), 'address' => $val['address'], 'phone' => $val['phone'], 'username' => $val['username'], 'desc' => $val['desc'], 'arrive_date' => $val['arrive_date'], 'arrive_time' => $val['arrive_time'], 'order_source' => $val['order_source'], 'status' => $val['status'], 'order_time' => $val['order_time'], 'goods_total' => $val['goods_total'], 'select_goods_total' => 0, 'list' => array());
             }
             $orderList[$val['order_id']]['list'][] = array('goods_name' => $val['goods_name'], 'goods_counts' => $val['goods_counts'], 'goods_price' => $val['goods_price']);
             $orderList[$val['order_id']]['select_goods_total'] += $val['goods_counts'];
         }
     }
     //        z($orderTotal);
     //        z($serviceList);
     if ($isOutput) {
         $dataList = array();
         $title = array('订单号', '收货人', '手机', '地址', '配送时间', '商品列表', '留言', '混合订单');
         foreach ($orderList as $val) {
             $list = array();
             foreach ($val['list'] as $v) {
                 $list[] = $v['goods_name'] . ' (x ' . $v['goods_counts'] . ')';
             }
             $dataList[] = array($val['order_sn'], $val['username'], $val['phone'], $val['address'], outTime($val['arrive_date'], 2) . ' ' . $val['arrive_time'], implode("\r\n", $list), $val['desc'], $val['goods_total'] == $val['select_goods_total'] ? '否' : '是');
         }
         if (isset($this->serviceData[$serviceId])) {
             $tname = $this->serviceData[$serviceId]['stitle'];
         } else {
             $tname = '全部';
         }
         $dataList[] = array('', '', '', '', '', '', '', '');
         $dataList[] = array('', '', '', '', '', '', '', '');
         $dataList[] = array('品类', '详细', '数量', '', '', '', '', '');
         //将统计信息附加到报表中
         foreach ($orderTotal as $val) {
             $list = array();
             foreach ($val['item'] as $v) {
                 $list[] = $v['name'] . ' (' . $v['counts'] . '份)';
             }
             $dataList[] = array($val['name'], implode('、', $list), $val['counts'], '', '', '', '', '');
         }
         $dataList[] = array('', '', '', '', '', '', '', '');
         $dataList[] = array('', '', '', '', '', '', '', '');
         $dataList[] = array('服务社', '详细', '数量', '', '', '', '', '');
         //将统计信息附加到报表中
         foreach ($serviceList as $val) {
             $list = array();
             foreach ($val['item'] as $v) {
                 $list[] = $v['name'] . ' (' . $v['counts'] . '份)';
             }
             $dataList[] = array($val['service_name'], implode("\r\n", $list), $val['counts'], '', '', '', '', '');
         }
         load('csv');
         $csv = new csv();
         $csv->write($title, $dataList, $cateList[$cateId] . '订单_' . $tname . date('Y-m-d H/i/s'));
     } else {
         $this->assign(array('rs' => $orderList, 'orderTotal' => $orderTotal, 'cid' => $cateId, 'service_id' => $serviceId, 'startTime' => $startTime, 'endTime' => $endTime, 'serviceList' => $serviceList, 'service' => $this->serviceData, 'setting' => $this->steSetting));
         $this->display();
     }
 }
 function delete()
 {
     $id = $this->_postid('id');
     if (!$id) {
         showError('参数丢失');
     }
     if (!parent::_checkIsAdmin()) {
         showError('没有编辑权限');
     }
     D('serviceLog')->delete(array('fid' => $id));
     //===记录操作日志====
     parent::saveSySLog(3, array(), $id, array('id' => $id), '客服日报-删除');
     //===记录操作日志====
     $this->JsonReturn('ok', null, 1);
 }
 function delete()
 {
     $id = $this->_postid('id');
     if (!$id) {
         showError('参数丢失');
     }
     M('ste_goods_cate')->update(array('is_del' => 1, 'is_show' => 0), array('id' => $id, 'city_id' => steadmin::$adminInfo['city_id']));
     $this->reset();
     $this->setGoodsCateCache();
     //===记录操作日志====
     parent::saveSySLog(3, array('is_del' => 1, 'is_show' => 0), $id, array('id' => $id), '商品类目-删除');
     //===记录操作日志====
     $this->JsonReturn('ok', null, 1);
 }
 function __construct()
 {
     parent::__construct();
     parent::_checkLogin();
     $this->assign(array('rs' => C('face')));
 }
 function qysave()
 {
     $objData = array();
     $init = parent::_getAdminSetting('corp_info');
     foreach ($init as $k => $v) {
         $objData[$k] = $this->_post($k, $v);
     }
     parent::_setAdminSetting('corp_info', $objData);
     $setting = parent::_getAdminSetting();
     foreach ($setting as $key => $val) {
         $setting[$key] = json_decode($val, true);
     }
     F('steward/setting_city_' . steadmin::$adminInfo['city_id'], $setting);
     //===记录操作日志====
     //parent::saveSySLog(2, $setting, 0, array(), '系统设置-企业号编辑');
     //===记录操作日志====
     $this->JsonReturn('操作成功', null, 1);
 }
 function __construct()
 {
     parent::__construct();
     parent::_checkLogin();
     $this->key = '1aa6a77c877c9d026f2f7640bb722f41';
 }
 function deal()
 {
     $id = $this->_postid('id', 0);
     $act = $this->_postid('act', 0);
     if (!$id) {
         showError('参数丢失');
     }
     if (!isset($this->steSetting['work_status'][$act])) {
         showError('参数错误');
     }
     D('steadmin')->setUserWorkerStatus($id, $act);
     //===记录操作日志====
     parent::saveSySLog(4, array('work_status' => $act), $id, array('user_id' => $id), '帐号管理-处理状态');
     //===记录操作日志====
     $this->JsonReturn('ok', $this->steSetting['work_status'][$act], 1);
 }
 public function deal()
 {
     $id = $this->_postid('id', 0);
     $act = $this->_postid('act', 0);
     if (!$id) {
         showError('参数丢失');
     }
     if (!isset($this->setOrderStatus[$act])) {
         $this->JsonReturn('参数错误');
     }
     $rs = M('ste_order')->where(array('order_id' => $id))->find();
     if (!$rs) {
         $this->JsonReturn('订单不存在');
     }
     if (parent::_checkIsPresident()) {
         //社长
         if ($rs['service_id'] != steadmin::$adminInfo['service_id']) {
             showError('没有操作权限!');
         }
     } elseif (!parent::_checkIsAdmin()) {
         showError('没有操作权限');
     }
     M('ste_order')->update(array('status' => $act), array('order_id' => $id));
     //===记录操作日志====
     parent::saveSySLog(4, array('status' => $act), $id, array('order_id' => $id), '订单管理-处理状态');
     //===记录操作日志====
     $this->JsonReturn('ok', $this->setOrderStatus[$act], 1);
 }
 public function batch()
 {
     parent::_checkLogin();
     parent::_authUser(array(1, 2, 5, 7, 8));
     $gids = $this->_post('gid');
     if (!$gids || !is_array($gids)) {
         $this->JsonReturn('请先选择需要操作的商品');
     }
     $objData = array();
     $list = array('original_price', 'price_pre', 'price', 'storage_counts', 'start_times', 'end_times', 'px', 'cate_id', 'order_counts');
     foreach ($list as $val) {
         $objData[$val] = $this->_post($val, '');
     }
     //内容规则检查
     T('content/validate');
     $validate = array();
     if ($objData['price']) {
         $validate[] = array('price', 'currency', '商品价格不正确');
     } else {
         unset($objData['price']);
     }
     if ($objData['storage_counts']) {
         $validate[] = array('storage_counts', 'int', '库存不正确');
     } else {
         unset($objData['storage_counts']);
     }
     if ($objData['original_price']) {
         $validate[] = array('original_price', 'currency', '商品原始价格不正确');
     } else {
         unset($objData['original_price']);
     }
     if ($objData['start_times']) {
         $objData['start_times'] = inTime($objData['start_times']);
     } else {
         unset($objData['start_times']);
     }
     if ($objData['end_times']) {
         $objData['end_times'] = inTime($objData['end_times']);
     } else {
         unset($objData['end_times']);
     }
     if (!$objData['cate_id']) {
         unset($objData['cate_id']);
     }
     if (!$objData['price_pre']) {
         unset($objData['price_pre']);
     }
     if ($objData['px'] !== '') {
         $objData['px'] = intval($objData['px']);
     } else {
         unset($objData['px']);
     }
     if ($objData['order_counts'] !== '') {
         $objData['order_counts'] = intval($objData['order_counts']);
     } else {
         unset($objData['order_counts']);
     }
     if (!$objData) {
         $this->JsonReturn('必须有修改项!');
     }
     if ($validate && !validate::check($validate, $objData)) {
         $this->JsonReturn(validate::getError());
     }
     //补充数据
     $objData['refresh_time'] = TIME;
     //        z($objData);
     //取出所以商品,并对商品做权限判断
     $rs = M('ste_goods')->field('user_id,gid,shop_id')->where(array('gid' => $gids))->findAll(false);
     if (!$rs) {
         $this->JsonReturn('没有找到符合条件的商品');
     }
     $ids = array();
     foreach ($rs as $val) {
         if (!parent::_checkUser($val['user_id'], $val['shop_id'])) {
             $this->JsonReturn('操作错误,没有编辑权限');
         } else {
             $ids[] = $val['gid'];
         }
     }
     if ($ids) {
         $total = M('ste_goods')->update($objData, array('gid' => $ids));
         //===记录操作日志====
         parent::saveSySLog(4, $objData, $ids, array('gid' => $ids), '商品管理-批量设置');
         //===记录操作日志====
         $this->JsonReturn('ok', $total, 1);
     } else {
         $this->JsonReturn('没有找到符合条件的商品');
     }
 }