1
0

UserMsg.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace app\api\controller;
  3. use app\model\EmployeeMsg;
  4. use app\model\ExamPaper;
  5. use app\model\ExamPaperQuestion;
  6. use app\model\ExamQuestion;
  7. use app\model\ExamEmpResult;
  8. use app\model\Customer;
  9. use app\model\User;
  10. class UserMsg extends Base
  11. {
  12. /**
  13. * 列表获取
  14. */
  15. public function list($page, $limit)
  16. {
  17. $token = $this->request->token;
  18. $condition = [
  19. ['employee_id', '=', $token['employee_id']],
  20. ];
  21. $data = EmployeeMsg::where($condition)->page($page, $limit)->order('id desc')->select();
  22. $data->update(['saw' => 1]);
  23. //returnVisit 待回访消息提醒
  24. foreach ($data as $k => $v) {
  25. if ($v['type'] == 'returnVisit') {
  26. $v['user_type'] = !Customer::where([['id','=',$v['data']],['employee_id|designer_id','=',$token['employee_id']]])->findOrEmpty()->isEmpty();
  27. }elseif($v['type'] == 'building'){
  28. $customer_id=null;
  29. $jd=json_decode($v['data'],true);
  30. if(!empty($jd) && is_array($jd)){
  31. $customer_id=Customer::where([['employee_id','=',$token['employee_id']],['uid','=',$jd['uid']]])->value('id');
  32. if(empty($customer_id)){
  33. $user=User::where(['id'=>$jd['uid'],'root_id'=>$token['root_org']])->field('phone,nickname')->find();
  34. if(!empty($user['phone'])){
  35. $customer_id= Customer::where(['employee_id'=>$token['employee_id'],'phone'=>cypherphone(trim($user['phone']))])->value('id');
  36. }
  37. }
  38. }
  39. $v['user_type'] = $customer_id ? $customer_id : false;
  40. }else{
  41. $v['user_type'] = false;
  42. }
  43. }
  44. return json(['code' => self::success, 'data' => $data]);
  45. }
  46. /**
  47. * 未阅读消息数量获取
  48. */
  49. public function unreadCount()
  50. {
  51. $token = $this->request->token;
  52. // $token['root_org'] = 23;
  53. // $token['employee_id'] = 58;
  54. $condition = [
  55. ['employee_id', '=', $token['employee_id']],
  56. ['saw', '=', 0]
  57. ];
  58. $num = EmployeeMsg::where($condition)->count();
  59. //是否存在待批改的试卷
  60. $root_id = $token['root_org'];
  61. $w[] = ['exam_emp_result.root_id','=',$root_id];
  62. $w[] = ['paper.root_id','=',$root_id];
  63. $w[] = ['exam_emp_result.state','=',1];
  64. // $w[] = ['exam_emp_result.checked','=',0];
  65. $w[] = ['exam_emp_result.approve_status','<>',2];
  66. // $res['data'] = $num;
  67. $paper = ExamEmpResult::withJoin('paper')->where($w)->whereRaw("FIND_IN_SET(".$token['employee_id']." , approve_employee_ids)")->select()->toArray();
  68. $paper = $paper ? 1 : 0;
  69. return json(['code' => self::success, 'data' => $num,'paper'=>$paper]);
  70. }
  71. }