MasterWorkerMessageController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace app\workerapi\controller;
  3. use app\adminapi\logic\works\ServiceWorkLogic;
  4. use app\common\model\master_worker\MasterWorker;
  5. use app\workerapi\lists\MasterWorkerMessageLists;
  6. use app\workerapi\logic\MasterWorkerMessageLogic;
  7. class MasterWorkerMessageController extends BaseApiController
  8. {
  9. /**
  10. * 统计工程师未读消息数量
  11. * @return \think\response\Json
  12. * @throws \think\db\exception\DataNotFoundException
  13. * @throws \think\db\exception\DbException
  14. * @throws \think\db\exception\ModelNotFoundException
  15. * @author 林海涛
  16. * @date 2024/7/11 下午6:28
  17. */
  18. public function msgStatistics()
  19. {
  20. $data = MasterWorkerMessageLogic::msgStatistics($this->userId);
  21. return $this->success('操作成功', $data, 1, 0);
  22. }
  23. public function lists()
  24. {
  25. return $this->dataLists(new MasterWorkerMessageLists());
  26. }
  27. public function showMsg()
  28. {
  29. $validate = \think\facade\Validate::rule([
  30. 'ids' => 'require|array',
  31. 'msg_type' => 'require'
  32. ]);
  33. if (!$validate->check(request()->all())) {
  34. return $this->fail($validate->getError());
  35. }
  36. MasterWorkerMessageLogic::showMsg(request()->all(),$this->userId);
  37. return $this->success('操作成功', [], 1, 0);
  38. }
  39. /**
  40. * 工程师接单提示
  41. * @return \think\response\Json
  42. */
  43. public function orderPrompt()
  44. {
  45. $result = ['confirm_code'=>0,'msg'=>'无'];
  46. $prompt_result = MasterWorkerMessageLogic::orderPrompt($this->userId);
  47. //检测是否开启接单
  48. $master_worker = MasterWorker::where('id',$this->userId)->findOrEmpty();
  49. if(!$master_worker->isEmpty() && $master_worker['accept_order_status'] == 0){
  50. $result = ['confirm_code'=>103,'msg'=>'您已关闭接单,如需接单,请先开启接单'];
  51. return $this->success('操作成功', $result, 1, 0);
  52. }
  53. //新工单领取
  54. if(!empty($prompt_result)){
  55. $result = ['confirm_code'=>101,'msg'=>'您有新的工单未领取,请点击领取','data'=>$prompt_result];
  56. return $this->success('操作成功', $result, 1, 0);
  57. }
  58. //预约时间更新确认
  59. $appoint_result = ServiceWorkLogic::getAppointmentNotice($this->userId);
  60. if(!empty($appoint_result)){
  61. $result = ['confirm_code'=>102,'msg'=>'您有工单更改了预约时间,请注意查看','data'=>$appoint_result];
  62. return $this->success('操作成功', $result, 1, 0);
  63. }
  64. return $this->success('操作成功', $result, 1, 0);
  65. }
  66. }