Partjob.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace app\mainapp\controller;
  3. use think\facade\Session;
  4. use app\mainapp\BaseController;
  5. use app\common\model\User as UserModel;
  6. use app\common\model\Partjob as PartjobModel;
  7. use app\common\model\PartjobLog as PartjobLogModel;
  8. class Partjob extends BaseController
  9. {
  10. // 报名取消
  11. public function delLog()
  12. {
  13. $logid = input('logid/d', 0);
  14. $userid = input('userid/d', 0);
  15. $log = PartjobLogModel::where(['id'=>$logid, 'userid'=>$userid])->findOrEmpty();
  16. if ($log->isEmpty()){
  17. page_result(1, "报名记录信息不存在或已被删除。");
  18. }
  19. $log->delete();
  20. page_result(0, "", array());
  21. }
  22. // 报名列表
  23. public function listLog()
  24. {
  25. $ppage = input('ppage/d', 1);
  26. $psize = input('psize/d', 20);
  27. $userid = input('userid/d', 0);
  28. $map[] = ['userid','=',$userid];
  29. $plist = PartjobLogModel::with(['partjob'])->where($map)->order(['createtime'=>'desc','id'=>'desc'])->page($ppage)->limit($psize)->select();
  30. page_result(0, "", array(
  31. 'plist' => $plist,
  32. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more'
  33. ));
  34. }
  35. // 报名兼职
  36. public function setPartjobLog()
  37. {
  38. $partjobid = input('partjobid/d', 0);
  39. $partjob = PartjobModel::findOrEmpty($partjobid);
  40. if ($partjob->isEmpty()){
  41. page_result(1, "兼职信息不存在");
  42. }
  43. if ( strtotime($partjob->endtime) < time() ){
  44. page_result(1, "该招聘信息报名已截止,不能再报名了。");
  45. }
  46. $userid = input('userid/d', 0);
  47. $user = UserModel::findOrEmpty($userid);
  48. if ($user->isEmpty()){
  49. page_result(1, "用户信息不存在");
  50. }
  51. $log = PartjobLogModel::where(['partjobid'=>$partjobid, 'userid'=>$userid])->findOrEmpty();
  52. if ($log->isEmpty()){
  53. $log->save([
  54. 'agentid' => $partjob->agentid,
  55. 'partjobid' => $partjobid,
  56. 'userid' => $userid,
  57. 'remark' => "",
  58. 'createtime' => time()
  59. ]);
  60. page_result(0, "", array());
  61. }else{
  62. page_result(1, "你已报名过了,无需重复报名。");
  63. }
  64. }
  65. // 兼职详情
  66. public function getPartjob()
  67. {
  68. $partjobid = input('partjobid/d', 0);
  69. $partjob = PartjobModel::findOrEmpty($partjobid);
  70. if ($partjob->isEmpty()){
  71. page_result(1, "兼职信息不存在");
  72. }
  73. $partjoblist = PartjobModel::where([['status','=',1],['createtime','<=',time()]])->order(['priority'=>'desc','id'=>'desc'])->limit(5)->select();
  74. page_result(0, "", array(
  75. 'partjob' => $partjob,
  76. 'partjoblist' => $partjoblist
  77. ));
  78. }
  79. // 兼职列表
  80. public function listPartjob()
  81. {
  82. PartjobModel::where('endtime', '<', time())->update(['status' => 2]);
  83. $ppage = input('ppage/d', 1);
  84. $psize = input('psize/d', 20);
  85. $map[] = ['createtime','<=',time()];
  86. $plist = PartjobModel::withCount(['partjobLog'])->where($map)->order(['status'=>'asc','priority'=>'desc','id'=>'desc'])->page($ppage)->limit($psize)->select();
  87. page_result(0, "", array(
  88. 'plist' => $plist,
  89. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more'
  90. ));
  91. }
  92. }