| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 |
- <?php
- namespace app\api\controller;
- use app\adminapi\logic\master_worker\MasterWorkerLogic;
- use app\adminapi\logic\works\ServiceWorkLogic;
- use app\api\lists\recharge\ServiceOrderLists;
- use app\api\logic\ServiceOrderLogic;
- use app\api\validate\ServiceOrderValidate;
- use think\facade\Log;
- /**
- * 订单类
- */
- class ServiceOrderController extends BaseApiController
- {
- /**
- * 订单列表
- * @return \think\response\Json
- */
- public function lists()
- {
- return $this->dataLists(new ServiceOrderLists());
- }
- /**
- * 订单详情
- * @return \think\response\Json
- */
- public function detail()
- {
- $params = (new ServiceOrderValidate())->goCheck('detail',[
- 'user_id' => $this->userId,
- ]);
- $result = ServiceOrderLogic::detail($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- return $this->data($result);
- }
- /**
- * 订单支付详情
- * @return \think\response\Json
- */
- public function orderPayInfo()
- {
- $params = (new ServiceOrderValidate())->goCheck('detail',[
- 'user_id' => $this->userId,
- ]);
- $result = ServiceOrderLogic::orderPayInfo($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- return $this->data($result);
- }
- public function getMasterWorker()
- {
- $params = (new ServiceOrderValidate())->goCheck('worker',[
- 'user_id' => $this->userId,
- ]);
- $result = ServiceOrderLogic::getMasterWorker($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- return $this->data($result);
- }
- /**
- * 提交订单
- * @return \think\response\Json
- */
- public function submitOrder()
- {
- $params = (new ServiceOrderValidate())->post()->goCheck('add', [
- 'user_id' => $this->userId,
- 'terminal' => $this->userInfo['terminal'],
- 'user_info' => $this->userInfo
- ]);
- Log::write(json_encode($params,JSON_UNESCAPED_UNICODE));
- $result = ServiceOrderLogic::submitOrder($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- return $this->data($result);
- }
- /**
- * 取消订单
- * @return \think\response\Json
- */
- public function cancelOrder()
- {
- $params = (new ServiceOrderValidate())->post()->goCheck('cancel', [
- 'user_id' => $this->userId,
- 'terminal' => $this->userInfo['terminal'],
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceOrderLogic::cancelOrder($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- // 订单取消通知【给用户】
- $res = event('Notice', [
- 'scene_id' => 122,
- 'params' => [
- 'user_id' => $params['user_id']
- ]
- ]);
- return $this->success('取消成功', [], 1, 1);
- }
- /**
- * 确认报价订单
- * @return \think\response\Json
- */
- public function confirmOrder()
- {
- $params = (new ServiceOrderValidate())->post()->goCheck('price', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceOrderLogic::confirmOrder($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- return $this->success('已确认报价,工程师即将开始服务', [], 1, 1);
- }
- /**
- * 用户确认服务完成
- * @return \think\response\Json
- */
- public function confirmServiceFinish()
- {
- $params = (new ServiceOrderValidate())->post()->goCheck('finished', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceOrderLogic::confirmServiceFinish($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- // 订单完成通知【给用户】
- $res = event('Notice', [
- 'scene_id' => 120,
- 'params' => [
- 'user_id' => $params['user_id']
- ]
- ]);
- return $this->success('已确认服务完成', [], 1, 1);
- }
- /**
- * 提交尾款订单
- * @return \think\response\Json
- */
- public function submitFinalOrder()
- {
- $params = (new ServiceOrderValidate())->post()->goCheck('final', [
- 'user_id' => $this->userId,
- 'terminal' => $this->userInfo['terminal'],
- 'user_info' => $this->userInfo
- ]);
- Log::write(json_encode($params,JSON_UNESCAPED_UNICODE));
- $result = ServiceOrderLogic::submitFinalOrder($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- return $this->data($result);
- }
- /**
- * 重置订单优惠券
- * @return \think\response\Json
- */
- public function cancelOrderCoupon()
- {
- $params = (new ServiceOrderValidate())->post()->goCheck('cancelOrderCoupon', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceOrderLogic::cancelOrderCoupon($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- return $this->success('保存成功', [], 1, 1);
- }
- /**
- * 查询是否在服务区内
- * @return \think\response\Json
- */
- public function isServiceWithin()
- {
- $params = (new ServiceOrderValidate())->get()->goCheck('LonLat', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceOrderLogic::isService($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError(),['is_service'=>0]);
- }
- return $this->success('服务区域内', ['is_service'=>1], 1, 1);
- }
- /**
- * 申请改价
- * @return \think\response\Json
- */
- public function approvalChangePrice()
- {
- $params = (new ServiceOrderValidate())->post()->goCheck('changePrice', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceOrderLogic::approvalChangePrice($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- return $this->success('已提交改价申请,等待工程师确认', [], 1, 1);
- }
- /**
- * 申请改约
- * @return \think\response\Json
- */
- public function approvalChangeAppointment()
- {
- $params = (new ServiceOrderValidate())->post()->goCheck('changeAppointment', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceOrderLogic::approvalChangeAppointment($params);
- if (false === $result) {
- return $this->fail(ServiceOrderLogic::getError());
- }
- $order = ServiceOrderLogic::orderPayInfo($params);
- $workDetail = ServiceWorkLogic::detail(['id'=>$order['work_id']]);
- $masterDetail = MasterWorkerLogic::detail(['id'=>$workDetail['master_worker_id']]);
- // 修改预约时间通知【给用户的通知】
- $res = event('Notice', [
- 'scene_id' => 117,
- 'params' => [
- 'user_id' => $workDetail['user_id'],
- 'date' => $params['appointment_time'],
- 'tel' => $masterDetail['mobile'],
- ]
- ]);
- // 修改预约时间通知【给工程师的通知,仅限公众号】
- $res = event('Notice', [
- 'scene_id' => 118,
- 'params' => [
- 'user_id' => $workDetail['master_worker_id'],
- 'thing4' => $workDetail['title'],
- 'time5' => $workDetail['appointment_time'],
- 'time6' => $params['appointment_time'],
- 'thing11' => $workDetail['address'],
- 'phone_number8' => $workDetail['mobile'],
- ]
- ]);
- return $this->success('已提交改约', [], 1, 1);
- }
- }
|