* @date 2020/7/3 17:06 * * @return mixed * @throws \think\exception\DbException */ public function index() { $where = []; //组合搜索 $taxi = model('common/Mission'); return IResponse::paginate($taxi->where($where)->order(['created_at' => 'desc']) ->paginate(input('limit'),false)); } /** * 新增 * * @author 许祖兴 < zuxing.xu@lettered.cn> * @date 2020/06/07 23:59 * * @return mixed */ public function save() { // 接收数据 $params = $this->request->param(); // 数据校验 $valid = $this->validate($params, [ 'name|技能名称' => 'require', 'cover_img|展示图片' => 'require', 'content|服务内容' => 'require', 'price|服务价格' => 'require', 'time_slot|服务时段' => 'require' ]); // 错误返回 (true !== $valid) && IResponse::failure($valid); // 保存数据 $skillId = model("common/Mission")->storeBy($params); return $skillId ? IResponse::success([],'新增技能信息成功'): IResponse::failure('新增技能信息异常'); } /** * 更新数据 * * @author 许祖兴 < zuxing.xu@lettered.cn> * @date 2020/06/07 14:24 * * @param $id * @return \think\response\Json */ public function update($id) { // 接收数据 $params = $this->request->param(); // 查询用户 $mission = model('common/Mission')->findBy($id); // 是否更改状态操作 if (isset($params['status']) && $params['status'] != '') { $valid = $this->validate($params, [ 'status|配置状态' => 'require|integer' ]); }else { // 数据校验 $valid = $this->validate($params, [ 'name|技能名称' => 'require', 'cover_img|展示图片' => 'require', 'content|服务内容' => 'require', 'price|服务价格' => 'require', 'time_slot|服务时段' => 'require' ]); } // 错误返回 (true !== $valid) && IResponse::failure($valid); // 更新信息 //$mission->updateBy($id, $params); $mission->where('id',$id)->update($params); return IResponse::success('更新技能信息成功'); } /** * 删除 * * @author 许祖兴 < zuxing.xu@lettered.cn> * @date 2020/3/16 14:22 * * @param $id * @return \think\response\Json */ public function delete($id) { model('common/Mission')->deleteBy($id); return IResponse::success([],'删除技能成功'); } /** * 批量操作 * * @return mixed */ public function plectron(){ // 收参数 $params = $this->request->param(); foreach (str2arr($params['ids']) as $id){ $skills = model('common/Mission')->getBy($id); if ($this->request->isDelete()){ $skills->deleteBy($id); return IResponse::success([],'删除技能服务成功'); } $skills->allowField(true)->updateBy($id, $params); } return IResponse::success([],'操作成功'); } /******************** 配送员 *********************/ /** * 配送员列表 * @return mixed * @throws \think\exception\DbException */ public function users() { $where = []; //组合搜索 !empty(input('uname')) && $where[] = ['uname', 'like', '%' . input('uname') . '%']; !empty(input('mobile')) && $where[] = ['mobile', 'like', '%' . input('mobile') .'%']; $user = model('common/MissionUser'); return IResponse::paginate($user->where($where) ->paginate(input('limit'),false)); } public function createUser() { // 接收数据 $params = $this->request->param(); // 数据校验 $valid = $this->validate($params, [ 'uname|配送员名称' => 'require', 'id_card|身份证号' => 'require', 'id_card_img|身份证件照片' => 'require', 'mobile|手机号码' => 'require', 'address|配送员住址' => 'require', 'dr_license|驾驶证' => 'require' ]); // 错误返回 (true !== $valid) && IResponse::failure($valid); // 保存数据 $userId = model('common/MissionUser')->storeBy($params); return $userId ? IResponse::success([],'新增配送员成功'): IResponse::failure('新增配送员异常'); } /** * @param $id * * @return mixed */ public function updateUser($id) { // 接收数据 $params = $this->request->param(); // 查询用户 $driver = model('common/MissionUser')->findBy($id); // 是否更改状态操作 if (isset($params['status']) && $params['status'] != '') { $valid = $this->validate($params, [ 'status|配置状态' => 'require|integer' ]); }else { // 数据校验 $valid = $this->validate($params, [ 'uname|配送员名称' => 'require', 'id_card|身份证号' => 'require', 'id_card_img|身份证件照片' => 'require', 'mobile|手机号码' => 'require', 'address|配送员住址' => 'require', 'dr_license|驾驶证' => 'require' ]); } // 错误返回 (true !== $valid) && IResponse::failure($valid); // 更新用户信息 //$driver->updateBy($id, $params); // $driver->where('id',$id)->update($params); unset($params['remarks']); Db::table('ins_mission_user')->where('id', $id)->update($params); return IResponse::success('更新配送员信息成功'); } /** * 删除 * * @param $id * * @return mixed */ public function deleteUser($id) { model('common/MissionUser')->deleteBy($id); return IResponse::success([],'删除配送员成功'); } /** * 批量操作 * * @author 许祖兴 < zuxing.xu@lettered.cn> * @date 2020/3/23 11:38 * * @return mixed */ public function plectronUser(){ // 收参数 $params = $this->request->param(); foreach (str2arr($params['ids']) as $id){ $seller = model('common/MissionUser')->getBy($id); if ($this->request->isDelete()){ $seller->deleteBy($id); return IResponse::success([],'删除配送员成功'); } $seller->allowField(true)->updateBy($id, $params); } return IResponse::success([],'操作成功'); } /******************** 订单 *********************/ /** * @return mixed * @throws \think\exception\DbException */ public function orders() { $where = []; //组合搜索 $user = model('common/MissionOrder'); return IResponse::paginate($user->where($where)->with(['mission','user','service'])->order(['created_at' => 'desc']) ->paginate(input('limit'),false)); } /** * @return mixed */ public function exportOrder() { return IResponse::success([],'等待开发...'); } /** * 订单操作 * * @param $id * @return \think\response\Json */ public function actionOrder($id) { $param = $this->request->param(); $valid = $this->validate($param, [ 'action|操作状态' => 'require' ]); // 错误返回 (true !== $valid) && IResponse::failure($valid); $model = model('common/MissionOrder'); $msg = "操作"; /*1 . 下单未支付 unpay 2 . 支付待服务 wait 3 . 服务中 serve 4 . 服务结束 */ $serve = $model->findBy($id); switch ($param['action']){ case "dispense": $msg = "指派配送"; // 状态以及时间 $model->updateBy($id,[ 'status' => 3 ]); break; case "complete": $msg = "结束配送"; $model->updateBy($id,[ 'status' => 4 ]); break; case "closed": $msg = "关闭服务"; $model->updateBy($id,[ 'status' => 0 ]); // 已支付的数据要返还金额 if($serve['status'] == 2){ // 先返款 model('common/Users')->changeBalance( $serve['user_id'], round($serve['price'], 2), '接单服务关闭,退还【' . $serve['price'] . '】', true ); } break; } return IResponse::success($serve,$msg . '成功'); } /** * @param $id * * @return mixed */ public function deleteOrder($id) { model('common/MissionOrder')->deleteBy($id); return IResponse::success([],'删除订单成功'); } }