1
0

Card.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace app\client\controller;
  3. use app\model\Employee;
  4. use app\model\EmployeeCard;
  5. use app\model\Footprints;
  6. use app\model\User;
  7. class Card extends Base
  8. {
  9. public function info()
  10. {
  11. $employee = [];
  12. $token = $this->request->token;
  13. if (empty($token['share_employee'])) {
  14. $user_id = $this->request->param('user', '', 'intval');
  15. if (empty($user_id)) {
  16. return json(['code' => self::success, 'data' => [], 'log' => []]);
  17. } else {
  18. $employee = Employee::with(['company', 'companys', 'employeeCard'])->where(['uid' => $user_id])->find();
  19. }
  20. } else {
  21. $share_employee = $token['share_employee'];
  22. $employee = Employee::with(['company', 'companys', 'employeeCard'])->find($share_employee);
  23. }
  24. if (empty($employee)) {
  25. return json(['code' => self::success, 'data' => [], 'log' => [], 'logcount' => 0]);
  26. }
  27. $employee_card = EmployeeCard::where('employee_id', '=', $employee['id'])->find();
  28. if (empty($employee_card)) {
  29. EmployeeCard::create(['employee_id'=> $employee['id']]);
  30. }
  31. $data['employee_id'] = $employee['id'];
  32. $data['uid'] = $employee['uid'];
  33. $data['name'] = $employee['name'];
  34. $data['phone'] = $employee['phone'];
  35. $data['position'] = !empty($employee['position']) ? $employee['position'] : ($employee['company']['org_type'] == 2 ? '设计师' : '销售经理');
  36. $data['company_name'] = $employee['company_name'];
  37. $data['headimgurl'] = $employee['image_photo'] ? $employee['image_photo'] : '';
  38. $data['wx'] = $employee['wx'] ?? '';
  39. $data['qrcode'] = $employee['qrcode'];
  40. $data['likes'] = $employee['employeeCard']['likes'] ?? 0;
  41. $data['company_introduction'] = $employee['companys']['company_introduction'];
  42. $data['company_address'] = $employee['companys']['company_address'];
  43. $data['company_logo'] = $employee['companys']['logo'];
  44. $data['company_vr_address'] = $employee['companys']['vr_address'];
  45. $log_where[] = ['uid', '<>', $employee['uid']];
  46. $log_where[] = ['employee_id', '=', $employee['id']];
  47. $log_where[] = ['pipe_type', '=', 'card'];
  48. $logUid = Footprints::where($log_where)->order('id desc')->group('uid')->column('uid');
  49. //$logUid = array_values(array_filter(array_unique($logUid))); // 去重
  50. $logUid_new = array_slice($logUid, 0, 4);
  51. $log = [];
  52. foreach ($logUid_new as $v) {
  53. $log[] = User::where([['id', '=', $v]])->value('headimgurl');
  54. }
  55. /*if (count($log) < 4) {
  56. $left_count = 4 - count($log);
  57. $left_log = User::where('headimgurl', '<>', '')->limit($left_count)->order('id desc')->column('headimgurl');
  58. $log = array_merge($log, $left_log);
  59. }*/
  60. $logCount = User::where([['id', 'in', $logUid]])->count();
  61. /*if ($logCount < 4) {
  62. $logCount = 4;
  63. }*/
  64. // 添加足迹
  65. if (!empty($token['uid'])) {
  66. if (!empty($token['share_employee'])) {
  67. $e_uid = Employee::where('id', '=', $token['share_employee'])->value('uid');
  68. if ($e_uid != $token['uid']){
  69. event(new \app\event\FootPrints($token['uid'], $token['share_employee'] ?? 0, $token['share_org'] ?? 0, $data, 'card'));
  70. }
  71. }
  72. }
  73. return json(['code' => self::success, 'data' => $data, 'log' => $log, 'logcount' => $logCount]);
  74. }
  75. /**
  76. * 名片点赞
  77. */
  78. public function like(){
  79. $employee_id = input('employee_id', '', 'intval');
  80. $res = EmployeeCard::where('employee_id', '=', $employee_id)->inc('likes')->update();
  81. if (!$res) EmployeeCard::insert(['employee_id'=>$employee_id,'likes'=>1]);
  82. return json(['code'=> self::success, 'msg'=> 'success']);
  83. }
  84. }