NewsController.php 29 KB

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