ServiceWorkLogic.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeadmin快速开发前后端分离管理后台(PHP版)
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
  8. // | github下载:https://github.com/likeshop-github/likeadmin
  9. // | 访问官网:https://www.likeadmin.cn
  10. // | likeadmin团队 版权所有 拥有最终解释权
  11. // +----------------------------------------------------------------------
  12. // | author: likeadminTeam
  13. // +----------------------------------------------------------------------
  14. namespace app\adminapi\logic\works;
  15. use app\common\model\works\ServiceWork;
  16. use app\common\logic\BaseLogic;
  17. use app\common\model\works\ServiceWorkLog;
  18. use app\workerapi\logic\ServiceWorkLogLogic;
  19. use think\Exception;
  20. use think\facade\Db;
  21. /**
  22. * ServiceWork逻辑
  23. * Class ServiceWorkLogic
  24. * @package app\adminapi\logic\works
  25. */
  26. class ServiceWorkLogic extends BaseLogic
  27. {
  28. /**
  29. *
  30. * @return false|void
  31. */
  32. public static function pickWork($params)
  33. {
  34. Db::startTrans();
  35. try {
  36. $work = ServiceWork::where(['master_worker_id'=>$params['user_id'],'work_sn'=>$params['work_sn']])->findOrEmpty();
  37. if($work->isEmpty()){
  38. throw new Exception('工单不存在');
  39. }
  40. $receive_time = time();
  41. $work->work_status = 2;//待联系
  42. $work->service_status = 1;//服务中
  43. $work->receive_time = $receive_time;
  44. $work->save();
  45. //添加变更日志
  46. $work_log = [
  47. 'work_id'=>$work->id,
  48. 'master_worker_id'=>$work->master_worker_id,
  49. 'opera_log'=>'编号['.$params['user_info']['worker_number'].']'.$params['user_info']['real_name'].'于'.date('y-m-d H:i:s',$receive_time).'领取了工单',
  50. ];
  51. ServiceWorkLogLogic::add($work_log);
  52. Db::commit();
  53. }
  54. catch (\Exception $e) {
  55. self::setError($e->getMessage());
  56. return false;
  57. }
  58. }
  59. }