Resident.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace app\mainapp\controller;
  3. use app\common\service\IncomeService;
  4. use app\mainapp\BaseController;
  5. use \app\common\model\Resident as ResidentModel;
  6. use \app\common\model\ComjobsReport as ComjobsReportModel;
  7. use \app\common\model\Broker as BrokerModel;
  8. use \app\common\model\ResidentLog as ResidentLogModel;
  9. class Resident extends BaseController
  10. {
  11. public function comjobsReport()
  12. {
  13. $ppage = input('ppage/d', 1);
  14. $psize = input('psize/d', 20);
  15. $map = [];
  16. $residentid = input('residentid/d', 0);
  17. $resident = ResidentModel::find($residentid);
  18. if (empty($resident)) {
  19. page_result(1,'没有权限查看');
  20. }
  21. $brokerIds = BrokerModel::where('workerid',$resident['workerid'])->column('id');
  22. if (empty($brokerIds)) {
  23. page_result(0, "", [
  24. 'plist' => [],
  25. 'pstatus' => 'noMore',
  26. ]);
  27. }
  28. $map[] = ['brokerid','in',$brokerIds];
  29. $plist = ComjobsReportModel::with(['comjobs', 'broker'])->where($map)->order(['createtime' => 'desc', 'id' => 'desc'])->page($ppage)->limit($psize)->append(['status_text'])->select();
  30. page_result(0, "", [
  31. 'plist' => $plist,
  32. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more',
  33. ]);
  34. }
  35. public function comjobsSetReportStatus()
  36. {
  37. $residentid = input('residentid/d', 0);
  38. $id = input('id/d', 0);
  39. $report = ComjobsReportModel::with(['comjobs', 'broker'])->where(['id' => $id])->append(['status_text'])->findOrEmpty();
  40. if ($report->isEmpty()) {
  41. page_result(1, "报备信息不存在。");
  42. }
  43. //悬赏金
  44. $status = input('status/d', 1);
  45. if ($status['status'] <= $report['status']) {
  46. page_result(1, "状态只能往后选。");
  47. }
  48. if ($status == 3) {
  49. $incomeService = new IncomeService();
  50. $incomeService->add($report['brokerid'], $report['comjobs']['retmoney'], '悬赏金', '悬赏招聘推荐入职成功后返佣金额');
  51. }
  52. //更改状态
  53. $retremark = $status == 4 ? input('retremark/s', "") : "";
  54. $report->save([
  55. 'status' => $status,
  56. 'retremark' => $retremark,
  57. ]);
  58. //增加操作记录
  59. $status_text = [1=>'待审核', 2=>'待面试', 3=>'已入职', 4=>'无效报备'];
  60. ResidentLogModel::create([
  61. 'workerid' => $report['workerid'],
  62. 'residentid' => $residentid,
  63. 'content' => "修改状态为“{$status_text[$status]}”,报备id为{$id}",
  64. 'createtime' => time(),
  65. ]);
  66. page_result(0, "", [
  67. 'report' => $report,
  68. ]);
  69. }
  70. public function listDemand()
  71. {
  72. $status = input('status/d', 1);
  73. $ppage = input('ppage/d', 1);
  74. $psize = input('psize/d', 20);
  75. $map = [];
  76. $residentid = input('residentid/d', 0);
  77. $resident = ResidentModel::find($residentid);
  78. if (empty($resident)) {
  79. page_result(1,'没有权限查看');
  80. }
  81. $brokerIds = BrokerModel::where('workerid',$resident['workerid'])->column('id');
  82. if (empty($brokerIds)) {
  83. page_result(0, "", [
  84. 'plist' => [],
  85. 'pstatus' => 'noMore',
  86. ]);
  87. }
  88. $map[] = ['brokerid','in',$brokerIds];
  89. if (!empty($status)) {
  90. $map[] = ['status', '=', $status];
  91. }
  92. $orderby = ['updatetime' => 'desc', 'createtime' => 'desc', 'id' => 'desc'];
  93. $plist = DemandModel::with(['demandCate'])->where($map)->order($orderby)->page($ppage)->limit($psize)->append(['ftype_text'])->select();
  94. $param = ParamModel::where(1)->findOrEmpty();
  95. page_result(0, "", [
  96. 'param' => $param,
  97. 'plist' => $plist,
  98. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more',
  99. ]);
  100. }
  101. }