public function edit_worker_save()
 {
     parent::_authUser(array(1, 2, 9));
     $id = $this->_postid('order_id', 0);
     $type = $this->_postid('type', 1);
     $workerUid = $this->_postid('worker_uid', 0);
     if (!$id) {
         $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']) {
             $this->JsonReturn('没有操作权限!');
         }
     } elseif (!parent::_checkIsAdmin()) {
         $this->JsonReturn('没有操作权限');
     }
     //判断当前订单是否可以修改
     if (!in_array($rs['status'], array(3, 4, 5, 6))) {
         $this->JsonReturn('该订单当前状态不可编辑');
     }
     $field = '';
     switch ($type) {
         case 1:
             if ($workerUid == $rs['deployment_uid']) {
                 $this->JsonReturn('配货员未变更');
             }
             $field = 'deployment_uid';
             $msgId = 1;
             $oldUid = $rs['deployment_uid'];
             break;
         case 2:
             if ($workerUid == $rs['worker_uid']) {
                 $this->JsonReturn('小管家未变更');
             }
             $field = 'worker_uid';
             $msgId = 2;
             $oldUid = $rs['worker_uid'];
             break;
     }
     if (!$field) {
         $this->JsonReturn('参数有误');
     }
     //更新数据
     $info = M('ste_order')->update(array($field => $workerUid), array('order_id' => $id));
     if (!$info) {
         $this->JsonReturn('编辑失败');
     }
     $res = array();
     //通知小管家
     $res['deployment'] = $this->_sendQIYENotice($rs, $msgId, $workerUid);
     $res['deployment_old'] = $this->_sendQIYENotice($rs, 4, $oldUid);
     //===记录操作日志====
     parent::saveSySLog(2, array('field' => $field, 'user_id' => $workerUid, 'old_user_id' => $oldUid), $id, array(), '订单管理-更换小管家');
     //===记录操作日志====
     //返回结果
     $this->JsonReturn('ok', $res, 1);
 }
 public function deal()
 {
     parent::_authUser(array(1, 5, 7, 9));
     $id = $this->_postid('id', 0);
     $act = $this->_postid('act', 0);
     $action = $this->_post('action', '');
     if (!$id) {
         showError('参数丢失');
     }
     $rs = M('ste_shop')->where(array('shop_id' => $id, 'city_id' => steadmin::$adminInfo['city_id']))->find();
     if (!$rs) {
         showError('店铺不存在');
     }
     if (!parent::_checkUser($rs['user_id'], $id) && (parent::_checkIsPresident() && $rs['service_id'] != steadmin::$adminInfo['service_id'])) {
         showError('编辑权限不足');
     }
     if ($action) {
         if (in_array($action, array('up', 'down'))) {
             if ($action == 'up') {
                 $count = M('ste_goods')->update(array('status' => 1), array('status' => 0, 'shop_id' => $id));
             } else {
                 $count = M('ste_goods')->update(array('status' => 0), array('status' => 1, 'shop_id' => $id));
             }
             //===记录操作日志====
             parent::saveSySLog(4, array('status' => $action, 'table' => 'goods'), $id, array('shop_id' => $id), '店铺管理-更新店铺商品状态');
             //===记录操作日志====
             $this->JsonReturn('ok', $count, 1);
         } else {
             $this->JsonReturn('参数错误');
         }
     } else {
         if (!isset($this->steSetting['shop_status'][$act])) {
             showError('参数错误');
         }
         M('ste_shop')->update(array('status' => $act), array('shop_id' => $id));
         //===记录操作日志====
         parent::saveSySLog(4, array('status' => $act), $id, array('shop_id' => $id), '店铺管理-处理状态');
         //===记录操作日志====
         $this->JsonReturn('ok', $this->steSetting['shop_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);
 }
 function save()
 {
     $id = $this->_postid('id', 0);
     if (!$id) {
         $this->JsonReturn('参数丢失');
     }
     $objData = array();
     $noFields = array('logincount', 'loginip', 'logintime', 'regdateline', 'build_uid', 'shop_id', 'unionid');
     if (!parent::_checkIsAdmin()) {
         $noFields = array_merge($noFields, array('city_id', 'service_id'));
     }
     //获取字段内容
     $fieldList = D('steadmin')->getTableFields($noFields);
     foreach ($fieldList['fields'] as $key => $val) {
         $objData[$key] = $val['type'] == 'int' ? $this->_postid($key, $val['value']) : $this->_post($key, $val['value']);
     }
     $objData['repsw'] = $this->_post('repsw');
     $rs = D('steadmin')->where(array('user_id' => $id))->find();
     if (!parent::_checkIsPresident() && !parent::_checkIsAdmin() && $rs['user_id'] != steadmin::$adminInfo['user_id'] && $rs['build_uid'] !== steadmin::$adminInfo['user_id']) {
         $this->JsonReturn('权限不足');
     }
     //社长
     if (parent::_checkIsPresident()) {
         if ($rs['service_id'] !== steadmin::$adminInfo['service_id']) {
             $this->JsonReturn('权限不足');
         } else {
             $objData['service_id'] = steadmin::$adminInfo['service_id'];
         }
     }
     //内容规则检查
     T('content/validate');
     $validate = array(array('username', 'username', '帐户名称不符合要求', 2, 30), array('real_name', 'username', '真实姓名不符合要求', 2, 30), array('phone', 'phone', '手机号码不符合要求'));
     if ($objData['psw']) {
         $validate[] = array('psw', 'min_length', '密码长度必须大于4位', 4);
     }
     $infoData = array('nick_name' => $this->_post('nick_name'), 'user_avatar' => $this->_post('user_avatar'), 'total_service' => $this->_postid('total_service'), 'average_times' => $this->_postid('average_times'), 'score_service' => $this->_post('score_service'), 'score_speed' => $this->_post('score_speed'), 'total_comment' => $this->_postid('total_comment'), 'wechat_id' => $this->_post('wechat_id'));
     //工作人员完善资料
     if (isset($objData['groupid']) && in_array($objData['groupid'], $this->hasWorkerInfo)) {
         $validateInData = array(array('nick_name', 'username', '称呼不符合要求', 2, 30), array('user_avatar', 'required', '用户头像不能为空'), array('total_service', 'int', '总服务次数不符合要求'), array('average_times', 'int', '服务时间不符合要求'), array('score_service', 'double', '服务评分不符合要求'), array('score_speed', 'double', '速度评分不符合要求'), array('total_comment', 'int', '评论人次不符合要求'));
         if (!validate::check($validateInData, $infoData)) {
             $this->JsonReturn(validate::getError());
         }
         $validate[] = array('service_id', 'int', '商圈不能为空');
     }
     if (!validate::check($validate, $objData)) {
         $this->JsonReturn(validate::getError());
     }
     if ($objData['psw'] && $objData['psw'] != $objData['repsw']) {
         $this->JsonReturn('两次密码不一致');
     }
     if ($objData['psw']) {
         $objData['psw'] = D('admin')->setUserPassword($objData['psw']);
     } else {
         unset($objData['psw']);
     }
     //检测账户名或手机号是否重复
     $exist = D('steadmin')->field('user_id')->where(array('city_id' => steadmin::$adminInfo['city_id'], 'username' => $objData['username']))->find();
     if ($exist && $exist['user_id'] != $id) {
         $this->JsonReturn('该帐户名已存在');
     }
     //        $exist = D('steadmin')->field('user_id')
     //                        ->where(array('city_id' => steadmin::$adminInfo['city_id'], 'phone' => $objData['phone']))->find();
     //        if ($exist && $exist['user_id'] != $id) {
     //            $this->JsonReturn('该手机号已经存在');
     //        }
     //        if ($infoData['wechat_id']) {
     //            $exist = M('ste_worker')->field('user_id')
     //                            ->where(array('wechat_id' => $infoData['wechat_id']))->find();
     //            if ($exist && $exist['user_id'] != $id) {
     //                $this->JsonReturn('该微信号已经存在');
     //            }
     //        }
     if ($this->isLocal) {
         $syncToQyh = false;
     } else {
         $syncToQyh = true;
     }
     if (parent::_checkIsAdmin()) {
         $objData['effective'] = $this->_post('effective', 0);
         if ($objData['effective']) {
             $objData['effective'] = inTime($objData['effective']);
         } else {
             $objData['effective'] = 0;
         }
         $objData['status'] = $objData['status'] ? $objData['status'] : 0;
     }
     if ($objData['groupid'] == 8) {
         //店长身份需要设置店铺
         $objData['shop_id'] = $this->_postid('shop_id', 0);
     } else {
         $objData['shop_id'] = 0;
     }
     if ($objData['groupid'] == 9) {
         //社长身份必须设置服务中心
         $objData['service_id'] = $this->_postid('service_id', 0);
     }
     //社长必须有服务中心
     if ($objData['groupid'] == 9 && !$objData['service_id']) {
         $this->JsonReturn('服务中心不能为空');
     }
     //社长必须有服务中心
     if ($objData['groupid'] == 9) {
         if (!$objData['service_id']) {
             $this->JsonReturn('服务中心不能为空');
         }
         $checkWhere = array('city_id' => steadmin::$adminInfo['city_id'], 'service_id' => $objData['service_id'], 'groupid' => 9, 'status' => 1);
         $hasUser = D('steadmin')->where($checkWhere)->getField('user_id');
         if ($hasUser && $hasUser != $id || D('steadmin')->where($checkWhere)->count() > 1) {
             $this->JsonReturn('该服务中心已有社长帐号');
         }
     }
     $objData['city_id'] = steadmin::$adminInfo['city_id'];
     unset($objData['repsw']);
     //        z($objData);
     D('steadmin')->update($objData, array('user_id' => $id));
     //===记录操作日志====
     parent::saveSySLog(2, $objData, $id, array('user_id' => $id), '帐号管理-编辑');
     //===记录操作日志====
     if (in_array($objData['groupid'], $this->hasWorkerInfo)) {
         if (!M('ste_worker')->field('user_id')->where(array('user_id' => $id))->find()) {
             $infoData['user_id'] = $id;
             //插入员工信息
             D('steadmin')->addUserDetailInfo($infoData);
         } else {
             M('ste_worker')->update($infoData, array('user_id' => $id));
         }
     }
     if ($syncToQyh) {
         T('weixin/qy/qyWeixin.api');
         qyApi::init(steadmin::$adminInfo['city_id']);
         $qiyehaoinfo['userid'] = $objData['openid'];
         $qiyehaoinfo['name'] = $objData['real_name'];
         $qiyehaoinfo['mobile'] = $objData['phone'];
         if (isHave($infoData['wechat_id'])) {
             $qiyehaoinfo['weixinid'] = $infoData['wechat_id'];
         }
         $groupidname = $this->adminConfig['group'];
         $qiyehaoinfo['position'] = $groupidname[$objData['groupid']];
         if (!qyApi::userUpdate($qiyehaoinfo) && strpos(qyApi::$errorMsg, '60111') !== 0) {
             $this->JsonReturn('同步到企业号通讯录失败 ' . qyApi::$errorMsg);
         }
     }
     $this->JsonReturn('ok', null, 1);
 }
 public function deal()
 {
     parent::_checkLogin();
     parent::_authUser(array(1, 2, 5, 7, 8, 9));
     $id = $this->_postid('id', 0);
     $act = $this->_postid('act', 0);
     if (!$id) {
         showError('参数丢失');
     }
     if (!isset($this->steSetting['goods_status'][$act])) {
         $this->JsonReturn('参数错误');
     }
     $rs = M('ste_goods')->where(array('gid' => $id))->find();
     if (!$rs) {
         $this->JsonReturn('商品不存在');
     }
     if (!parent::_checkUser($rs['user_id'], $rs['shop_id']) && (parent::_checkIsPresident() && $rs['service_id'] != steadmin::$adminInfo['service_id'])) {
         showError('没有编辑权限');
     }
     M('ste_goods')->update(array('status' => $act), array('gid' => $id));
     //===记录操作日志====
     parent::saveSySLog(4, array('status' => $act), $id, array('gid' => $id), '商品管理-更改状态');
     //===记录操作日志====
     $this->JsonReturn('ok', $this->getStatus($rs['start_times'], $rs['end_times'], $act), 1);
 }