Resident.php 3.9 KB

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