1
0

FootPrints.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace app\listener;
  3. use app\event\FootPrints as EventFootPrints;
  4. use app\model\CustomerClue;
  5. use app\model\Employee;
  6. use app\model\Footprints as ModelFootprints;
  7. class FootPrints
  8. {
  9. public function handle(EventFootPrints $event)
  10. {
  11. // $request = request();
  12. // if (empty($request->token['uid']) || $request->token['isEmployee']) return;
  13. // 判读是否是第一次添加足迹
  14. // 判断是否是分享人所在公司员工
  15. if ($event->type != 'card'){// 名片可以产生足迹
  16. $employee_root_id = Employee::where(['id' => $event->employee])->value('root_id');
  17. $isEmp = Employee::where([['uid', '=', $event->user], ['state', 'in', ['在职', '待审核']], ['root_id', '=', $employee_root_id]])->count();
  18. if ($isEmp) return;
  19. }
  20. $num = ModelFootprints::where([
  21. 'uid' => $event->user,
  22. 'employee_id' => $event->employee
  23. ])->order('addtime')->find();
  24. if (!$num) {
  25. CustomerClue::where([
  26. 'uid' => $event->user,
  27. 'employee_id' => $event->employee
  28. ])->update(['pipe_type'=>$event->type, 'pipe_id'=>$event->footInfo['id']??null]);
  29. }
  30. ModelFootprints::create([
  31. 'uid' => $event->user,
  32. 'employee_id' => $event->employee,
  33. 'addtime' => date('Y-m-d H:i:s'),
  34. 'pipe_type' => $event->type,
  35. 'reg_info' => json_encode($event->footInfo),
  36. 'org_id' => $event->org,
  37. ]);
  38. }
  39. }