RecruitService.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Wechat\Official\Service;
  3. use Illuminate\Support\Facades\Cache;
  4. use App\Models\Recruit;
  5. use App\Models\Article;
  6. class RecruitService implements ServiceInterface
  7. {
  8. public function handle(array $wechatUser, $user, array $payload, $data = null)
  9. {
  10. if(!$user){
  11. $url = route('mobile.auth.thirdlogin.official');
  12. $siteName=config('aix.system.site.site.site_name');
  13. return <<<EOT
  14. 您尚未绑定聚才网账号,暂时无法使用报名功能!
  15. 绑定您的聚才网帐号,报名更加方便,并实时接收提醒通知。<a href='{$url}'>点此立即绑定</a>
  16. EOT;
  17. } else {
  18. switch ($data['action']){
  19. case 'init':
  20. $data['action'] = 'main';
  21. Cache::put($payload['FromUserName'],$data,3);
  22. return <<<EOT
  23. 欢迎使用自助报名系统!
  24. 请回复以下序号使用对应服务:
  25. [0]查询当前招考列表
  26. [1]新增/更新个人基础信息
  27. [2]查询个人历史报名
  28. [q]退出自助报名系统
  29. EOT;
  30. break;
  31. case 'main'://进行action='init'的主菜单序号选择
  32. switch ($payload['Content']){
  33. case '0':
  34. //$list = Recruit::where('status',1)->where('current',1)->where('apply_start', '<=', date('Y-m-d H:i:s',time()))->where('apply_end', '>', date('Y-m-d H:i:s',time()))->paginate(5);
  35. $list = Article::paginate(5);
  36. $str = "当前共有{$list->total()}场可供报名的招考\n";
  37. foreach ($list as $k => $v){
  38. $str .= "[{$k}]{$v->title}\n";
  39. }
  40. return $str;
  41. break;
  42. case '1':
  43. return '进入个人基础信息模块';
  44. break;
  45. case '2':
  46. return '进入查询个人历史报名数据';
  47. break;
  48. case 'q':
  49. Cache::forget($payload['FromUserName']);
  50. return '已退出自助报名系统,谢谢您的使用!';
  51. break;
  52. }
  53. break;
  54. }
  55. }
  56. }
  57. }