ApplyLogic.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?php
  2. /**
  3. * Created by Administrator.
  4. * User: 向往那片天空
  5. * Date: 2022\5\21 0021
  6. * Time: 15:11
  7. * 格言: 抓住中心,宁精勿杂,宁专勿多
  8. * QQ/微信: 250023777
  9. * 描述: 无
  10. */
  11. namespace app\admin\logic\enterprise;
  12. use app\admin\logic\BaseLogic;
  13. use app\admin\model\user\User;
  14. use crmeb\services\JsonService;
  15. use crmeb\traits\ModelTrait;
  16. class ApplyLogic extends BaseLogic
  17. {
  18. use ModelTrait;
  19. protected $pk = 'id';
  20. protected $name = 'user_apply_enterprise_record';
  21. public function getPageList($where)
  22. {
  23. $model = self::where('t1.is_delete', '0');
  24. if ($where['audit_status'] != -1) {
  25. $model = $model->where('t1.audit_status', $where['audit_status']);
  26. }
  27. if (!empty($where['mer_id'])) {
  28. $model = $model->where('t1.mer_id', $where['mer_id']);
  29. }
  30. if (!empty($where['apply_user_name'])) {
  31. $model = $model->where('t1.apply_user_name', 'like', '%' . $where['apply_user_name'] . '%');
  32. }
  33. $list = $model->field('t1.*,t2.job_name,t3.name as companyName')->alias('t1')->leftJoin('job t2', 't1.apply_job_id=t2.id')->join('enterprise_user t3', 't1.mer_id=t3.id')->page($where['page'], $where['limit'])->order('t1.add_time desc')->select()->toArray();
  34. $count = count($list);
  35. // 通过行业Id获取行业名
  36. foreach ($list as &$v) {
  37. $v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
  38. }
  39. return JsonService::successlayui(['count' => $count, 'data' => $list]);
  40. }
  41. public function audit($data)
  42. {
  43. $find = self::get($data['id']);
  44. if (empty($find)) {
  45. return JsonService::fail('找不到记录');
  46. }
  47. if ($find['audit_status'] !== 0) {
  48. return JsonService::fail('已经审核过');
  49. }
  50. $user = User::get($find['apply_user_id']);
  51. if (empty($user)) {
  52. return JsonService::fail('找不到申请用户');
  53. }
  54. if (!empty($user['mer_id'])) {
  55. return JsonService::fail('用户已经加入过企业');
  56. }
  57. $id = $data['id'];
  58. unset($data['id']);
  59. $data['audit_admin_id'] = $this->adminInfo['id'];
  60. $data['audit_time'] = time();
  61. $data['audit_status'] = intval($data['audit_status']);
  62. if ($data['audit_status'] == 1) {
  63. $data['pass_text'] = $data['text'];
  64. } else if ($data['audit_status'] == 2) {
  65. $data['fail_text'] = $data['text'];
  66. } else {
  67. return JsonService::fail('非法操作');
  68. }
  69. if (!self::edit($data, $id)) {
  70. return JsonService::fail('审核失败');
  71. }
  72. //更新用户
  73. if ($data['audit_status'] == 1) {
  74. $updateUser = [];
  75. $updateUser['mer_id'] = $find['mer_id'];
  76. if (!User::edit($updateUser, $find['apply_user_id'])) {
  77. return JsonService::fail('关联用户失败');
  78. }
  79. }
  80. return JsonService::successful('审核成功');
  81. }
  82. /**
  83. * 用户是否有正在审核的记录
  84. * @param $userId 用户
  85. * @return bool true-有,false-无
  86. */
  87. public function hasApllying($userId)
  88. {
  89. $query = [];
  90. $query['apply_user_id'] = $userId;
  91. $query['is_delete'] = '0';
  92. $query['audit_status'] = 0;
  93. return self::be($query);
  94. }
  95. public function getEmployeeList($where)
  96. {
  97. $model = self::where('t1.is_delete', '0');
  98. if ($where['audit_status'] != -1) {
  99. $model = $model->where('t1.audit_status', $where['audit_status']);
  100. }
  101. if (!empty($where['mer_id'])) {
  102. $model = $model->where('t4.mer_id', $where['mer_id']);
  103. }
  104. if (!empty($where['apply_user_name'])) {
  105. $model = $model->where('t1.apply_user_name', 'like', '%' . $where['apply_user_name'] . '%');
  106. }
  107. $list = $model->field('t1.*,t2.job_name,t3.name as companyName')->alias('t1')->leftJoin('job t2', 't1.apply_job_id=t2.id')->join('enterprise_user t3', 't1.mer_id=t3.id')->join('user t4', 't1.apply_user_id=t4.uid')->page($where['page'], $where['limit'])->order('t1.add_time desc')->select()->toArray();
  108. $count = count($list);
  109. // 通过行业Id获取行业名
  110. foreach ($list as &$v) {
  111. $v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
  112. }
  113. return JsonService::successlayui(['count' => $count, 'data' => $list]);
  114. }
  115. }