Job.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 招募
  7. */
  8. namespace app\green\controller\api\v1;
  9. use app\common\controller\Api;
  10. use app\green\model\GreenJob;
  11. use app\green\model\GreenNews;
  12. use app\green\model\GreenRecruit;
  13. class Job extends Api {
  14. /**
  15. * 招募列表
  16. */
  17. public function index(){
  18. $param['sign'] = $this->request->param('sign');
  19. $rel = $this->apiSign($param);
  20. if($rel['code'] != 200){
  21. return enjson(500,'签名验证失败');
  22. }
  23. $info = GreenRecruit::where(['member_miniapp_id' => $this->miniapp_id])->order('sort desc')->select();
  24. if(empty($info)){
  25. return enjson(204,'empty');
  26. }else{
  27. return enjson(200,'success', $info);
  28. }
  29. }
  30. /**
  31. * 招募详情
  32. */
  33. public function detail(){
  34. $param['news_id'] = $this->request->param('news_id');
  35. $param['sign'] = $this->request->param('sign');
  36. $rel = $this->apiSign($param);
  37. if ($rel['code'] != 200) {
  38. return enjson(500, '签名验证失败');
  39. }
  40. $info = GreenNews::where(['member_miniapp_id' => $this->miniapp_id, 'id' => $param['news_id']])->find();
  41. if (empty($info)) {
  42. return enjson(204, 'empty');
  43. } else {
  44. return enjson(200, 'success', $info);
  45. }
  46. }
  47. /**
  48. * @return \think\response\Json
  49. * 申请加入
  50. */
  51. public function add(){
  52. $this->isUserAuth();
  53. $param['name'] = $this->request->param('name/s', '');
  54. $param['city'] = $this->request->param('city/s', '');
  55. $param['occupation'] = $this->request->param('occupation/s', '');
  56. $param['card'] = $this->request->param('card/s', '');
  57. $param['front'] = $this->request->param('front/s', '');
  58. $param['back'] = $this->request->param('back/s', '');
  59. $param['signkey'] = $this->request->param('signkey');
  60. $param['sign'] = $this->request->param('sign');
  61. $param['uid'] = $this->user->id;
  62. $rel = $this->apiSign($param);
  63. if($rel['code'] != 200){
  64. return enjson($rel['code'],'签名验证失败');
  65. }
  66. $validate = $this->validate($param,'Job.edit');
  67. if(true !== $validate){
  68. return enjson(0,$validate);
  69. }
  70. $info = GreenJob::create(['member_miniapp_id' => $this->miniapp_id,'uid' => $param['uid'],'name' => $param['name'],
  71. 'city' => $param['city'], 'occupation' => $param['occupation'], 'card' => $param['card'], 'front' => $param['front'], 'back' => $param['back'], 'create_time' => time()]);
  72. if($info){
  73. return enjson(200,'成功',$info);
  74. }else{
  75. return enjson(0,'失败');
  76. }
  77. }
  78. }