NewsController.php 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use App\JsonRpc\NewsServiceInterface;
  5. use App\Tools\PublicData;
  6. use Hyperf\Di\Annotation\Inject;
  7. use Hyperf\HttpServer\Annotation\AutoController;
  8. use App\Tools\Result;
  9. use Hyperf\Validation\Contract\ValidatorFactoryInterface;
  10. use Hyperf\Context\Context;
  11. use App\JsonRpc\UserServiceInterface;
  12. use App\JsonRpc\WebsiteServiceInterface;
  13. use Laminas\Mime\Decode;
  14. /**
  15. * Class NewsController
  16. * @package App\Controller
  17. */
  18. //#[AutoController]
  19. class NewsController extends AbstractController
  20. {
  21. #[Inject]
  22. protected ValidatorFactoryInterface $validationFactory;
  23. /**
  24. * @var NewsServiceInterface
  25. */
  26. #[Inject]
  27. private $newsServiceClient;
  28. /**
  29. * @var UserServiceInterface
  30. */
  31. #[Inject]
  32. private $userServiceClient;
  33. /**
  34. * @var WebsiteServiceInterface
  35. */
  36. #[Inject]
  37. private $WebsiteServiceClient;
  38. /**
  39. * 导航池列表
  40. * @return void
  41. */
  42. public function getCategoryList()
  43. {
  44. $requireData = $this->request->all();
  45. $validator = $this->validationFactory->make(
  46. $requireData,
  47. [
  48. 'page'=> 'required',
  49. 'pageSize'=> 'required',
  50. ],
  51. [
  52. 'page.required' => '第几页不能为空',
  53. 'pageSize.required' => '每页显示条数不能为空',
  54. ]
  55. );
  56. if ($validator->fails()) {
  57. $errorMessage = $validator->errors()->first();
  58. return Result::error($errorMessage);
  59. }
  60. //获取用户信息
  61. // $user_id = Context::get("UserId");
  62. // $userInfo = $this->userServiceClient->getUserInfo((int)$user_id);
  63. // var_dump("用户信息:",$userInfo);
  64. // $sszq = $userInfo['data']['sszq'];
  65. // $type_id = $userInfo['data']['type_id']; //'1:个人会员 2:政务会员 3:企业会员 4:调研员 10000:管理员 20000:游客(小程序)'
  66. $result = $this->newsServiceClient->getCategoryList($requireData);
  67. if($result['data']){
  68. foreach ($result['data']['rows'] as $k=>$v) {
  69. $result['data']['rows'][$k]['pid_arr'] = $v['pid_arr']?json_decode($v['pid_arr']):[0];
  70. }
  71. }
  72. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  73. }
  74. /**
  75. * 站点下的导航池
  76. * @return void
  77. */
  78. public function categoryList()
  79. {
  80. $requireData = $this->request->all();
  81. $validator = $this->validationFactory->make(
  82. $requireData,
  83. [
  84. 'pid'=> 'required'
  85. ],
  86. [
  87. 'pid.required' => '父级ID不能为空'
  88. ]
  89. );
  90. if ($validator->fails()) {
  91. $errorMessage = $validator->errors()->first();
  92. return Result::error($errorMessage);
  93. }
  94. $requireData['website_id'] = Context::get("SiteId");
  95. //获取用户信息
  96. $user_id = Context::get("UserId");
  97. $userInfo = $this->userServiceClient->getUserInfo((int)$user_id);
  98. var_dump("用户信息:",$userInfo);
  99. $sszq = $userInfo['data']['sszq'];
  100. $type_id = $userInfo['data']['type_id']; //'1:个人会员 2:政务会员 3:企业会员 4:调研员 10000:管理员 20000:游客(小程序)'
  101. //管理员看所有
  102. if($type_id == 10000){
  103. $result = $this->newsServiceClient->categoryList($requireData);
  104. } else {
  105. $requireData['sszq'] = $sszq;
  106. $result = $this->newsServiceClient->myCategoryList($requireData);
  107. }
  108. // $rep = PublicData::buildMenuTree($result['data']);
  109. return $result ? Result::success($result['data']) : Result::error($result['message']);
  110. }
  111. /**
  112. * 添加导航
  113. * @return array|void
  114. */
  115. public function addCategory()
  116. {
  117. $requireData = $this->request->all();
  118. $validator = $this->validationFactory->make(
  119. $requireData,
  120. [
  121. 'name'=> 'required',
  122. 'seo_title'=> 'required',
  123. 'seo_keywords'=> 'required',
  124. 'seo_description'=> 'required',
  125. ],
  126. [
  127. 'name.required' => '导航池名称不能为空',
  128. 'seo_title.required' => 'seo标题名称不能为空',
  129. 'seo_keywords.required' => 'seo关键词不能为空',
  130. 'seo_description.required' => 'seo描述不能为空',
  131. ]
  132. );
  133. if ($validator->fails()) {
  134. $errorMessage = $validator->errors()->first();
  135. return Result::error($errorMessage);
  136. }
  137. $requireData['pid'] = isset($requireData['pid_arr'])?end($requireData['pid_arr']):'';
  138. $requireData['pid_arr'] = isset($requireData['pid_arr'])?json_encode($requireData['pid_arr']):'';
  139. $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):'';
  140. $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):'';
  141. $requireData['department_id'] = isset($requireData['department_arr_id'])?end($requireData['department_arr_id']):'';
  142. $requireData['department_arr_id'] = isset($requireData['department_arr_id'])?json_encode($requireData['department_arr_id']):'';
  143. $result = $this->newsServiceClient->addCategory($requireData);
  144. return $result ? Result::success($result['data']) : Result::error($result['message']);
  145. }
  146. /**
  147. * 更新导航池
  148. * @return array
  149. */
  150. public function updateCategory()
  151. {
  152. $requireData = $this->request->all();
  153. $validator = $this->validationFactory->make(
  154. $requireData,
  155. [
  156. 'id'=>'required',
  157. 'name'=> 'required',
  158. 'seo_title'=> 'required',
  159. 'seo_keywords'=> 'required',
  160. 'seo_description'=> 'required',
  161. ],
  162. [
  163. 'id.required' =>'ID不能为空',
  164. 'name.required' => '栏目池名称不能为空',
  165. 'seo_title.required' => 'seo标题名称不能为空',
  166. 'seo_keywords.required' => 'seo关键词不能为空',
  167. 'seo_description.required' => 'seo描述不能为空',
  168. ]
  169. );
  170. if ($validator->fails()) {
  171. $errorMessage = $validator->errors()->first();
  172. return Result::error($errorMessage);
  173. }
  174. $requireData['pid'] = isset($requireData['pid_arr'])?end($requireData['pid_arr']):'';
  175. $requireData['pid_arr'] = isset($requireData['pid_arr'])?json_encode($requireData['pid_arr']):'';
  176. $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):'';
  177. $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):'';
  178. $requireData['department_id'] = isset($requireData['department_arr_id'])?end($requireData['department_arr_id']):'';
  179. $requireData['department_arr_id'] = isset($requireData['department_arr_id'])?json_encode($requireData['department_arr_id']):'';
  180. $result = $this->newsServiceClient->updateCategory($requireData);
  181. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  182. }
  183. /**
  184. * 删除分类
  185. * @return array
  186. */
  187. public function delCategory()
  188. {
  189. $requireData = $this->request->all();
  190. $validator = $this->validationFactory->make(
  191. $requireData,
  192. [
  193. 'id'=> 'required',
  194. ],
  195. [
  196. 'id.required' => 'id不能为空',
  197. ]
  198. );
  199. if ($validator->fails()) {
  200. $errorMessage = $validator->errors()->first();
  201. return Result::error($errorMessage);
  202. }
  203. $result = $this->newsServiceClient->delCategory($requireData);
  204. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  205. }
  206. /**
  207. * 资讯列表
  208. * @return void
  209. */
  210. public function getArticleList()
  211. {
  212. $requireData = $this->request->all();
  213. $validator = $this->validationFactory->make(
  214. $requireData,
  215. [
  216. 'page'=> 'required',
  217. 'pageSize'=> 'required',
  218. ],
  219. [
  220. 'page.required' => 'id不能为空',
  221. 'pageSize.required' => 'id不能为空',
  222. ]
  223. );
  224. if ($validator->fails()) {
  225. $errorMessage = $validator->errors()->first();
  226. return Result::error($errorMessage);
  227. }
  228. $requireData['website_id'] = Context::get("SiteId");
  229. //获取用户信息
  230. $user_id = Context::get("UserId");
  231. $userInfo = $this->userServiceClient->getUserInfo((int)$user_id);
  232. var_dump("用户信息:",$userInfo);
  233. $sszq = $userInfo['data']['sszq'];
  234. //获取websiteid
  235. // $groupInfo = $this->WebsiteServiceClient->getWebsiteGroupInfo(['id' => $sszq]);
  236. // var_dump("groupInfo:",$groupInfo);
  237. // $sszqstr = implode(',',json_decode($groupInfo['data']['web_ids']));
  238. $type_id = $userInfo['data']['type_id']; //'1:个人会员 2:政务会员 3:企业会员 4:调研员 10000:管理员 20000:游客(小程序)'
  239. $requireData['type_id'] = $type_id;
  240. $requireData['user_id'] = $user_id;
  241. var_dump("资讯:",$requireData);
  242. $result = $this->newsServiceClient->getArticleList($requireData);
  243. //1通过,2待审核,3待发 4,拒绝 5删除
  244. $statusList = [
  245. '0'=>'待审核',
  246. '1'=>'已发布',
  247. '2'=>'待审核',
  248. '3'=>'待发',
  249. '4'=>'拒绝',
  250. '5'=>'删除',
  251. ];
  252. if($result['data']){
  253. foreach ($result['data']['rows'] as $k=>$v) {
  254. $result['data']['rows'][$k]['cat_arr_id'] = $v['cat_arr_id']?json_decode($v['cat_arr_id']):[0];
  255. $result['data']['rows'][$k]['tag'] = $v['tag']?json_decode($v['tag']):[];
  256. $result['data']['rows'][$k]['status_name'] = $statusList[$v['status']];
  257. $result['data']['rows'][$k]['level'] = (string)$v['level'];
  258. $result['data']['rows'][$k]['islink'] = isset($v['islink']) && $v['islink']>0?true:false;
  259. }
  260. }
  261. // $result = $this->newsServiceClient->getArticleList($requireData);
  262. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  263. }
  264. /**
  265. * 获取导航池信息
  266. * @return void
  267. */
  268. public function getCategoryInfo()
  269. {
  270. $requireData = $this->request->all();
  271. $validator = $this->validationFactory->make(
  272. $requireData,
  273. [
  274. 'id'=> 'required',
  275. ],
  276. [
  277. 'id.required' => 'id不能为空',
  278. ]
  279. );
  280. if ($validator->fails()) {
  281. $errorMessage = $validator->errors()->first();
  282. return Result::error($errorMessage);
  283. }
  284. $result = $this->newsServiceClient->getCategoryInfo($requireData);
  285. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  286. }
  287. /**
  288. * 添加分类
  289. * @return array|void
  290. */
  291. public function addArticle()
  292. {
  293. // $a = ['asdlk1', '2342345234', [1, '222222222222']];
  294. // var_dump(json_encode($a));
  295. // return '222';
  296. $requireData = $this->request->all();
  297. $validator = $this->validationFactory->make(
  298. $requireData,
  299. [
  300. 'title'=> 'required',
  301. 'cat_arr_id'=> 'required',
  302. 'author'=> 'required',
  303. ],
  304. [
  305. 'title.required' => '标题不能为空',
  306. 'cat_arr_id.required' => '导航池ID不能为空',
  307. 'author.required' => '作者不能为空',
  308. ]
  309. );
  310. if ($validator->fails()){
  311. $errorMessage = $validator->errors()->first();
  312. return Result::error($errorMessage);
  313. }
  314. $requireData['catid'] = isset($requireData['cat_arr_id'])?end($requireData['cat_arr_id']):'';
  315. $requireData['cat_arr_id'] = isset($requireData['cat_arr_id'])?json_encode($requireData['cat_arr_id']):'';
  316. $loginIp = $this->request->getHeader('x-forwarded-for')[0] ?? $this->request->getHeader('x-real-ip')[0] ?? $this->request->getServerParams()['remote_addr'] ?? '0.0.0.0';
  317. $requireData['ip'] = $loginIp;
  318. // $requireData['website_id'] = Context::get("SiteId");
  319. $requireData['admin_user_id'] =Context::get("UserId");
  320. $requireData['level'] = isset($requireData['level']) && $requireData['level']?$requireData['level']:0;
  321. $requireData['hits'] = isset($requireData['hits']) && $requireData['hits']?$requireData['hits']:0;
  322. $requireData['is_original'] = isset($requireData['is_original']) && $requireData['is_original']?$requireData['is_original']:0;
  323. $requireData['status'] = isset($requireData['status']) && $requireData['status']?$requireData['status']:0;
  324. // var_dump("入参:",$requireData);
  325. $result = $this->newsServiceClient->addArticle($requireData);
  326. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  327. }
  328. /**
  329. * 更新资讯
  330. * @return array
  331. */
  332. public function updateArticle()
  333. {
  334. $requireData = $this->request->all();
  335. $validator = $this->validationFactory->make(
  336. $requireData,
  337. [
  338. 'id'=>'required',
  339. 'title'=> 'required',
  340. 'cat_arr_id'=> 'required',
  341. 'author'=> 'required',
  342. ],
  343. [
  344. 'title.required' => '标题不能为空',
  345. 'cat_arr_id.required' => '导航池ID不能为空',
  346. 'author.required' => '作者不能为空',
  347. 'id.required' =>'ID不能为空'
  348. ]
  349. );
  350. if ($validator->fails()) {
  351. $errorMessage = $validator->errors()->first();
  352. return Result::error($errorMessage);
  353. }
  354. $requireData['catid'] = isset($requireData['cat_arr_id'])?end($requireData['cat_arr_id']):'';
  355. $requireData['cat_arr_id'] = isset($requireData['cat_arr_id'])?json_encode($requireData['cat_arr_id']):'';
  356. $result = $this->newsServiceClient->updateArticle($requireData);
  357. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  358. }
  359. /**
  360. * 更新资讯状态
  361. * @return array
  362. */
  363. public function upArticleStatus()
  364. {
  365. $requireData = $this->request->all();
  366. $validator = $this->validationFactory->make(
  367. $requireData,
  368. [
  369. 'id'=>'required',
  370. 'status'=> 'required',
  371. ],
  372. [
  373. 'id.required' => 'id不能为空',
  374. 'status.required' => '状态不能为空',
  375. ]
  376. );
  377. if ($validator->fails()) {
  378. $errorMessage = $validator->errors()->first();
  379. return Result::error($errorMessage);
  380. }
  381. $result = $this->newsServiceClient->upArticleStatus($requireData);
  382. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  383. }
  384. /**
  385. * 删除分类
  386. * @return array
  387. */
  388. public function delArticle()
  389. {
  390. $requireData = $this->request->all();
  391. $validator = $this->validationFactory->make(
  392. $requireData,
  393. [
  394. 'id'=> 'required',
  395. ],
  396. [
  397. 'id.required' => 'id不能为空',
  398. ]
  399. );
  400. if ($validator->fails()) {
  401. $errorMessage = $validator->errors()->first();
  402. return Result::error($errorMessage);
  403. }
  404. // $requireData['website_id'] = Context::get("SiteId");
  405. $result = $this->newsServiceClient->delArticle($requireData);
  406. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  407. }
  408. /**
  409. * 获取资讯信息
  410. * @return array
  411. */
  412. public function getArticleInfo()
  413. {
  414. $requireData = $this->request->all();
  415. $validator = $this->validationFactory->make(
  416. $requireData,
  417. [
  418. 'id'=> 'required',
  419. ],
  420. [
  421. 'id.required' => 'id不能为空',
  422. ]
  423. );
  424. if ($validator->fails()) {
  425. $errorMessage = $validator->errors()->first();
  426. return Result::error($errorMessage);
  427. }
  428. $result = $this->newsServiceClient->getArticleInfo($requireData);
  429. if($result['code']==0){
  430. return Result::error($result['message']);
  431. }
  432. $result['data']['cat_arr_id'] = $result['data']['cat_arr_id']?json_decode($result['data']['cat_arr_id']):[];
  433. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  434. }
  435. /**
  436. * 检测导航池名称是否存在
  437. * @return array
  438. */
  439. public function checkCategoryName()
  440. {
  441. $requireData = $this->request->all();
  442. $validator = $this->validationFactory->make(
  443. $requireData,
  444. [
  445. 'name'=> 'required',
  446. ],
  447. [
  448. 'name.required' => 'name不能为空',
  449. ]
  450. );
  451. if ($validator->fails()) {
  452. $errorMessage = $validator->errors()->first();
  453. return Result::error($errorMessage);
  454. }
  455. $result = $this->newsServiceClient->checkCategoryName($requireData);
  456. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  457. }
  458. //20250226 产品列表
  459. public function getGoodList(){
  460. $requireData = $this->request->all();
  461. $validator = $this->validationFactory->make(
  462. $requireData,
  463. [
  464. 'page'=> 'integer|required',
  465. 'page_size'=> 'integer|required',
  466. ],
  467. [
  468. 'page.integer' => 'page必须是整型',
  469. 'page_size.integer' => 'page_size必须是整型',
  470. 'page.required' => 'page不能为空',
  471. 'page_size.required' => 'page_size不能为空',
  472. ]
  473. );
  474. if ($validator->fails()) {
  475. $errorMessage = $validator->errors()->first();
  476. return Result::error($errorMessage);
  477. }
  478. $result = $this->newsServiceClient->getGoodList($requireData);
  479. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  480. }
  481. public function getGoodInfo(){
  482. $requireData = $this->request->all();
  483. $validator = $this->validationFactory->make(
  484. $requireData,
  485. [
  486. 'id'=> 'required',
  487. ],
  488. [
  489. 'id.required' => 'id不能为空',
  490. ]
  491. );
  492. if ($validator->fails()) {
  493. $errorMessage = $validator->errors()->first();
  494. return Result::error($errorMessage);
  495. }
  496. $result = $this->newsServiceClient->getGoodInfo($requireData);
  497. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  498. }
  499. public function updateGood(){
  500. $requireData = $this->request->all();
  501. $validator = $this->validationFactory->make(
  502. $requireData,
  503. [
  504. 'id'=> 'required',
  505. ],
  506. [
  507. 'id.required' => 'id不能为空',
  508. ]
  509. );
  510. if ($validator->fails()) {
  511. $errorMessage = $validator->errors()->first();
  512. return Result::error($errorMessage);
  513. }
  514. $result = $this->newsServiceClient->updateGood($requireData);
  515. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']
  516. );
  517. }
  518. public function addGood(){
  519. $requireData = $this->request->all();
  520. $validator = $this->validationFactory->make(
  521. $requireData,
  522. [
  523. 'name'=> 'required',
  524. // 'price'=> 'numeric',
  525. // 'min'=> 'numeric',
  526. // 'max'=> 'numeric',
  527. // 'hits '=> 'numeric',
  528. ],
  529. [
  530. 'name.required' => '产品名称不能为空',
  531. // 'price.required' => '产品价格不能为空',
  532. // 'price.numeric' => '价格必须是数字',
  533. // 'min.numeric' => 'min必须是数字',
  534. // 'max.numeric' => 'max须是数字',
  535. // 'hits.numeric' => '点击量必须是数字',
  536. ]
  537. );
  538. if ($validator->fails()) {
  539. $errorMessage = $validator->errors()->first();
  540. return Result::error($errorMessage);
  541. }
  542. $result = $this->newsServiceClient->addGood($requireData);
  543. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  544. }
  545. public function delGood(){
  546. $requireData = $this->request->all();
  547. $validator = $this->validationFactory->make($requireData,
  548. [
  549. 'id'=> 'required',
  550. ],
  551. [
  552. 'id.required' => 'id不能为空',
  553. ]
  554. ); if ($validator->fails()) {
  555. $errorMessage = $validator->errors()->first();
  556. return Result::error($errorMessage);
  557. }
  558. $result = $this->newsServiceClient->delGood($requireData);
  559. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  560. }
  561. //20250226 产品列表
  562. // 20250306 招聘
  563. /*
  564. *后端-招聘 搜索及获取职位
  565. * @return array
  566. */
  567. public function getJobRecruitingList(){
  568. $requireData = $this->request->all();
  569. $validator = $this->validationFactory->make(
  570. $requireData,
  571. [
  572. 'page'=> 'integer|required',
  573. 'page_size'=> 'integer|required',
  574. ],
  575. [
  576. 'page.integer' => 'page必须是整型',
  577. 'page_size.integer' => 'page_size必须是整型',
  578. 'page.required' => 'page不能为空',
  579. 'page_size.required' => 'page_size不能为空',
  580. ]
  581. );
  582. if ($validator->fails()) {
  583. $errorMessage = $validator->errors()->first();
  584. return Result::error($errorMessage);
  585. }
  586. $requireData['website_id'] = Context::get("SiteId");
  587. $requireData['user_id'] = Context::get("UserId");
  588. return Result::success($requireData);
  589. if (empty($requireData['website_id']) || empty($requireData['user_id'])){
  590. return Result::error('参数错误');
  591. }
  592. $result = $this->newsServiceClient->getJobRecruitingList($requireData);
  593. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  594. }
  595. /*
  596. *后端-招聘 获取职位详情
  597. * @return array
  598. */
  599. public function getJobRecruitingInfo(){
  600. $requireData = $this->request->all();
  601. $validator = $this->validationFactory->make(
  602. $requireData,
  603. [
  604. 'id'=>'required',
  605. ],
  606. [
  607. 'id.required' => 'id不能为空',
  608. ]
  609. );
  610. if ($validator->fails()) {
  611. $errorMessage = $validator->errors()->first();
  612. }
  613. $result = $this->newsServiceClient->getJobRecruitingInfo($requireData);
  614. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  615. }
  616. /*
  617. *后端-招聘 新增职位
  618. * @return array
  619. */
  620. public function addJobRecruiting(){
  621. $requireData = $this->request->all();
  622. // return Result::success($requireData);
  623. $validator = $this->validationFactory->make(
  624. $requireData,
  625. [
  626. 'title'=>'required',
  627. 'cat_arr_id'=>'required',
  628. 'city_arr_id'=>'required',
  629. 'hy_id'=>'required|integer',
  630. 'zw_id'=>'required|integer',
  631. 'jtzw_id'=>'required|integer',
  632. 'nature_id'=>'required|integer',
  633. 'due_data'=>'required',
  634. 'description'=>'required',
  635. ],
  636. [
  637. 'title.required' => '职位名称不能为空',
  638. 'cat_arr_id.required' => '栏目不能为空',
  639. 'city_arr_id.required' => '工作地区不能为空',
  640. 'hy_id.required' => '行业分类不能为空',
  641. 'hy_id.integer' => '行业分类必须是整数',
  642. 'zw_id.required' => '职位分类不能为空',
  643. 'zw_id.integer' => '职位分类必须是整数',
  644. 'jtzw_id.required' => '职位不能为空',
  645. 'jtzw_id.integer' => '职位分类必须是整数',
  646. 'nature_id.required' => '职位性质不能为空',
  647. 'nature_id.integer' => '职位性质必须是整数',
  648. 'due_data.required' => '截止日期不能为空',
  649. 'description.required' => '职位描述不能为空'
  650. ]
  651. );
  652. if ($validator->fails()) {
  653. $errorMessage = $validator->errors()->first();
  654. return Result::error($errorMessage);
  655. }
  656. $requireData['website_id'] = Context::get("SiteId") ?? 0;
  657. $requireData['user_id'] = Context::get("UserId") ?? 0;
  658. $result = $this->newsServiceClient->addJobRecruiting($requireData);
  659. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  660. }
  661. // /*
  662. // *后端-招聘 修改职位
  663. // * @return array
  664. // */
  665. // public function upJobRecruiting(){
  666. // $requireData = $this->request->all();
  667. // $validator = $this->validationFactory->make(
  668. // $requireData,
  669. // [
  670. // 'title'=>'required',
  671. // 'job_type'=>'required',
  672. // 'job_level'=>'required',
  673. // 'job_num'=>'required',
  674. // 'job_address'=>'required',
  675. // 'job_content'=>'required',
  676. // 'job_require'=>'required',
  677. // 'job_responsibility'=>'required',
  678. // 'job_benefits'=>'required',
  679. // ],
  680. // [
  681. // 'title.required' => '职位名称不能为空',
  682. // 'job_type.required' => '职位类型不能为空',
  683. // 'job_level.required' => '职位级别不能为空',
  684. // 'job_num.required' => '招聘人数不能为空',
  685. // 'job_address.required' => '工作地点不能为空',
  686. // 'job_content.required' => '职位内容不能为空',
  687. // 'job_require.required' => '职位要求不能为空',
  688. // 'job_responsibility.required' => '岗位职责不能为空',
  689. // 'job_benefits.required' => '岗位福利不能为空',
  690. // ]
  691. // );
  692. // $result = $this->newsServiceClient->upJobRecruiting($requireData);
  693. // return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  694. // }
  695. // /*
  696. // *后端-招聘 删除职位
  697. // * @return array
  698. // */
  699. // public function delJobRecruiting(){
  700. // $requireData = $this->request->all();
  701. // $validator = $this->validationFactory->make(
  702. // $requireData,
  703. // [
  704. // 'id'=>'required',
  705. // ],
  706. // [
  707. // 'id.required' => 'id不能为空',
  708. // ]
  709. // );
  710. // $result = $this->newsServiceClient->delJobRecruiting($requireData);
  711. // return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  712. // }
  713. /*
  714. *后端-招聘 获取地区-省-市
  715. * @return array
  716. */
  717. public function getJobRecruitingArea(){
  718. $requireData = $this->request->all();
  719. $result = $this->newsServiceClient->getJobRecruitingArea($requireData);
  720. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  721. }
  722. /*
  723. *后端-招聘 行业分类
  724. * @return array
  725. */
  726. public function getIndustry(){
  727. $requireData = $this->request->all();
  728. $validator = $this->validationFactory->make(
  729. $requireData,
  730. [
  731. 'id'=>'required',
  732. ],
  733. [
  734. 'id.required' => 'id不能为空',
  735. ]
  736. );
  737. $result = $this->newsServiceClient->getIndustry($requireData);
  738. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  739. }
  740. /*
  741. *后端-招聘 职位分类
  742. * @return array
  743. */
  744. public function getPositionList(){
  745. $requireData = $this->request->all();
  746. $validator = $this->validationFactory->make(
  747. $requireData,
  748. [
  749. 'id'=>'required',
  750. ],
  751. [
  752. 'id.required' => 'id不能为空',
  753. ]
  754. );
  755. if ($validator->fails()) {
  756. $errorMessage = $validator->errors()->first();
  757. return Result::error($errorMessage);
  758. }
  759. $result = $this->newsServiceClient->getPositionList($requireData);
  760. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  761. }
  762. }