| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335 |
- <?php
- namespace app\admin\controller\store;
- use app\common\controller\AdminController;
- use app\http\IResponse;
- class Skill extends AdminController
- {
- /**
- *
- * @author 许祖兴 < zuxing.xu@lettered.cn>
- * @date 2020/7/15 18:20
- *
- * @return mixed
- * @throws \think\exception\DbException
- */
- public function index()
- {
- $where = [];
- //组合搜索
- $taxi = model('common/Skill');
- return IResponse::paginate($taxi->where($where)->with(['user'])
- ->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/Skill")->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();
- // 查询用户
- $skill = model('common/Skill')->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);
- // 更新信息
- $skill->updateBy($id, $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/Skill')->deleteBy($id);
- return IResponse::success([],'删除技能成功');
- }
- /**
- * 批量操作
- *
- * @return mixed
- */
- public function plectron(){
- // 收参数
- $params = $this->request->param();
- foreach (str2arr($params['ids']) as $id){
- $skills = model('common/Skill')->getBy($id);
- if ($this->request->isDelete()){
- $skills->deleteBy($id);
- return IResponse::success([],'删除技能服务成功');
- }
- $skills->allowField(true)->updateBy($id, $params);
- }
- return IResponse::success([],'操作成功');
- }
- /******************** 师傅 *********************/
- public function users()
- {
- $where = [];
- //组合搜索
- $user = model('common/SkillUser');
- 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'
- ]);
- // 错误返回
- (true !== $valid) && IResponse::failure($valid);
- // 保存数据
- $userId = model('common/SkillUser')->storeBy($params);
- return $userId ? IResponse::success([],'新增师傅成功'):
- IResponse::failure('新增师傅异常');
- }
- /**
- * @param $id
- *
- * @return mixed
- */
- public function updateUser($id)
- {
- // 接收数据
- $params = $this->request->param();
- // 查询用户
- $driver = model('common/SkillUser')->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'
- ]);
- }
- // 错误返回
- (true !== $valid) && IResponse::failure($valid);
- // 更新用户信息
- $driver->updateBy($id, $params);
- return IResponse::success('更新师傅信息成功');
- }
- /**
- * 删除师傅
- *
- * @param $id
- *
- * @return mixed
- */
- public function deleteUser($id)
- {
- model('common/SkillUser')->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/SkillUser')->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()
- {
- /*1 . 下单未支付 unpay
- 2 . 支付待服务 wait
- 3 . 服务中 serve
- 4 . 服务结束 */
- $where = [];
- //组合搜索
- $user = model('common/SkillOrder');
- return IResponse::paginate($user->where($where)->with(['skill','user','service'])
- ->order(['created_at' => 'desc'])
- ->paginate(input('limit'),false));
- }
- /**
- * @return mixed
- */
- public function exportOrder()
- {
- return IResponse::success([],'等待开发...');
- }
- /**
- * @param $id
- *
- * @return mixed
- */
- public function deleteOrder($id)
- {
- model('common/SkillOrder')->deleteBy($id);
- 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/SkillOrder');
- $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([],$msg . '成功');
- }
- }
|