Comjobs.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. <?php
  2. namespace app\mainapp\controller;
  3. use app\common\model\WorkerThird;
  4. use app\common\service\IntegralService;
  5. use app\mainapp\BaseController;
  6. use app\common\model\User as UserModel;
  7. use app\common\model\Comjobs as ComjobsModel;
  8. use app\common\model\ComjobsCate as ComjobsCateModel;
  9. use app\common\model\ComjobsLog as ComjobsLogModel;
  10. use app\common\model\ComjobsStar as ComjobsStarModel;
  11. use app\common\model\ComjobsShare as ComjobsShareModel;
  12. use app\common\model\WorkerLog as WorkerLogModel;
  13. use app\common\model\Worker as WorkerModel;
  14. use app\common\model\Broker as BrokerModel;
  15. use app\common\model\ComjobsReport as ComjobsReportModel;
  16. use app\common\model\UserParam as UserParamModel;
  17. use app\common\model\UserIntegral as UserIntegralModel;
  18. use app\common\model\UserFollow as UserFollowModel;
  19. use chuanglan\Chuanglan;
  20. use echowx\WxProgram;
  21. class Comjobs extends BaseController
  22. {
  23. // 报备信息
  24. public function setReport()
  25. {
  26. $comjobsid = input('comjobsid/d', 0);
  27. $comjobs = ComjobsModel::with('worker')->where('status', 'in', '3,4')->where('id', '=', $comjobsid)->findOrEmpty();
  28. if ($comjobs->isEmpty()) {
  29. page_result(1, "招聘信息不存在。");
  30. }
  31. $userid = input('userid/d', 0);
  32. $brokerall = BrokerModel::where('userid', '=', $userid)->where('status', '=', 1)->where('powerreport', '=', 1)->select();
  33. page_result(0, "", [
  34. 'comjobs' => $comjobs,
  35. 'brokerall' => $brokerall,
  36. 'arrivetime' => date("Y-m-d", strtotime("+1 day")),
  37. ]);
  38. }
  39. public function getUserList()
  40. {
  41. $ppage = input('ppage/d', 1);
  42. $psize = input('psize/d', 20);
  43. $map = [];
  44. $userid = input('userid/d', 0);
  45. $brokeridarr = BrokerModel::where('userid', '=', $userid)->column('id');
  46. if (empty($brokeridarr)) {
  47. page_result(1, "经纪人信息不存在。");
  48. }
  49. $map[] = ['brokerid', 'IN', $brokeridarr];
  50. $searchval = input('searchval/s', "");
  51. if (!empty($searchval)) {
  52. $map[] = ['nickname|realname|mobile', 'like', '%' . $searchval . '%'];
  53. }
  54. $plist = UserModel::where($map)->order(['id' => 'desc'])->page($ppage)->limit($psize)->select();
  55. page_result(0, "", [
  56. 'plist' => $plist,
  57. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more',
  58. ]);
  59. }
  60. public function disIdcard()
  61. {
  62. $picpath = input('picpath/s', "");
  63. $picpath = root_path() . "public" . $picpath;
  64. $idcard = aliyun_ocr_idcard($picpath);
  65. if ($idcard == false) {
  66. page_result(1, "身份证信息识别失败。");
  67. }
  68. page_result(0, "", [
  69. 'idcard' => $idcard,
  70. ]);
  71. }
  72. public function addReport()
  73. {
  74. $comjobsid = input('comjobsid/d', 0);
  75. $comjobs = ComjobsModel::where('id', '=', $comjobsid)->findOrEmpty();
  76. if ($comjobs->isEmpty()) {
  77. page_result(1, "招聘信息不存在。");
  78. }
  79. $brokerid = input('brokerid/d', 0);
  80. $broker = BrokerModel::where('id', '=', $brokerid)->findOrEmpty();
  81. if ($broker->isEmpty()) {
  82. page_result(1, "经纪人信息不存在。");
  83. }
  84. $data = [
  85. 'comjobsid' => $comjobsid,
  86. 'workerid' => $comjobs->workerid,
  87. 'agentid' => $broker->agentid,
  88. 'brokerid' => $brokerid,
  89. 'realname' => input('realname/s', ""),
  90. 'mobile' => input('mobile/s', ""),
  91. 'idcard' => input('idcard/s', ""),
  92. 'arrivetime' => input('arrivetime/s', ""),
  93. 'status' => 1,
  94. 'remark' => input('remark/s', ""),
  95. 'retremark' => "",
  96. 'createtime' => date("Y-m-d H:i:s"),
  97. ];
  98. ComjobsReportModel::create($data);
  99. page_result(0, "", []);
  100. }
  101. // 招聘总列表
  102. public function pageComjobs()
  103. {
  104. $searchval = trim(input('searchval/s', ""));
  105. $map = [];
  106. if (!empty($searchval)) {
  107. $map[] = ['title', 'like', '%' . $searchval . '%'];
  108. }
  109. $catelist = ComjobsCateModel::field('id as value, title, priority')->where($map)->order(['priority' => 'desc', 'id' => 'desc'])
  110. ->select()->toArray();
  111. array_unshift($catelist, ['value' => 0, 'title' => '全部']);
  112. $wtypelist = [['value' => 0, 'title' => '全部'], ['value' => 1, 'title' => '按月'], ['value' => 2, 'title' => '按时'], ['value' => 3, 'title' => '按件'], ['value' => 4, 'title' => '按项目'], ['value' => 5, 'title' => '其他']];
  113. $rectypelist = [['value' => 0, 'title' => '全部'], ['value' => 1, 'title' => '普通招聘'], ['value' => 2, 'title' => '悬赏聘']];
  114. page_result(0, "", [
  115. 'catelist' => $catelist,
  116. 'wtypelist' => $wtypelist,
  117. 'rectypelist' => $rectypelist,
  118. 'provincelist' => $this->provincelist,
  119. ]);
  120. }
  121. public function listComjobs()
  122. {
  123. $ppage = input('ppage/d', 1);
  124. $psize = input('psize/d', 20);
  125. $map = [];
  126. $map[] = ['createtime', '<=', time()];
  127. $map[] = ['status', 'in', '3,4'];
  128. $searchval = input('searchval/s', "");
  129. $whereor = [];
  130. if (!empty($searchval)) {
  131. $whereor[] = ['title', 'like', '%' . $searchval . '%'];
  132. $lmap = [];
  133. $lmap[] = ['title', 'like', '%' . $searchval . '%'];
  134. $worklike = WorkerModel::where($lmap)->select();
  135. $wkids = [];
  136. foreach ($worklike as $lk => $v) {
  137. $wkids[] = $v["id"];
  138. }
  139. $whereor[] = ['workerid', 'in', $wkids];
  140. }
  141. $cateid = input('cateid/s', "");
  142. if (!empty($cateid)) {
  143. $map[] = ['cateid', 'IN', $cateid];
  144. }
  145. $wtype = input('wtype/d', 0);
  146. if ($wtype != 0) {
  147. $map[] = ['wtype', '=', $wtype];
  148. }
  149. $rectype = input('rectype/d', 0);
  150. if ($rectype != 0) {
  151. $map[] = ['recruitment_cate', '=', $rectype];
  152. }
  153. $district = input('district/s', "");
  154. if (!empty($district)) {
  155. $map[] = ['district', '=', $district];
  156. }
  157. $community = input('community/s', "");
  158. if (!empty($community)) {
  159. $map[] = ['community', '=', $community];
  160. }
  161. $orderby = ['status' => 'asc', 'updatetime' => 'desc', 'id' => 'desc'];
  162. $plist = ComjobsModel::with(['worker'])->where($map)->where(function ($q) use ($whereor) {
  163. $q->whereOr($whereor);
  164. })->order($orderby)->page($ppage)->limit($psize)->select();
  165. //数据处理
  166. //第三方id
  167. $third_ids = [];
  168. $third_lists = [];
  169. foreach ($plist as $l) {
  170. if (!empty($l['third_id'])) {
  171. $third_ids[] = $l['third_id'];
  172. }
  173. }
  174. if (!empty($third_ids)) {
  175. $third_lists = WorkerThird::where('id', 'in', $third_ids)->column('*', 'id');
  176. }
  177. $plist = $plist->toArray();
  178. foreach ($plist as $k => $v) {
  179. if (!empty($v['third_id'])) {
  180. $plist[$k]['worker']['title'] = $third_lists[$v['third_id']]['name'];
  181. }
  182. }
  183. page_result(0, "", [
  184. 'plist' => $plist,
  185. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more',
  186. ]);
  187. }
  188. // 招聘详情
  189. public function getComjobs()
  190. {
  191. $comjobsid = input('comjobsid/d', 0);
  192. $comjobs = ComjobsModel::with('worker')->where('status', 'in', '3,4')->where('id', '=', $comjobsid)->findOrEmpty();
  193. if (!empty($comjobs['company_name'])) {
  194. $comjobs['worker']['title'] = $comjobs['company_name'];
  195. $comjobs['worker']['city'] = $comjobs['city'];
  196. $comjobs['worker']['district'] = $comjobs['district'];
  197. $comjobs['worker']['address'] = $comjobs['address'];
  198. }
  199. if ($comjobs->isEmpty()) {
  200. page_result(1, "招聘信息不存在。");
  201. }
  202. $comjobs->inc('volume', 1)->update();
  203. $comjobslist = ComjobsModel::with('worker')->where(['status' => 3, 'workerid' => $comjobs->workerid])->where('createtime', '<=', time())->order(['updatetime' => 'desc', 'createtime' => 'desc', 'id' => 'desc'])->limit(5)->select();
  204. $userid = input('userid/d', 0);
  205. $comjobsstar = ComjobsStarModel::where(['userid' => $userid, 'comjobsid' => $comjobsid])->count();
  206. $workerlog = WorkerLogModel::where(['workerid' => $comjobs->workerid, 'userid' => $userid])->whereDay('createtime')->findOrEmpty();
  207. $comjobsshare = ComjobsShareModel::where(['status' => 1])->order(['priority' => 'desc', 'id' => 'desc'])->select();
  208. if ($workerlog->isEmpty()) {
  209. WorkerLogModel::create([
  210. 'workerid' => $comjobs->workerid,
  211. 'userid' => $userid,
  212. 'ltotal' => 1,
  213. 'createtime' => date("Y-m-d"),
  214. ]);
  215. } else {
  216. $workerlog->inc('ltotal', 1)->update();
  217. }
  218. if ($userid == 0) {
  219. $brokertol = 0;
  220. } else {
  221. $brokertol = BrokerModel::where('userid', '=', $userid)->where('status', '=', 1)->where('powerreport', '=', 1)->count();
  222. }
  223. page_result(0, "", [
  224. 'comjobs' => $comjobs,
  225. 'comjobslist' => $comjobslist,
  226. 'comjobsstar' => $comjobsstar,
  227. 'comjobsshare' => $comjobsshare,
  228. 'brokertol' => $brokertol,
  229. ]);
  230. }
  231. // 招聘海报
  232. public function getComjobsImage()
  233. {
  234. $comjobsid = input('comjobsid/d', 0);
  235. $shareid = input('shareid/d', 0);
  236. $userid = input('userid/d', 0);
  237. $share = ComjobsShareModel::findOrEmpty($shareid);
  238. $user = UserModel::findOrEmpty($userid);
  239. $comjobs = ComjobsModel::findOrEmpty($comjobsid);
  240. if ($share->isEmpty() || $user->isEmpty() || $comjobs->isEmpty()) {
  241. page_result(1, "招聘、海报或用户信息不存在");
  242. }
  243. $filename = $comjobsid . "_" . $userid . "_post.jpg";
  244. $dst_comjobspic = root_path("public/attachment/comjobspic") . $filename;
  245. $url_comjobspic = request()->domain() . "/attachment/comjobspic/" . $filename;
  246. $wxprogram = new WxProgram();
  247. $comjobspic = $wxprogram->wxacode_get_unlimited($comjobsid . "&" . $userid, "pages/comjobs/detail", 430, "attachment/comjobspic/" . $comjobsid . "_" . $userid . ".jpg");
  248. image_copy_image($share->tilpic, $comjobspic, 500, 1270, 200, 200, $dst_comjobspic);
  249. image_copy_image($url_comjobspic, $user->avatar, 50, 1040, 90, 90, $dst_comjobspic);
  250. $font = root_path("public/static/images") . "msyh.ttf";
  251. $fnickname = subtext($user->nickname, 16);
  252. image_copy_text($dst_comjobspic, $fnickname, $font, 24, 0, 170, 1070, 0x00, 0x00, 0x00);
  253. $ftitle = subtext($comjobs->title, 20);
  254. image_copy_text($dst_comjobspic, $ftitle, $font, 20, 0, 60, 1200, 0x66, 0x66, 0x66);
  255. $texttil = "";
  256. if ($comjobs->wtype == 1) {
  257. $texttil .= $comjobs->bwagall . "~" . $comjobs->zwagall . "元/月";
  258. } elseif ($comjobs->wtype == 2) {
  259. $texttil .= $comjobs->bwagall . "元/日";
  260. } elseif ($comjobs->wtype == 3) {
  261. $texttil .= $comjobs->bwagall . "元/时";
  262. } elseif ($comjobs->wtype == 4) {
  263. $texttil .= "其他";
  264. }
  265. $texttil .= " | " . $comjobs->city . " | " . $comjobs->agegroup;
  266. $texttil = subtext($texttil, 35);
  267. image_copy_text($dst_comjobspic, $texttil, $font, 20, 0, 60, 1255, 0x66, 0x66, 0x66);
  268. page_result(0, "", [
  269. 'comjobspic' => $url_comjobspic,
  270. ]);
  271. }
  272. // public function getComjobsImage()
  273. // {
  274. // $comjobsid = input('comjobsid/d', 0);
  275. // $comjobs = ComjobsModel::where('status','in','3,4')->where('id','=',$comjobsid)->findOrEmpty()->toArray();
  276. // if (empty($comjobs)){
  277. // page_result(1, "招聘信息不存在。");
  278. // }
  279. // $userid = input('userid/d',0);
  280. // $user = UserModel::findOrEmpty($userid);
  281. // $filename = $comjobsid."_".$userid."_".md5(time()).".jpg";
  282. // $dst_comjobspic = root_path("public/attachment/comjobspic").$filename;
  283. // $url_comjobspic = request()->domain()."/attachment/comjobspic/".$filename;
  284. // $shareid = input('shareid/d',0);
  285. // $share = WorkerShareModel::findOrEmpty($shareid);
  286. // $bg_image = request()->domain() ."/static/images/comjobs_bg.jpg";
  287. // image_copy_image($bg_image, $user->avatar, 55,170,640,320,$dst_comjobspic);
  288. // $scene = $comjobsid."&".$userid;
  289. // $wxprogram = new WxProgram();
  290. // $comjobscode = $wxprogram->wxacode_get_unlimited($scene, "pages/comjobs/detail", 430, "attachment/comjobspic/".md5(time()).".jpg");
  291. // image_copy_image($url_comjobspic, $comjobscode, 285,940,180,180,$dst_comjobspic);
  292. // $font = root_path("public/static/images")."msyh.ttf";
  293. // $title = subtext($comjobs['title'], 12);
  294. // image_copy_text($dst_comjobspic, $title, $font, 32, 750, 580, 0x2c, 0xac, 0x3f);
  295. // $tags = @implode(" ", $comjobs['tags']);
  296. // $tags = subtext($tags, 12);
  297. // image_copy_text($dst_comjobspic, $tags, $font, 24, 740, 650, 0x03, 0x32, 0xa4);
  298. // if ($comjobs['wtype']==1){
  299. // $wagall = '薪资待遇:'. $comjobs['bwagall'].'-'.$comjobs['zwagall'].'元/月';
  300. // }elseif ($comjobs['wtype']==2){
  301. // $wagall = '薪资待遇:'. $comjobs['bwagall'].'元/日';
  302. // }elseif ($comjobs['wtype']==3){
  303. // $wagall = '薪资待遇:'. $comjobs['bwagall'].'元/时';
  304. // }elseif ($comjobs['wtype']==4){
  305. // $wagall = '薪资待遇:其他';
  306. // }
  307. // image_copy_text($dst_comjobspic, $wagall, $font, 24, 750, 710, 0x03, 0x32, 0xa4);
  308. // image_copy_text($dst_comjobspic, config('wxconfig.appName'), $font, 36, 750, 90, 0xff, 0xff, 0xff);
  309. // page_result(0, "", array(
  310. // 'comjobspic' => $url_comjobspic
  311. // ));
  312. // }
  313. // 招聘海报
  314. public function getComjobsCode()
  315. {
  316. $comjobsid = input('comjobsid/d', 0);
  317. $comjobs = ComjobsModel::where('status', 'in', '3,4')->where('id', '=', $comjobsid)->findOrEmpty()->toArray();
  318. if (empty($comjobs)) {
  319. page_result(1, "招聘信息不存在。");
  320. }
  321. $userid = input('userid/d', 0);
  322. $user = UserModel::findOrEmpty($userid);
  323. $filename = $comjobsid . "_" . $userid . "_" . md5(time()) . ".jpg";
  324. $dst_comjobspic = root_path("public/attachment/comjobspic") . $filename;
  325. $url_comjobspic = request()->domain() . "/attachment/comjobspic/" . $filename;
  326. $bg_image = request()->domain() . "/static/images/comjobs_bg.jpg";
  327. image_copy_image($bg_image, $user->avatar, 55, 170, 640, 320, $dst_comjobspic);
  328. $scene = $comjobsid . "&" . $userid;
  329. $wxprogram = new WxProgram();
  330. $comjobscode = $wxprogram->wxacode_get_unlimited($scene, "pages/comjobs/detail", 430, "attachment/comjobspic/" . md5(time()) . ".jpg");
  331. image_copy_image($url_comjobspic, $comjobscode, 285, 940, 180, 180, $dst_comjobspic);
  332. $font = root_path("public/static/images") . "msyh.ttf";
  333. $title = subtext($comjobs['title'], 12);
  334. image_copy_text($dst_comjobspic, $title, $font, 32, 750, 580, 0x2c, 0xac, 0x3f, 0x00);
  335. $tags = @implode(" ", $comjobs['tags']);
  336. $tags = subtext($tags, 12);
  337. image_copy_text($dst_comjobspic, $tags, $font, 24, 740, 650, 0x03, 0x32, 0xa4, 0x00);
  338. if ($comjobs['wtype'] == 1) {
  339. $wagall = '薪资待遇:' . $comjobs['bwagall'] . '-' . $comjobs['zwagall'] . '元/月';
  340. } elseif ($comjobs['wtype'] == 2) {
  341. $wagall = '薪资待遇:' . $comjobs['bwagall'] . '元/日';
  342. } elseif ($comjobs['wtype'] == 3) {
  343. $wagall = '薪资待遇:' . $comjobs['bwagall'] . '元/时';
  344. } elseif ($comjobs['wtype'] == 4) {
  345. $wagall = '薪资待遇:其他';
  346. }
  347. image_copy_text($dst_comjobspic, $wagall, $font, 24, 750, 710, 0x03, 0x32, 0xa4, 0x00);
  348. image_copy_text($dst_comjobspic, config('wxconfig.appName'), $font, 36, 750, 90, 0xff, 0xff, 0xff, 0x00);
  349. page_result(0, "", [
  350. 'comjobspic' => $url_comjobspic,
  351. ]);
  352. }
  353. // 关注招聘信息
  354. public function delStar()
  355. {
  356. $starid = input('starid/d', 0);
  357. $userid = input('userid/d', 0);
  358. $star = ComjobsStarModel::where(['id' => $starid, 'userid' => $userid])->findOrEmpty();
  359. if ($star->isEmpty()) {
  360. page_result(1, "关注信息不存在或已被删除。");
  361. }
  362. $star->delete();
  363. page_result(0, "", []);
  364. }
  365. public function setComjobsStar()
  366. {
  367. $comjobsid = input('comjobsid/d', 0);
  368. $comjobs = ComjobsModel::findOrEmpty($comjobsid);
  369. if ($comjobs->isEmpty()) {
  370. page_result(1, "招聘信息不存在");
  371. }
  372. $userid = input('userid/d', 0);
  373. $user = UserModel::findOrEmpty($userid);
  374. if ($user->isEmpty()) {
  375. page_result(1, "用户信息不存在");
  376. }
  377. $star = ComjobsStarModel::where(['userid' => $userid, 'comjobsid' => $comjobsid])->findOrEmpty();
  378. if ($star->isEmpty()) {
  379. $star->save([
  380. 'comjobsid' => $comjobsid,
  381. 'userid' => $userid,
  382. 'createtime' => time(),
  383. ]);
  384. page_result(0, "", ['comjobsstar' => 1]);
  385. } else {
  386. $star->delete();
  387. page_result(0, "", ['comjobsstar' => 0]);
  388. }
  389. }
  390. public function listStar()
  391. {
  392. $ppage = input('ppage/d', 1);
  393. $psize = input('psize/d', 20);
  394. $userid = input('userid/d', 0);
  395. $map[] = ['userid', '=', $userid];
  396. $plist = ComjobsStarModel::with(['comjobs.worker'])->where($map)->order(['createtime' => 'desc', 'id' => 'desc'])->page($ppage)->limit($psize)->select();
  397. page_result(0, "", [
  398. 'plist' => $plist,
  399. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more',
  400. ]);
  401. }
  402. // 报名招聘信息
  403. public function delLog()
  404. {
  405. $logid = input('logid/d', 0);
  406. $userid = input('userid/d', 0);
  407. $log = ComjobsLogModel::where(['id' => $logid, 'userid' => $userid])->findOrEmpty();
  408. if ($log->isEmpty()) {
  409. page_result(1, "报名记录信息不存在或已被删除。");
  410. }
  411. $log->delete();
  412. page_result(0, "", []);
  413. }
  414. public function listLog()
  415. {
  416. $ppage = input('ppage/d', 1);
  417. $psize = input('psize/d', 20);
  418. $userid = input('userid/d', 0);
  419. $map[] = ['userid', '=', $userid];
  420. $plist = ComjobsLogModel::with(['comjobs.worker'])->where($map)->order(['createtime' => 'desc', 'id' => 'desc'])->page($ppage)->limit($psize)->append(['status_text'])->select();
  421. page_result(0, "", [
  422. 'plist' => $plist,
  423. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more',
  424. ]);
  425. }
  426. public function setComjobsLog()
  427. {
  428. $comjobsid = input('comjobsid/d', 0);
  429. $comjobs = ComjobsModel::findOrEmpty($comjobsid);
  430. if ($comjobs->isEmpty()) {
  431. page_result(1, "招聘信息不存在");
  432. }
  433. if (strtotime($comjobs->enddate) + 86400 < time()) {
  434. page_result(1, "该招聘信息报名已截止,不能再报名了。");
  435. }
  436. $userid = input('userid/d', 0);
  437. $user = UserModel::findOrEmpty($userid);
  438. if ($user->isEmpty()) {
  439. page_result(1, "用户信息不存在");
  440. }
  441. $log = ComjobsLogModel::where(['comjobsid' => $comjobsid, 'userid' => $userid])->findOrEmpty();
  442. $worker = WorkerModel::where('id', $comjobs->workerid)->field(['id', 'is_public', 'mobile'])->find();
  443. $return = ['is_public' => $worker['is_public']];
  444. if ($worker['is_public'] == 1) {
  445. $return['mobile'] = $comjobs['telephone'];
  446. }
  447. if ($log->isEmpty()) {
  448. $log->save([
  449. 'workerid' => $comjobs->workerid,
  450. 'comjobsid' => $comjobsid,
  451. 'userid' => $userid,
  452. 'status' => 1,
  453. 'remark' => "",
  454. 'createtime' => time(),
  455. ]);
  456. UserFollowModel::create([
  457. 'userid' => $userid,
  458. 'ftype' => "招聘报名",
  459. 'fstatus' => 1,
  460. 'remark' => $comjobs->title,
  461. 'createtime' => time(),
  462. ]);
  463. if ($worker['mobile']) {
  464. $msg = '尊敬的雇主您好!已有候选人在“晋江人力”小程序上投递简历应聘您发布的岗位,请您及时查看处理!';
  465. $mobile = $worker['mobile'];
  466. $sms = new Chuanglan();
  467. $sms->send($mobile, ['message' => $msg]);
  468. }
  469. $return['msg'] = '恭喜您,报名成功,我们会尽快给您安排面试上班!!!。';
  470. page_result(0, "", $return);
  471. } else {
  472. $return['msg'] = '你已报名过了,无需重复报名。';
  473. page_result(0, "", $return);
  474. }
  475. }
  476. public function shareComjobs()
  477. {
  478. $userid = input('userid/d', 0);
  479. $param = UserParamModel::where(1)->findOrEmpty();
  480. if (!empty($param['sharejobnum'])) {
  481. $check = UserIntegralModel::where('createtime','>=',strtotime(date('Y-m-d')))
  482. ->where('createtime','<=',strtotime(date('Y-m-d 23:59:59')))
  483. ->where('userid',$userid)
  484. ->where('itype',10)
  485. ->count();
  486. if ($check >= $param['sharejobnum']) {
  487. page_result(0, "已超过次数");
  488. }
  489. }
  490. $integralService = new IntegralService();
  491. $integralService->add($userid,IntegralService::SHAREJOB,10);
  492. page_result(0, "分享成功");
  493. }
  494. }