ResumeOutwardService.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace App\Services\Person;
  3. use App\Exceptions\ResponseException;
  4. use App\Models\ResumeOutward;
  5. use App\Repositories\CompanyRepository;
  6. use App\Repositories\MemberLogRepository;
  7. use App\Repositories\ResumeOutwardRepository;
  8. use App\Repositories\ResumeRepository;
  9. class ResumeOutwardService
  10. {
  11. /**
  12. * @var ResumeOutwardRepository
  13. */
  14. protected $ResumeOutwardRepository;
  15. protected $ResumeRepository;
  16. protected $companyRepository;
  17. protected $memberLogRepository;
  18. /**
  19. * ResumeOutwardService constructor.
  20. * @param ResumeOutwardRepository $ResumeOutwardRepository
  21. * @param ResumeRepository $ResumeRepository
  22. */
  23. public function __construct(MemberLogRepository $memberLogRepository,ResumeOutwardRepository $ResumeOutwardRepository, ResumeRepository $ResumeRepository, CompanyRepository $companyRepository)
  24. {
  25. $this->ResumeOutwardRepository = $ResumeOutwardRepository;
  26. $this->ResumeRepository = $ResumeRepository;
  27. $this->companyRepository = $companyRepository;
  28. $this->memberLogRepository = $memberLogRepository;
  29. }
  30. public function addOutward($data)
  31. {
  32. $arr = [];
  33. $resume = $this->ResumeRepository->getArrayById($data['resume_id']);
  34. $arr['uid'] = auth('web-member')->user()->id;
  35. if($arr['uid'] != $resume['uid']) {
  36. throw new ResponseException("对不起,您只能发送自己的简历!");
  37. }
  38. $arr['resume_id'] = $resume['id'];
  39. $arr['resume_title'] = $resume['title'];
  40. $arr['jobs_name'] = $data['jobs_name'];
  41. $arr['companyname'] = $data['companyname'];
  42. $arr['email'] = $data['email'];
  43. if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2032,[$data['resume_id'],$arr['email']])){
  44. throw new ResponseException("日志记失败!");
  45. }
  46. return $this->ResumeOutwardRepository->addOutward($arr);
  47. }
  48. public function outwardCompany($key)
  49. {
  50. $where[] = ['audit','=',1];
  51. $where[] = [ 'companyname', 'like', '%'.$key.'%'];
  52. $lists = $this->companyRepository->getCompanyies($where);
  53. if ($lists->toArray()) {
  54. return array('key'=>$key,'list'=>$lists);
  55. }
  56. return false;
  57. }
  58. public function outwardList()
  59. {
  60. $resume = $this->ResumeRepository->getAllResume(auth('web-member')->user()->id);
  61. $data[] = ['uid','=',auth('web-member')->user()->id];
  62. if (request()->resume_id) {
  63. $data[] = ['resume_id','=',request()->resume_id];
  64. }
  65. if (request()->settr) {
  66. switch (request()->settr) {
  67. case '3':
  68. $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-3 day"))];
  69. break;
  70. case '7':
  71. $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-7 day"))];
  72. break;
  73. case '15':
  74. $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-15 day"))];
  75. break;
  76. case '30':
  77. $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-30 day"))];
  78. break;
  79. default:
  80. $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-3 day"))];
  81. break;
  82. }
  83. }
  84. $outward = $this->ResumeOutwardRepository->outwardList($data);
  85. return['resume'=>$resume,'outward'=>$outward];
  86. }
  87. public function outwardDel($id,$user)
  88. {
  89. if (empty($id)) {
  90. throw new ResponseException('简历不存在', '', '400');
  91. }
  92. $res = ResumeOutward::where(['uid'=>$user->id])->get()->toArray();
  93. $array_id = array_column($res,'id');
  94. $res_k = string_to_array(',',$id);
  95. foreach ($res_k as $key=>$val){
  96. if(!in_array($val,$array_id)){
  97. throw new ResponseException('简历不存在', '', '400');
  98. }
  99. }
  100. if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2033,$id)){
  101. throw new ResponseException("日志记失败!");
  102. }
  103. return $this->ResumeOutwardRepository->outwardDel(explode(',', $id));
  104. }
  105. }