NewsController.php 75 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983
  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 WebsiteServiceInterface
  30. */
  31. #[Inject]
  32. private $websiteServiceClient;
  33. /**
  34. * @var UserServiceInterface
  35. */
  36. #[Inject]
  37. private $userServiceClient;
  38. /**
  39. * @var WebsiteServiceInterface
  40. */
  41. #[Inject]
  42. private $WebsiteServiceClient;
  43. /**
  44. * 导航池列表
  45. * @return void
  46. */
  47. public function getCategoryList()
  48. {
  49. $requireData = $this->request->all();
  50. $validator = $this->validationFactory->make(
  51. $requireData,
  52. [
  53. 'page'=> 'required',
  54. 'pageSize'=> 'required',
  55. ],
  56. [
  57. 'page.required' => '第几页不能为空',
  58. 'pageSize.required' => '每页显示条数不能为空',
  59. ]
  60. );
  61. if ($validator->fails()) {
  62. $errorMessage = $validator->errors()->first();
  63. return Result::error($errorMessage);
  64. }
  65. //获取用户信息
  66. // $user_id = Context::get("UserId");
  67. // $userInfo = $this->userServiceClient->getUserInfo((int)$user_id);
  68. // var_dump("用户信息:",$userInfo);
  69. // $sszq = $userInfo['data']['sszq'];
  70. // $type_id = $userInfo['data']['type_id']; //'1:个人会员 2:政务会员 3:企业会员 4:调研员 10000:管理员 20000:游客(小程序)'
  71. $result = $this->newsServiceClient->getCategoryList($requireData);
  72. if($result['data']){
  73. foreach ($result['data']['rows'] as $k=>$v) {
  74. $result['data']['rows'][$k]['pid_arr'] = $v['pid_arr']?json_decode($v['pid_arr']):[0];
  75. }
  76. }
  77. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  78. }
  79. /**
  80. * 站点下的导航池
  81. * @return void
  82. */
  83. public function categoryList()
  84. {
  85. $requireData = $this->request->all();
  86. $validator = $this->validationFactory->make(
  87. $requireData,
  88. [
  89. 'pid'=> 'required'
  90. ],
  91. [
  92. 'pid.required' => '父级ID不能为空'
  93. ]
  94. );
  95. if ($validator->fails()) {
  96. $errorMessage = $validator->errors()->first();
  97. return Result::error($errorMessage);
  98. }
  99. $requireData['website_id'] = Context::get("SiteId");
  100. //获取用户信息
  101. $user_id = Context::get("UserId");
  102. $userInfo = $this->userServiceClient->getUserInfo((int)$user_id);
  103. var_dump("用户信息:",$userInfo);
  104. $sszq = $userInfo['data']['sszq'];
  105. $type_id = $userInfo['data']['type_id']; //'1:个人会员 2:政务会员 3:企业会员 4:调研员 10000:管理员 20000:游客(小程序)'
  106. //管理员看所有
  107. if($type_id == 10000){
  108. $result = $this->newsServiceClient->categoryList($requireData);
  109. } else {
  110. $requireData['sszq'] = $sszq;
  111. $result = $this->newsServiceClient->myCategoryList($requireData);
  112. }
  113. // $rep = PublicData::buildMenuTree($result['data']);
  114. return $result ? Result::success($result['data']) : Result::error($result['message']);
  115. }
  116. /**
  117. * 添加导航
  118. * @return array|void
  119. */
  120. public function addCategory()
  121. {
  122. $requireData = $this->request->all();
  123. $validator = $this->validationFactory->make(
  124. $requireData,
  125. [
  126. 'name'=> 'required',
  127. 'seo_title'=> 'required',
  128. 'seo_keywords'=> 'required',
  129. 'seo_description'=> 'required',
  130. ],
  131. [
  132. 'name.required' => '导航池名称不能为空',
  133. 'seo_title.required' => 'seo标题名称不能为空',
  134. 'seo_keywords.required' => 'seo关键词不能为空',
  135. 'seo_description.required' => 'seo描述不能为空',
  136. ]
  137. );
  138. if ($validator->fails()) {
  139. $errorMessage = $validator->errors()->first();
  140. return Result::error($errorMessage);
  141. }
  142. $requireData['pid'] = isset($requireData['pid_arr'])?end($requireData['pid_arr']):'';
  143. $requireData['pid_arr'] = isset($requireData['pid_arr'])?json_encode($requireData['pid_arr']):'';
  144. $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):'';
  145. $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):'';
  146. $requireData['department_id'] = isset($requireData['department_arr_id'])?end($requireData['department_arr_id']):'';
  147. $requireData['department_arr_id'] = isset($requireData['department_arr_id'])?json_encode($requireData['department_arr_id']):'';
  148. $result = $this->newsServiceClient->addCategory($requireData);
  149. return $result ? Result::success($result['data']) : Result::error($result['message']);
  150. }
  151. /**
  152. * 更新导航池
  153. * @return array
  154. */
  155. public function updateCategory()
  156. {
  157. $requireData = $this->request->all();
  158. $validator = $this->validationFactory->make(
  159. $requireData,
  160. [
  161. 'id'=>'required',
  162. 'name'=> 'required',
  163. 'seo_title'=> 'required',
  164. 'seo_keywords'=> 'required',
  165. 'seo_description'=> 'required',
  166. ],
  167. [
  168. 'id.required' =>'ID不能为空',
  169. 'name.required' => '栏目池名称不能为空',
  170. 'seo_title.required' => 'seo标题名称不能为空',
  171. 'seo_keywords.required' => 'seo关键词不能为空',
  172. 'seo_description.required' => 'seo描述不能为空',
  173. ]
  174. );
  175. if ($validator->fails()) {
  176. $errorMessage = $validator->errors()->first();
  177. return Result::error($errorMessage);
  178. }
  179. $requireData['pid'] = isset($requireData['pid_arr'])?end($requireData['pid_arr']):'';
  180. $requireData['pid_arr'] = isset($requireData['pid_arr'])?json_encode($requireData['pid_arr']):'';
  181. $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):'';
  182. $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):'';
  183. $requireData['department_id'] = isset($requireData['department_arr_id'])?end($requireData['department_arr_id']):'';
  184. $requireData['department_arr_id'] = isset($requireData['department_arr_id'])?json_encode($requireData['department_arr_id']):'';
  185. $result = $this->newsServiceClient->updateCategory($requireData);
  186. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  187. }
  188. /**
  189. * 删除分类
  190. * @return array
  191. */
  192. public function delCategory()
  193. {
  194. $requireData = $this->request->all();
  195. $validator = $this->validationFactory->make(
  196. $requireData,
  197. [
  198. 'id'=> 'required',
  199. ],
  200. [
  201. 'id.required' => 'id不能为空',
  202. ]
  203. );
  204. if ($validator->fails()) {
  205. $errorMessage = $validator->errors()->first();
  206. return Result::error($errorMessage);
  207. }
  208. $result = $this->newsServiceClient->delCategory($requireData);
  209. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  210. }
  211. /**
  212. * 资讯列表
  213. * @return void
  214. */
  215. public function getArticleList()
  216. {
  217. $requireData = $this->request->all();
  218. $validator = $this->validationFactory->make(
  219. $requireData,
  220. [
  221. 'page'=> 'required',
  222. 'pageSize'=> 'required',
  223. ],
  224. [
  225. 'page.required' => 'id不能为空',
  226. 'pageSize.required' => 'id不能为空',
  227. ]
  228. );
  229. if ($validator->fails()) {
  230. $errorMessage = $validator->errors()->first();
  231. return Result::error($errorMessage);
  232. }
  233. $requireData['website_id'] = Context::get("SiteId");
  234. //获取用户信息
  235. $user_id = Context::get("UserId");
  236. $userInfo = $this->userServiceClient->getUserInfo((int)$user_id);
  237. var_dump("用户信息:",$userInfo);
  238. $sszq = $userInfo['data']['sszq'];
  239. //获取websiteid
  240. // $groupInfo = $this->WebsiteServiceClient->getWebsiteGroupInfo(['id' => $sszq]);
  241. // var_dump("groupInfo:",$groupInfo);
  242. // $sszqstr = implode(',',json_decode($groupInfo['data']['web_ids']));
  243. $type_id = $userInfo['data']['type_id']; //'1:个人会员 2:政务会员 3:企业会员 4:调研员 10000:管理员 20000:游客(小程序)'
  244. $requireData['type_id'] = $type_id;
  245. $requireData['user_id'] = $user_id;
  246. var_dump("资讯:",$requireData);
  247. $result = $this->newsServiceClient->getArticleList($requireData);
  248. //1通过,2待审核,3待发 4,拒绝 5删除
  249. $statusList = [
  250. '0'=>'待审核',
  251. '1'=>'已发布',
  252. '2'=>'待审核',
  253. '3'=>'待发',
  254. '4'=>'拒绝',
  255. '5'=>'删除',
  256. ];
  257. if($result['data']){
  258. foreach ($result['data']['rows'] as $k=>$v) {
  259. $result['data']['rows'][$k]['cat_arr_id'] = $v['cat_arr_id']?json_decode($v['cat_arr_id']):[0];
  260. $result['data']['rows'][$k]['tag'] = $v['tag']?json_decode($v['tag']):[];
  261. $result['data']['rows'][$k]['status_name'] = $statusList[$v['status']];
  262. $result['data']['rows'][$k]['level'] = (string)$v['level'];
  263. $result['data']['rows'][$k]['islink'] = isset($v['islink']) && $v['islink']>0?true:false;
  264. }
  265. }
  266. // $result = $this->newsServiceClient->getArticleList($requireData);
  267. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  268. }
  269. /**
  270. * 获取导航池信息
  271. * @return void
  272. */
  273. public function getCategoryInfo()
  274. {
  275. $requireData = $this->request->all();
  276. $validator = $this->validationFactory->make(
  277. $requireData,
  278. [
  279. 'id'=> 'required',
  280. ],
  281. [
  282. 'id.required' => 'id不能为空',
  283. ]
  284. );
  285. if ($validator->fails()) {
  286. $errorMessage = $validator->errors()->first();
  287. return Result::error($errorMessage);
  288. }
  289. $result = $this->newsServiceClient->getCategoryInfo($requireData);
  290. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  291. }
  292. /**
  293. * 添加分类
  294. * @return array|void
  295. */
  296. public function addArticle()
  297. {
  298. // $a = ['asdlk1', '2342345234', [1, '222222222222']];
  299. // var_dump(json_encode($a));
  300. // return '222';
  301. $requireData = $this->request->all();
  302. $validator = $this->validationFactory->make(
  303. $requireData,
  304. [
  305. 'title'=> 'required',
  306. 'cat_arr_id'=> 'required',
  307. 'author'=> 'required',
  308. ],
  309. [
  310. 'title.required' => '标题不能为空',
  311. 'cat_arr_id.required' => '导航池ID不能为空',
  312. 'author.required' => '作者不能为空',
  313. ]
  314. );
  315. if ($validator->fails()){
  316. $errorMessage = $validator->errors()->first();
  317. return Result::error($errorMessage);
  318. }
  319. $requireData['catid'] = isset($requireData['cat_arr_id'])?end($requireData['cat_arr_id']):'';
  320. $requireData['cat_arr_id'] = isset($requireData['cat_arr_id'])?json_encode($requireData['cat_arr_id']):'';
  321. $loginIp = $this->request->getHeader('x-forwarded-for')[0] ?? $this->request->getHeader('x-real-ip')[0] ?? $this->request->getServerParams()['remote_addr'] ?? '0.0.0.0';
  322. $requireData['ip'] = $loginIp;
  323. // $requireData['website_id'] = Context::get("SiteId");
  324. $requireData['admin_user_id'] =Context::get("UserId");
  325. $requireData['level'] = isset($requireData['level']) && $requireData['level']?$requireData['level']:0;
  326. $requireData['hits'] = isset($requireData['hits']) && $requireData['hits']?$requireData['hits']:0;
  327. $requireData['is_original'] = isset($requireData['is_original']) && $requireData['is_original']?$requireData['is_original']:0;
  328. $requireData['status'] = isset($requireData['status']) && $requireData['status']?$requireData['status']:0;
  329. // var_dump("入参:",$requireData);
  330. $result = $this->newsServiceClient->addArticle($requireData);
  331. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  332. }
  333. /**
  334. * 更新资讯
  335. * @return array
  336. */
  337. public function updateArticle()
  338. {
  339. $requireData = $this->request->all();
  340. $validator = $this->validationFactory->make(
  341. $requireData,
  342. [
  343. 'id'=>'required',
  344. 'title'=> 'required',
  345. 'cat_arr_id'=> 'required',
  346. 'author'=> 'required',
  347. ],
  348. [
  349. 'title.required' => '标题不能为空',
  350. 'cat_arr_id.required' => '导航池ID不能为空',
  351. 'author.required' => '作者不能为空',
  352. 'id.required' =>'ID不能为空'
  353. ]
  354. );
  355. if ($validator->fails()) {
  356. $errorMessage = $validator->errors()->first();
  357. return Result::error($errorMessage);
  358. }
  359. $requireData['catid'] = isset($requireData['cat_arr_id'])?end($requireData['cat_arr_id']):'';
  360. $requireData['cat_arr_id'] = isset($requireData['cat_arr_id'])?json_encode($requireData['cat_arr_id']):'';
  361. $result = $this->newsServiceClient->updateArticle($requireData);
  362. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  363. }
  364. /**
  365. * 更新资讯状态
  366. * @return array
  367. */
  368. public function upArticleStatus()
  369. {
  370. $requireData = $this->request->all();
  371. $validator = $this->validationFactory->make(
  372. $requireData,
  373. [
  374. 'id'=>'required',
  375. 'status'=> 'required',
  376. ],
  377. [
  378. 'id.required' => 'id不能为空',
  379. 'status.required' => '状态不能为空',
  380. ]
  381. );
  382. if ($validator->fails()) {
  383. $errorMessage = $validator->errors()->first();
  384. return Result::error($errorMessage);
  385. }
  386. $result = $this->newsServiceClient->upArticleStatus($requireData);
  387. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  388. }
  389. /**
  390. * 删除分类
  391. * @return array
  392. */
  393. public function delArticle()
  394. {
  395. $requireData = $this->request->all();
  396. $validator = $this->validationFactory->make(
  397. $requireData,
  398. [
  399. 'id'=> 'required',
  400. ],
  401. [
  402. 'id.required' => 'id不能为空',
  403. ]
  404. );
  405. if ($validator->fails()) {
  406. $errorMessage = $validator->errors()->first();
  407. return Result::error($errorMessage);
  408. }
  409. // $requireData['website_id'] = Context::get("SiteId");
  410. $result = $this->newsServiceClient->delArticle($requireData);
  411. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  412. }
  413. /**
  414. * 获取资讯信息
  415. * @return array
  416. */
  417. public function getArticleInfo()
  418. {
  419. $requireData = $this->request->all();
  420. $validator = $this->validationFactory->make(
  421. $requireData,
  422. [
  423. 'id'=> 'required',
  424. ],
  425. [
  426. 'id.required' => 'id不能为空',
  427. ]
  428. );
  429. if ($validator->fails()) {
  430. $errorMessage = $validator->errors()->first();
  431. return Result::error($errorMessage);
  432. }
  433. $result = $this->newsServiceClient->getArticleInfo($requireData);
  434. if($result['code']==0){
  435. return Result::error($result['message']);
  436. }
  437. $result['data']['cat_arr_id'] = $result['data']['cat_arr_id']?json_decode($result['data']['cat_arr_id']):[];
  438. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  439. }
  440. /**
  441. * 检测导航池名称是否存在
  442. * @return array
  443. */
  444. public function checkCategoryName()
  445. {
  446. $requireData = $this->request->all();
  447. $validator = $this->validationFactory->make(
  448. $requireData,
  449. [
  450. 'name'=> 'required',
  451. ],
  452. [
  453. 'name.required' => 'name不能为空',
  454. ]
  455. );
  456. if ($validator->fails()) {
  457. $errorMessage = $validator->errors()->first();
  458. return Result::error($errorMessage);
  459. }
  460. $result = $this->newsServiceClient->checkCategoryName($requireData);
  461. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  462. }
  463. //20250226 产品列表
  464. public function getGoodList(){
  465. $requireData = $this->request->all();
  466. $validator = $this->validationFactory->make(
  467. $requireData,
  468. [
  469. 'page'=> 'integer|required',
  470. 'page_size'=> 'integer|required',
  471. ],
  472. [
  473. 'page.integer' => 'page必须是整型',
  474. 'page_size.integer' => 'page_size必须是整型',
  475. 'page.required' => 'page不能为空',
  476. 'page_size.required' => 'page_size不能为空',
  477. ]
  478. );
  479. if ($validator->fails()) {
  480. $errorMessage = $validator->errors()->first();
  481. return Result::error($errorMessage);
  482. }
  483. $result = $this->newsServiceClient->getGoodList($requireData);
  484. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  485. }
  486. public function getGoodInfo(){
  487. $requireData = $this->request->all();
  488. $validator = $this->validationFactory->make(
  489. $requireData,
  490. [
  491. 'id'=> 'required',
  492. ],
  493. [
  494. 'id.required' => 'id不能为空',
  495. ]
  496. );
  497. if ($validator->fails()) {
  498. $errorMessage = $validator->errors()->first();
  499. return Result::error($errorMessage);
  500. }
  501. $result = $this->newsServiceClient->getGoodInfo($requireData);
  502. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  503. }
  504. public function updateGood(){
  505. $requireData = $this->request->all();
  506. $validator = $this->validationFactory->make(
  507. $requireData,
  508. [
  509. 'id'=> 'required',
  510. ],
  511. [
  512. 'id.required' => 'id不能为空',
  513. ]
  514. );
  515. if ($validator->fails()) {
  516. $errorMessage = $validator->errors()->first();
  517. return Result::error($errorMessage);
  518. }
  519. $result = $this->newsServiceClient->updateGood($requireData);
  520. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']
  521. );
  522. }
  523. public function addGood(){
  524. $requireData = $this->request->all();
  525. $validator = $this->validationFactory->make(
  526. $requireData,
  527. [
  528. 'name'=> 'required',
  529. // 'price'=> 'numeric',
  530. // 'min'=> 'numeric',
  531. // 'max'=> 'numeric',
  532. // 'hits '=> 'numeric',
  533. ],
  534. [
  535. 'name.required' => '产品名称不能为空',
  536. // 'price.required' => '产品价格不能为空',
  537. // 'price.numeric' => '价格必须是数字',
  538. // 'min.numeric' => 'min必须是数字',
  539. // 'max.numeric' => 'max须是数字',
  540. // 'hits.numeric' => '点击量必须是数字',
  541. ]
  542. );
  543. if ($validator->fails()) {
  544. $errorMessage = $validator->errors()->first();
  545. return Result::error($errorMessage);
  546. }
  547. $result = $this->newsServiceClient->addGood($requireData);
  548. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  549. }
  550. public function delGood(){
  551. $requireData = $this->request->all();
  552. $validator = $this->validationFactory->make($requireData,
  553. [
  554. 'id'=> 'required',
  555. ],
  556. [
  557. 'id.required' => 'id不能为空',
  558. ]
  559. ); if ($validator->fails()) {
  560. $errorMessage = $validator->errors()->first();
  561. return Result::error($errorMessage);
  562. }
  563. $result = $this->newsServiceClient->delGood($requireData);
  564. return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
  565. }
  566. //20250226 产品列表
  567. // 20250306 招聘
  568. /*
  569. *后端-招聘 搜索及获取职位
  570. * @return array
  571. */
  572. public function getJobRecruitingList(){
  573. $requireData = $this->request->all();
  574. $validator = $this->validationFactory->make(
  575. $requireData,
  576. [
  577. 'page'=> 'integer|required',
  578. 'page_size'=> 'integer|required',
  579. 'checkout' => 'integer|required',
  580. ],
  581. [
  582. 'page.integer' => 'page必须是整型',
  583. 'page_size.integer' => 'page_size必须是整型',
  584. 'page.required' => 'page不能为空',
  585. 'page_size.required' => 'page_size不能为空',
  586. 'checkout.required' => 'checkout不能为空',
  587. 'checkout.integer' => 'checkout必须是整型',
  588. ]
  589. );
  590. if ($validator->fails()) {
  591. $errorMessage = $validator->errors()->first();
  592. return Result::error($errorMessage);
  593. }
  594. $requireData['website_id'] = Context::get("SiteId");
  595. $requireData['user_id'] = Context::get("UserId");
  596. // return Result::success($requireData);
  597. if (empty($requireData['website_id']) || empty($requireData['user_id'])){
  598. return Result::error('参数错误');
  599. }
  600. $result = $this->newsServiceClient->getJobRecruitingList($requireData);
  601. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  602. }
  603. /*
  604. *后端-招聘 获取公司信息
  605. * @return array
  606. */
  607. public function getJobCompany(){
  608. $requireData = $this->request->all();
  609. $requireData['website_id'] = Context::get("SiteId");
  610. $requireData['user_id'] = Context::get("UserId");
  611. // return Result::success($requireData);
  612. if (empty($requireData['user_id'])){
  613. return Result::error('参数错误');
  614. }
  615. $result = $this->newsServiceClient->getJobCompany($requireData);
  616. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  617. }
  618. /*
  619. *后端-招聘 修改公司信息
  620. * @return array
  621. */
  622. public function upJobCompany(){
  623. $requireData = $this->request->all();
  624. $requireData['user_id'] = Context::get("UserId");
  625. $validator = $this->validationFactory->make(
  626. $requireData,
  627. [
  628. 'user_id'=>'required',
  629. 'business_name'=>'required',
  630. 'company_hy_id'=>'required|integer',
  631. 'company_size'=>'required|integer',
  632. 'introduction'=>'required',
  633. // 'real_name'=>'required',
  634. // 'mobile'=>'required|integer',
  635. 'address_arr_id'=>'required',
  636. 'address'=>'required',
  637. ],
  638. [
  639. 'user_id.required' => '用户id不能为空',
  640. 'business_name.required' => '公司名称不能为空',
  641. 'company_hy_id.required' => '所属行业不能为空',
  642. 'company_hy_id.integer' => '所属行业必须是整数',
  643. 'company_size.required' => '公司规模不能为空',
  644. 'company_size.integer' => '公司规模必须是整数',
  645. 'introduction.required' => '公司简介不能为空',
  646. // 'real_name.required' => '联系人不能为空',
  647. // 'mobile.required' => '联系电话不能为空',
  648. // 'mobile.integer' => '联系电话必须是整数',
  649. 'address_arr_id.required' => '公司地址不能为空',
  650. 'address.required' => '公司详细地址不能为空',
  651. ]
  652. );
  653. if ($validator->fails()) {
  654. $errorMessage = $validator->errors()->first();
  655. return Result::error($errorMessage);
  656. }
  657. $requireData['website_id'] = Context::get("SiteId");
  658. // return Result::success($requireData);
  659. if (empty($requireData['user_id'])){
  660. return Result::error('参数错误');
  661. }
  662. $result = $this->newsServiceClient->upJobCompany($requireData);
  663. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  664. }
  665. /*
  666. *后端-招聘 获取职位详情
  667. * @return array
  668. */
  669. public function getJobRecruitingInfo(){
  670. $requireData = $this->request->all();
  671. $validator = $this->validationFactory->make(
  672. $requireData,
  673. [
  674. 'id'=>'required|integer',
  675. ],
  676. [
  677. 'id.required' => 'id不能为空',
  678. 'id.integer' => 'id必须是整数',
  679. ]
  680. );
  681. if ($validator->fails()) {
  682. $errorMessage = $validator->errors()->first();
  683. return Result::error($errorMessage);
  684. }
  685. // return Result::success($requireData);
  686. $requireData['website_id'] = Context::get("SiteId");
  687. $requireData['user_id'] = Context::get("UserId");
  688. // return Result::success($requireData);
  689. if (empty($requireData['user_id'])){
  690. return Result::error('参数错误');
  691. }
  692. $result = $this->newsServiceClient->getJobRecruitingInfo($requireData);
  693. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  694. }
  695. /*
  696. *后端-招聘 新增职位
  697. * @return array
  698. */
  699. public function addJobRecruiting(){
  700. var_dump('111------********************----controller');
  701. $requireData = $this->request->all();
  702. // 定义验证规则数组
  703. $jobValidationRules = [
  704. 'title' => 'required',
  705. 'cat_arr_id' => 'required',
  706. 'city_arr_id' => 'required',
  707. 'hy_id' => 'required|integer',
  708. 'zw_id' => 'required|integer',
  709. 'jtzw_id' => 'required|integer',
  710. 'nature_id' => 'required|integer',
  711. 'due_data' => 'required',
  712. 'description' => 'required',
  713. ];
  714. // 定义验证错误信息数组
  715. $jobValidationMessages = [
  716. 'title.required' => '职位名称不能为空',
  717. 'cat_arr_id.required' => '栏目不能为空',
  718. 'city_arr_id.required' => '工作地区不能为空',
  719. 'hy_id.required' => '行业分类不能为空',
  720. 'hy_id.integer' => '行业分类必须是整数',
  721. 'zw_id.required' => '职位分类不能为空',
  722. 'zw_id.integer' => '职位分类必须是整数',
  723. 'jtzw_id.required' => '职位不能为空',
  724. 'jtzw_id.integer' => '职位分类必须是整数',
  725. 'nature_id.required' => '职位性质不能为空',
  726. 'nature_id.integer' => '职位性质必须是整数',
  727. 'due_data.required' => '截止日期不能为空',
  728. 'description.required' => '职位描述不能为空',
  729. ];
  730. // 定义公司信息验证规则数组
  731. $companyValidationRules = [
  732. 'website_id' =>'required|integer',
  733. 'business_name' => 'required',
  734. 'company_hy_id' => 'required|integer',
  735. 'company_size' => 'required|integer',
  736. // 'company_nature' =>'required|integer',
  737. 'introduction' => 'required',
  738. 'real_name' => 'required',
  739. // 将联系电话的验证规则修改为最少十一位整数
  740. 'mobile' => 'required|integer|min:10000000000',
  741. 'address_arr_id' => 'required',
  742. 'address' => 'required',
  743. ];
  744. // 定义公司信息验证错误信息数组
  745. $companyValidationMessages = [
  746. 'website_id.required' => '网站ID不能为空',
  747. 'website_id.integer' => '网站ID必须是整数',
  748. 'business_name.required' => '公司名称不能为空',
  749. 'company_hy_id.required' => '所属行业不能为空',
  750. 'company_hy_id.integer' => '所属行业必须是整数',
  751. 'company_size.required' => '公司规模不能为空',
  752. 'company_size.integer' => '公司规模必须是整数',
  753. // 'company_nature.required' => '公司性质不能为空',
  754. // 'company_nature.integer' => '公司性质必须是整数',
  755. 'introduction.required' => '公司简介不能为空',
  756. 'real_name.required' => '联系人不能为空',
  757. 'mobile.required' => '联系电话不能为空',
  758. 'mobile.integer' => '联系电话必须是整数',
  759. 'mobile.min' => '联系电话必须是11位',
  760. 'address_arr_id.required' => '公司地址不能为空',
  761. 'address.required' => '公司详细地址不能为空',
  762. ];
  763. if (!isset($requireData['user_type']) || $requireData['user_type'] === null) {
  764. return Result::error('参数错误');
  765. }
  766. var_dump('111------**********初步验证**********----controller');
  767. switch ($requireData['user_type']) {
  768. case 3:
  769. $validator = $this->validationFactory->make($requireData, $jobValidationRules, $jobValidationMessages);
  770. if ($validator->fails()) {
  771. return Result::error($validator->errors()->first());
  772. }
  773. $requireData['website_id'] = Context::get("SiteId") ?? 0;
  774. break;
  775. case 10000:
  776. $validator = $this->validationFactory->make($requireData, $jobValidationRules, $jobValidationMessages);
  777. if ($validator->fails()) {
  778. return Result::error($validator->errors()->first());
  779. }
  780. $validator = $this->validationFactory->make($requireData, $companyValidationRules, $companyValidationMessages);
  781. if ($validator->fails()) {
  782. return Result::error($validator->errors()->first());
  783. }
  784. // $requireData['website_id'] = Context::get("SiteId") ?? 0;
  785. break;
  786. default:
  787. return Result::error('不支持的用户类型');
  788. }
  789. var_dump('111------**********最终验证**********----controller');
  790. $requireData['user_id'] = Context::get("UserId") ?? 0;
  791. var_dump('111------********************----controller',$requireData['user_id']);
  792. $result = $this->newsServiceClient->addJobRecruiting($requireData);
  793. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  794. }
  795. /*
  796. *后端-招聘 修改职位
  797. * @return array
  798. */
  799. public function upJobRecruiting(){
  800. $requireData = $this->request->all();
  801. // 定义验证规则数组
  802. $jobValidationRules = [
  803. 'title' => 'required',
  804. 'cat_arr_id' => 'required',
  805. 'city_arr_id' => 'required',
  806. 'hy_id' => 'required|integer',
  807. 'zw_id' => 'required|integer',
  808. 'jtzw_id' => 'required|integer',
  809. 'nature_id' => 'required|integer',
  810. 'due_data' => 'required',
  811. 'description' => 'required',
  812. ];
  813. // 定义验证错误信息数组
  814. $jobValidationMessages = [
  815. 'title.required' => '职位名称不能为空',
  816. 'cat_arr_id.required' => '栏目不能为空',
  817. 'city_arr_id.required' => '工作地区不能为空',
  818. 'hy_id.required' => '行业分类不能为空',
  819. 'hy_id.integer' => '行业分类必须是整数',
  820. 'zw_id.required' => '职位分类不能为空',
  821. 'zw_id.integer' => '职位分类必须是整数',
  822. 'jtzw_id.required' => '职位不能为空',
  823. 'jtzw_id.integer' => '职位分类必须是整数',
  824. 'nature_id.required' => '职位性质不能为空',
  825. 'nature_id.integer' => '职位性质必须是整数',
  826. 'due_data.required' => '截止日期不能为空',
  827. 'description.required' => '职位描述不能为空',
  828. ];
  829. // 定义公司信息验证规则数组
  830. $companyValidationRules = [
  831. 'business_name' => 'required',
  832. 'company_hy_id' => 'required',
  833. 'company_size' => 'required',
  834. // 'company_nature' =>'required',
  835. 'introduction' => 'required',
  836. 'real_name' => 'required',
  837. // 将联系电话的验证规则修改为最少十一位整数
  838. 'mobile' => 'required|integer|min:10000000000',
  839. 'address_arr_id' => 'required',
  840. 'address' => 'required',
  841. ];
  842. // 定义公司信息验证错误信息数组
  843. $companyValidationMessages = [
  844. 'business_name.required' => '公司名称不能为空',
  845. 'company_hy_id.required' => '所属行业不能为空',
  846. 'company_size.required' => '公司规模不能为空',
  847. // 'company_nature.required' => '公司性质不能为空',
  848. 'introduction.required' => '公司简介不能为空',
  849. 'real_name.required' => '联系人不能为空',
  850. 'mobile.required' => '联系电话不能为空',
  851. 'mobile.integer' => '联系电话必须是整数',
  852. 'mobile.min' => '联系电话必须是11位',
  853. 'address_arr_id.required' => '公司地址不能为空',
  854. 'address.required' => '公司详细地址不能为空',
  855. ];
  856. if (!isset($requireData['user_type']) || $requireData['user_type'] === null) {
  857. return Result::error('参数错误');
  858. }
  859. switch ($requireData['user_type']) {
  860. case 3:
  861. $validator = $this->validationFactory->make($requireData, $jobValidationRules, $jobValidationMessages);
  862. if ($validator->fails()) {
  863. return Result::error($validator->errors()->first());
  864. }
  865. $requireData['website_id'] = Context::get("SiteId") ?? 0;
  866. break;
  867. case 10000:
  868. $validator = $this->validationFactory->make($requireData, $jobValidationRules, $jobValidationMessages);
  869. if ($validator->fails()) {
  870. return Result::error($validator->errors()->first());
  871. }
  872. $validator = $this->validationFactory->make($requireData, $companyValidationRules, $companyValidationMessages);
  873. if ($validator->fails()) {
  874. return Result::error($validator->errors()->first());
  875. }
  876. // $requireData['website_id'] = Context::get("SiteId") ?? 0;
  877. break;
  878. default:
  879. return Result::error('不支持的用户类型');
  880. }
  881. $requireData['user_id'] = Context::get("UserId") ?? 0;
  882. // return Result::success($requireData);
  883. $result = $this->newsServiceClient->upJobRecruiting($requireData);
  884. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  885. }
  886. /*
  887. *后端-招聘 删除职位
  888. * @return array
  889. */
  890. public function delJobRecruiting(){
  891. $requireData = $this->request->all();
  892. $validator = $this->validationFactory->make(
  893. $requireData,
  894. [
  895. 'id'=>'required',
  896. ],
  897. [
  898. 'id.required' => 'id不能为空',
  899. ]
  900. );
  901. $requireData['user_id'] = Context::get("UserId");
  902. $result = $this->newsServiceClient->delJobRecruiting($requireData);
  903. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  904. }
  905. /*
  906. *后端-招聘 获取地区-省-市
  907. * @return array
  908. */
  909. public function getJobRecruitingArea(){
  910. $requireData = $this->request->all();
  911. $result = $this->websiteServiceClient->selectWebsiteArea($requireData);
  912. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  913. }
  914. /*
  915. *后端-招聘 行业分类
  916. * @return array
  917. */
  918. public function getIndustry(){
  919. $requireData = $this->request->all();
  920. $validator = $this->validationFactory->make(
  921. $requireData,
  922. [
  923. 'id'=>'required',
  924. ],
  925. [
  926. 'id.required' => 'id不能为空',
  927. ]
  928. );
  929. $result = $this->newsServiceClient->getIndustry($requireData);
  930. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  931. }
  932. /*
  933. *后端-招聘 职位分类
  934. * @return array
  935. */
  936. public function getPositionList(){
  937. $requireData = $this->request->all();
  938. $result = $this->newsServiceClient->getPositionList($requireData);
  939. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  940. }
  941. /*
  942. *后端-招聘 职位性质
  943. * @return array
  944. */
  945. public function getJobNature(){
  946. $requireData = $this->request->all();
  947. $result = $this->newsServiceClient->getJobNature($requireData);
  948. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  949. }
  950. /*
  951. *后端-招聘 工作经验
  952. * @return array
  953. */
  954. public function getExperience(){
  955. $requireData = $this->request->all();
  956. $result = $this->newsServiceClient->getExperience($requireData);
  957. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  958. }
  959. /*
  960. *后端-招聘 学历
  961. * @return array
  962. */
  963. public function getEducation(){
  964. $requireData = $this->request->all();
  965. $result = $this->newsServiceClient->getEducation($requireData);
  966. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  967. }
  968. /*
  969. *后端-招聘 薪资
  970. * @return array
  971. */
  972. public function getSalary(){
  973. $requireData = $this->request->all();
  974. $result = $this->newsServiceClient->getSalary($requireData);
  975. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  976. }
  977. /*
  978. *后端-招聘 语言
  979. * @return array
  980. */
  981. public function getLanguage(){
  982. $requireData = $this->request->all();
  983. $result = $this->newsServiceClient->getLanguage($requireData);
  984. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  985. }
  986. /*
  987. *后端-招聘 语言-掌握能力
  988. * @return array
  989. */
  990. public function getLevel(){
  991. $requireData = $this->request->all();
  992. $result = $this->newsServiceClient->getLevel($requireData);
  993. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  994. }
  995. /*
  996. *后端-招聘 公司规模
  997. * @return array
  998. */
  999. public function getCompanySize(){
  1000. $requireData = $this->request->all();
  1001. $result = $this->newsServiceClient->getCompanySize($requireData);
  1002. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  1003. }
  1004. /*
  1005. *后端-招聘 公司性质
  1006. * @return array
  1007. */
  1008. public function getCompanyNature(){
  1009. $requireData = $this->request->all();
  1010. $result = $this->newsServiceClient->getCompanyNature($requireData);
  1011. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  1012. }
  1013. /*
  1014. *后端-招聘 职位审核
  1015. * @return array
  1016. */
  1017. public function checkJobRecruiting(){
  1018. $requireData = $this->request->all();
  1019. $validator = $this->validationFactory->make(
  1020. $requireData,
  1021. [
  1022. 'id'=>'required',
  1023. 'status' => 'required|integer|in:0,1,2',
  1024. ],
  1025. [
  1026. 'id.required' => 'id不能为空',
  1027. 'status.required' => 'status不能为空',
  1028. 'status.integer' => 'status必须是整数',
  1029. 'status.in' => 'status必须是1,2,3中的一个'
  1030. ]);
  1031. if ($validator->fails()) {
  1032. $errorMessage = $validator->errors()->first();
  1033. return Result::error($errorMessage);
  1034. }
  1035. if($requireData['status']=='2'){
  1036. if(empty($requireData['refuse_reason'])){
  1037. return Result::error('请填写审核不通过原因');
  1038. }
  1039. }
  1040. $requireData['user_id'] = Context::get("UserId");
  1041. $result = $this->newsServiceClient->checkJobRecruiting($requireData);
  1042. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  1043. }
  1044. /*
  1045. *后端-招聘 职位机会列表
  1046. * @return array
  1047. */
  1048. public function getRecruitingList(){
  1049. $requireData = $this->request->all();
  1050. $validator = $this->validationFactory->make(
  1051. $requireData,
  1052. [
  1053. 'page'=>'required|integer',
  1054. 'pageSize'=>'required|integer',
  1055. ],
  1056. [
  1057. 'page.required' => '第几页不能为空',
  1058. 'page.integer' =>'第几页必须是整数',
  1059. 'pageSize.required' => '每页显示数量不能为空',
  1060. 'pageSize.integer' =>'每页显示数量必须是整数'
  1061. ]
  1062. );
  1063. $requireData['user_id'] = Context::get("UserId");
  1064. if ($validator->fails()) {
  1065. $errorMessage = $validator->errors()->first();
  1066. return Result::error($errorMessage);
  1067. }
  1068. $result = $this->newsServiceClient->getRecruitingList($requireData);
  1069. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  1070. }
  1071. /*
  1072. *后端-招聘 职位机会详情
  1073. * @return array
  1074. */
  1075. public function getRecruitingInfo(){
  1076. $requireData = $this->request->all();
  1077. $validator = $this->validationFactory->make(
  1078. $requireData,
  1079. [
  1080. 'id'=>'required|integer',
  1081. ],
  1082. [
  1083. 'id.required' => 'id不能为空',
  1084. ]
  1085. );
  1086. if ($validator->fails()) {
  1087. $errorMessage = $validator->errors()->first();
  1088. return Result::error($errorMessage);
  1089. }
  1090. $requireData['user_id'] = Context::get("UserId");
  1091. $result = $this->newsServiceClient->getRecruitingInfo($requireData);
  1092. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  1093. }
  1094. /*
  1095. *后端-招聘 我的沟通
  1096. * @return array
  1097. */
  1098. public function getJobResumeList(){
  1099. $requireData = $this->request->all();
  1100. $validator = $this->validationFactory->make(
  1101. $requireData,
  1102. [
  1103. 'page'=>'required|integer',
  1104. 'pageSize'=>'required|integer',
  1105. ],
  1106. [
  1107. 'page.required' => '第几页不能为空',
  1108. 'page.integer' =>'第几页必须是整数',
  1109. 'pageSize.required' => '每页显示数量不能为空',
  1110. 'pageSize.integer' =>'每页显示数量必须是整数'
  1111. ]
  1112. );
  1113. $requireData['user_id'] = Context::get("UserId");
  1114. if ($validator->fails()) {
  1115. $errorMessage = $validator->errors()->first();
  1116. return Result::error($errorMessage);
  1117. }
  1118. $result = $this->newsServiceClient->getJobResumeList($requireData);
  1119. return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
  1120. }
  1121. //202504084 审核状态
  1122. public function updateGoodStatus()
  1123. {
  1124. $requireData = $this->request->all();
  1125. $validator = $this->validationFactory->make(
  1126. $requireData,
  1127. [
  1128. 'id' => 'required',
  1129. 'status' => 'required',
  1130. ],
  1131. [
  1132. 'id.required' => 'id不能为空',
  1133. 'status.required' => '状态不能为空',
  1134. ]
  1135. );
  1136. if ($validator->fails()) {
  1137. $errorMessage = $validator->errors()->first();
  1138. return Result::error($errorMessage);
  1139. }
  1140. $requireData['user_id'] = Context::get("UserId");
  1141. $requireData['type_id'] = Context::get("TypeId");
  1142. $result = $this->newsServiceClient->updateGoodStatus($requireData);
  1143. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1144. }
  1145. public function updateNoticeStatus()
  1146. {
  1147. $requireData = $this->request->all();
  1148. $validator = $this->validationFactory->make(
  1149. $requireData,
  1150. [
  1151. 'id' => 'required',
  1152. 'status' => 'required',
  1153. ],
  1154. [
  1155. 'id.required' => 'id不能为空',
  1156. 'status.required' => '状态不能为空',
  1157. ]
  1158. );
  1159. if ($validator->fails()) {
  1160. $errorMessage = $validator->errors()->first();
  1161. return Result::error($errorMessage);
  1162. }
  1163. $result = $this->newsServiceClient->updateNoticeStatus($requireData);
  1164. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1165. }
  1166. public function updateComplaintStatus()
  1167. {
  1168. $requireData = $this->request->all();
  1169. $validator = $this->validationFactory->make(
  1170. $requireData,
  1171. [
  1172. 'id' => 'required',
  1173. 'status' => 'required',
  1174. ],
  1175. [
  1176. 'id.required' => 'id不能为空',
  1177. 'status.required' => '状态不能为空',
  1178. ]
  1179. );
  1180. if ($validator->fails()) {
  1181. $errorMessage = $validator->errors()->first();
  1182. return Result::error($errorMessage);
  1183. }
  1184. $requireData['user_id'] = Context::get("UserId");
  1185. $requireData['type_id'] = Context::get("TypeId");
  1186. $result = $this->newsServiceClient->updateComplaintStatus($requireData);
  1187. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1188. }
  1189. public function updateJobHuntingStatus()
  1190. {
  1191. $requireData = $this->request->all();
  1192. $validator = $this->validationFactory->make(
  1193. $requireData,
  1194. [
  1195. 'id' => 'required',
  1196. 'status' => 'required',
  1197. ],
  1198. [
  1199. 'id.required' => 'id不能为空',
  1200. 'status.required' => '状态不能为空',
  1201. ]
  1202. );
  1203. if ($validator->fails()) {
  1204. $errorMessage = $validator->errors()->first();
  1205. return Result::error($errorMessage);
  1206. }
  1207. $result = $this->newsServiceClient->updateJobHuntingStatus($requireData);
  1208. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1209. }
  1210. public function myApplyList()
  1211. {
  1212. $requireData = $this->request->all();
  1213. $validator = $this->validationFactory->make(
  1214. $requireData,
  1215. [
  1216. 'page' => 'required|integer',
  1217. 'pageSize' => 'required|integer',
  1218. ],
  1219. [
  1220. 'page.required' => '第几页不能为空',
  1221. 'page.integer' => '第几页必须是整数',
  1222. 'pageSize.required' => '每页显示数量不能为空',
  1223. 'pageSize.integer' => '每页显示数量必须是整数'
  1224. ]
  1225. );
  1226. $requireData['user_id'] = Context::get("UserId");
  1227. if ($validator->fails()) {
  1228. $errorMessage = $validator->errors()->first();
  1229. return Result::error($errorMessage);
  1230. }
  1231. $result = $this->newsServiceClient->myApplyList($requireData);
  1232. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1233. }
  1234. //20250422 书刊音像
  1235. public function getBookList()
  1236. {
  1237. $requireData = $this->request->all();
  1238. $validator = $this->validationFactory->make(
  1239. $requireData,
  1240. [
  1241. 'page' => 'required|integer',
  1242. 'page_size' => 'required|integer'
  1243. ],
  1244. [
  1245. 'page.required' => '页码不能为空',
  1246. 'page.integer' => '页码必须是整数',
  1247. 'page_size.required' => '每页条数不能为空',
  1248. 'page_size.integer' => '每页条数必须是整数',
  1249. ]
  1250. );
  1251. if ($validator->fails()) {
  1252. $errorMessage = $validator->errors()->first();
  1253. return Result::error($errorMessage);
  1254. }
  1255. $requireData['user_id'] = Context::get("UserId");
  1256. $requireData['type_id'] = Context::get("TypeId");
  1257. $requireData['website_id'] = Context::get("SiteId");
  1258. $result = $this->newsServiceClient->getBookList($requireData);
  1259. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1260. }
  1261. public function addBook()
  1262. {
  1263. $requireData = $this->request->all();
  1264. $validator = $this->validationFactory->make(
  1265. $requireData,
  1266. [
  1267. 'title' => 'required',
  1268. ],
  1269. [
  1270. 'title.required' => '书名不能为空',
  1271. ]
  1272. );
  1273. if ($validator->fails()) {
  1274. $errorMessage = $validator->errors()->first();
  1275. return Result::error($errorMessage);
  1276. }
  1277. $requireData['user_id'] = Context::get("UserId");
  1278. $requireData['type_id'] = Context::get("TypeId");
  1279. // $requireData['website_id'] = Context::get("SiteId");
  1280. $result = $this->newsServiceClient->addBook($requireData);
  1281. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1282. }
  1283. public function deleteBook()
  1284. {
  1285. $requireData = $this->request->all();
  1286. $validator = $this->validationFactory->make(
  1287. $requireData,
  1288. [
  1289. 'id' => 'required',
  1290. ],
  1291. [
  1292. 'id.required' => 'id不能为空',
  1293. ]
  1294. );
  1295. if ($validator->fails()) {
  1296. $errorMessage = $validator->errors()->first();
  1297. return Result::error($errorMessage);
  1298. }
  1299. $requireData['user_id'] = Context::get("UserId");
  1300. $requireData['type_id'] = Context::get("TypeId");
  1301. $requireData['website_id'] = Context::get("SiteId");
  1302. $result = $this->newsServiceClient->deleteBook($requireData);
  1303. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1304. }
  1305. public function updateBook()
  1306. {
  1307. $requireData = $this->request->all();
  1308. $validator = $this->validationFactory->make(
  1309. $requireData,
  1310. [
  1311. 'id' => 'required',
  1312. ],
  1313. [
  1314. 'id.required' => 'id不能为空',
  1315. ]
  1316. );
  1317. if ($validator->fails()) {
  1318. $errorMessage = $validator->errors()->first();
  1319. return Result::error($errorMessage);
  1320. }
  1321. // $requireData['user_id'] = Context::get("UserId");
  1322. $result = $this->newsServiceClient->updateBook($requireData);
  1323. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1324. }
  1325. public function updateBookStatus()
  1326. {
  1327. $requireData = $this->request->all();
  1328. $validator = $this->validationFactory->make(
  1329. $requireData,
  1330. [
  1331. 'id' => 'required',
  1332. ],
  1333. [
  1334. 'id.required' => 'id不能为空',
  1335. ]
  1336. );
  1337. if ($validator->fails()) {
  1338. $errorMessage = $validator->errors()->first();
  1339. return Result::error($errorMessage);
  1340. }
  1341. $requireData['user_id'] = Context::get("UserId");
  1342. $result = $this->newsServiceClient->updateBookStatus($requireData);
  1343. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1344. }
  1345. public function getBookInfo()
  1346. {
  1347. $requireData = $this->request->all();
  1348. $validator = $this->validationFactory->make(
  1349. $requireData,
  1350. [
  1351. 'id' => 'required',
  1352. ],
  1353. [
  1354. 'id.required' => 'id不能为空',
  1355. ]
  1356. );
  1357. if ($validator->fails()) {
  1358. $errorMessage = $validator->errors()->first();
  1359. return Result::error($errorMessage);
  1360. }
  1361. $requireData['user_id'] = Context::get('UserId');
  1362. $result = $this->newsServiceClient->getBookInfo($requireData);
  1363. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1364. }
  1365. //20250422 书刊音像
  1366. // 20250623 项目管理
  1367. /**
  1368. * 项目列表
  1369. * @return array
  1370. */
  1371. public function getProjectList()
  1372. {
  1373. $requireData = $this->request->all();
  1374. $validator = $this->validationFactory->make(
  1375. $requireData,
  1376. [
  1377. 'page' => 'required|integer',
  1378. 'pageSize' => 'required|integer',
  1379. 'status' => 'required|integer',
  1380. ],
  1381. [
  1382. 'page.required' => 'page不能为空',
  1383. 'page.integer' => 'page必须是整数',
  1384. 'pageSize.required' => 'page_size不能为空',
  1385. 'pageSize.integer' => 'page_size必须是整数',
  1386. 'status.required' => 'status不能为空',
  1387. 'status.integer' => 'status必须是整数',
  1388. ]
  1389. );
  1390. if ($validator->fails()) {
  1391. $errorMessage = $validator->errors()->first();
  1392. return Result::error($errorMessage);
  1393. }
  1394. $requireData['user_id'] = Context::get('UserId');
  1395. $result = $this->newsServiceClient->getProjectList($requireData);
  1396. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1397. }
  1398. /**
  1399. * 添加项目
  1400. * @return array
  1401. */
  1402. public function addProject()
  1403. {
  1404. $requireData = $this->request->all();
  1405. $validator = $this->validationFactory->make(
  1406. $requireData,
  1407. [
  1408. 'website_id' => 'required|integer',
  1409. 'category_id' => 'required|integer',
  1410. 'cat_arr_id' => 'required',
  1411. 'title' => 'required',
  1412. 'business_name' => 'required',
  1413. 'content_person' => 'required',
  1414. 'telephone' => 'required',
  1415. 'city_id' => 'required',
  1416. 'city_arr_id' => 'required',
  1417. 'introduce' => 'required',
  1418. 'franchise_details' => 'required',
  1419. ],
  1420. [
  1421. 'website_id.required' => '网站id不能为空',
  1422. 'website_id.integer' => '网站id必须是整数',
  1423. 'category_id.required' => '栏目id不能为空',
  1424. 'category_id.integer' => '栏目id必须是整数',
  1425. 'cat_arr_id.required' => '栏目集合不能为空',
  1426. 'title.required' => '标题不能为空',
  1427. 'business_name.required' => '企业名称不能为空',
  1428. 'content_person.required' => '联系人不能为空',
  1429. 'telephone.required' => '联系电话不能为空',
  1430. 'city_id.required' => '城市id不能为空',
  1431. 'city_id.integer' => '城市id必须是整数',
  1432. 'city_arr_id.required' => '城市不能为空',
  1433. 'introduce.required' => '企业介绍不能为空',
  1434. 'franchise_details.required' => '加盟详情不能为空',
  1435. ]
  1436. );
  1437. if ($validator->fails()) {
  1438. $errorMessage = $validator->errors()->first();
  1439. return Result::error($errorMessage);
  1440. }
  1441. $requireData['user_id'] = Context::get('UserId');
  1442. $result = $this->newsServiceClient->addProject($requireData);
  1443. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1444. }
  1445. /**
  1446. * 更新项目
  1447. * @return array
  1448. */
  1449. public function upProject()
  1450. {
  1451. $requireData = $this->request->all();
  1452. $validator = $this->validationFactory->make(
  1453. $requireData,
  1454. [
  1455. 'id' => 'required|integer',
  1456. 'website_id' => 'required|integer',
  1457. 'category_id' => 'required|integer',
  1458. 'cat_arr_id' => 'required',
  1459. 'title' => 'required',
  1460. 'business_name' => 'required',
  1461. 'content_person' => 'required',
  1462. 'telephone' => 'required',
  1463. 'city_id' => 'required',
  1464. 'city_arr_id' => 'required',
  1465. 'introduce' => 'required',
  1466. 'franchise_details' => 'required',
  1467. ],
  1468. [
  1469. 'id.required' => 'id不能为空',
  1470. 'id.integer' => 'id必须是整数',
  1471. 'website_id.required' => '网站id不能为空',
  1472. 'website_id.integer' => '网站id必须是整数',
  1473. 'category_id.required' => '栏目id不能为空',
  1474. 'category_id.integer' => '栏目id必须是整数',
  1475. 'cat_arr_id.required' => '栏目集合不能为空',
  1476. 'title.required' => '标题不能为空',
  1477. 'business_name.required' => '企业名称不能为空',
  1478. 'content_person.required' => '联系人不能为空',
  1479. 'telephone.required' => '联系电话不能为空',
  1480. 'city_id.required' => '城市id不能为空',
  1481. 'city_id.integer' => '城市id必须是整数',
  1482. 'city_arr_id.required' => '城市不能为空',
  1483. 'introduce.required' => '企业介绍不能为空',
  1484. 'franchise_details.required' => '加盟详情不能为空',
  1485. ]
  1486. );
  1487. if ($validator->fails()) {
  1488. $errorMessage = $validator->errors()->first();
  1489. return Result::error($errorMessage);
  1490. }
  1491. $requireData['user_id'] = Context::get('UserId');
  1492. $result = $this->newsServiceClient->upProject($requireData);
  1493. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1494. }
  1495. /**
  1496. * 删除项目
  1497. * @return array
  1498. */
  1499. public function delProject()
  1500. {
  1501. $requireData = $this->request->all();
  1502. $validator = $this->validationFactory->make(
  1503. $requireData,
  1504. [
  1505. 'id' => 'required',
  1506. ],
  1507. [
  1508. 'id.required' => 'id不能为空',
  1509. ]
  1510. );
  1511. if ($validator->fails()) {
  1512. $errorMessage = $validator->errors()->first();
  1513. return Result::error($errorMessage);
  1514. }
  1515. $requireData['user_id'] = Context::get('UserId');
  1516. $result = $this->newsServiceClient->delProject($requireData);
  1517. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1518. }
  1519. /**
  1520. * 审核项目
  1521. * @return array
  1522. */
  1523. public function checkProject()
  1524. {
  1525. $requireData = $this->request->all();
  1526. $validator = $this->validationFactory->make(
  1527. $requireData,
  1528. [
  1529. 'id' => 'required|integer',
  1530. 'status' => 'required|integer',
  1531. ],
  1532. [
  1533. 'id.required' => 'id不能为空',
  1534. 'id.integer' => 'id必须是整数',
  1535. 'status.required' => '状态不能为空',
  1536. 'status.integer' => '状态必须是整数',
  1537. ]
  1538. );
  1539. if ($validator->fails()) {
  1540. $errorMessage = $validator->errors()->first();
  1541. return Result::error($errorMessage);
  1542. }
  1543. $requireData['user_id'] = Context::get('UserId');
  1544. $result = $this->newsServiceClient->checkProject($requireData);
  1545. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1546. }
  1547. /**
  1548. * 获取项目详情
  1549. * @return array
  1550. */
  1551. public function getProjectInfo()
  1552. {
  1553. $requireData = $this->request->all();
  1554. $validator = $this->validationFactory->make(
  1555. $requireData,
  1556. [
  1557. 'id' => 'required|integer',
  1558. ],
  1559. [
  1560. 'id.required' => 'id不能为空',
  1561. 'id.integer' => 'id必须是整数',
  1562. ]
  1563. );
  1564. if ($validator->fails()) {
  1565. $errorMessage = $validator->errors()->first();
  1566. return Result::error($errorMessage);
  1567. }
  1568. $result = $this->newsServiceClient->getProjectInfo($requireData);
  1569. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1570. }
  1571. /**
  1572. * 已读未读
  1573. * @return array
  1574. */
  1575. public function readNotice()
  1576. {
  1577. $requireData = $this->request->all();
  1578. $validator = $this->validationFactory->make(
  1579. $requireData,
  1580. [
  1581. 'id' => 'required|integer',
  1582. ],
  1583. [
  1584. 'id.required' => 'id不能为空',
  1585. 'id.integer' => 'id必须是整数',
  1586. ]
  1587. );
  1588. if ($validator->fails()) {
  1589. $errorMessage = $validator->errors()->first();
  1590. return Result::error($errorMessage);
  1591. }
  1592. $requireData['user_id'] = Context::get('UserId');
  1593. $result = $this->newsServiceClient->readNotice($requireData);
  1594. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1595. }
  1596. /**
  1597. * 已读未读
  1598. * @return array
  1599. */
  1600. public function readComplaint()
  1601. {
  1602. $requireData = $this->request->all();
  1603. $validator = $this->validationFactory->make(
  1604. $requireData,
  1605. [
  1606. 'id' => 'required|integer',
  1607. ],
  1608. [
  1609. 'id.required' => 'id不能为空',
  1610. 'id.integer' => 'id必须是整数',
  1611. ]
  1612. );
  1613. if ($validator->fails()) {
  1614. $errorMessage = $validator->errors()->first();
  1615. return Result::error($errorMessage);
  1616. }
  1617. $requireData['user_id'] = Context::get('UserId');
  1618. $result = $this->newsServiceClient->readComplaint($requireData);
  1619. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1620. }
  1621. public function readJobResume()
  1622. {
  1623. $requireData = $this->request->all();
  1624. $validator = $this->validationFactory->make(
  1625. $requireData,
  1626. [
  1627. 'id' => 'required|integer',
  1628. ],
  1629. [
  1630. 'id.required' => 'id不能为空',
  1631. 'id.integer' => 'id必须是整数',
  1632. ]
  1633. );
  1634. if ($validator->fails()) {
  1635. $errorMessage = $validator->errors()->first();
  1636. return Result::error($errorMessage);
  1637. }
  1638. $requireData['user_id'] = Context::get('UserId');
  1639. $result = $this->newsServiceClient->readJobResume($requireData);
  1640. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1641. }
  1642. public function readjobApply()
  1643. {
  1644. $requireData = $this->request->all();
  1645. $validator = $this->validationFactory->make(
  1646. $requireData,
  1647. [
  1648. 'id' => 'required|integer',
  1649. ],
  1650. [
  1651. 'id.required' => 'id不能为空',
  1652. 'id.integer' => 'id必须是整数',
  1653. ]
  1654. );
  1655. if ($validator->fails()) {
  1656. $errorMessage = $validator->errors()->first();
  1657. return Result::error($errorMessage);
  1658. }
  1659. $requireData['user_id'] = Context::get('UserId');
  1660. $result = $this->newsServiceClient->readjobApply($requireData);
  1661. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1662. }
  1663. public function noticeList()
  1664. {
  1665. $requireData = $this->request->all();
  1666. $validator = $this->validationFactory->make(
  1667. $requireData,
  1668. [
  1669. 'page' => 'required|integer',
  1670. 'page_size' => 'required|integer',
  1671. ],
  1672. [
  1673. 'page.required' => 'page不能为空',
  1674. 'page.integer' => 'page必须是整数',
  1675. 'page_size.required' => 'page_size不能为空',
  1676. 'page_size.integer' => 'page_size必须是整数',
  1677. ]
  1678. );
  1679. if ($validator->fails()) {
  1680. $errorMessage = $validator->errors()->first();
  1681. return Result::error($errorMessage);
  1682. }
  1683. $requireData['user_id'] = Context::get('UserId');
  1684. //type_id
  1685. $requireData['type_id'] = Context::get('TypeId');
  1686. $result = $this->newsServiceClient->noticeList($requireData);
  1687. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1688. }
  1689. public function complaintList()
  1690. {
  1691. $requireData = $this->request->all();
  1692. $validator = $this->validationFactory->make(
  1693. $requireData,
  1694. [
  1695. 'page' => 'required|integer',
  1696. 'page_size' => 'required|integer',
  1697. ],
  1698. [
  1699. 'page.required' => 'page不能为空',
  1700. 'page.integer' => 'page必须是整数',
  1701. 'page_size.required' => 'page_size不能为空',
  1702. 'page_size.integer' => 'page_size必须是整数',
  1703. ]
  1704. );
  1705. if ($validator->fails()) {
  1706. $errorMessage = $validator->errors()->first();
  1707. return Result::error($errorMessage);
  1708. }
  1709. $requireData['user_id'] = Context::get('UserId');
  1710. $requireData['type_id'] = Context::get('TypeId');
  1711. $result = $this->newsServiceClient->complaintList($requireData);
  1712. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1713. }
  1714. /**
  1715. * 行业分类-列表
  1716. * @return array
  1717. */
  1718. public function getJobIndustryList()
  1719. {
  1720. $requireData = $this->request->all();
  1721. $validator = $this->validationFactory->make(
  1722. $requireData,
  1723. [
  1724. 'page' => 'required|integer',
  1725. 'page_size' => 'required|integer',
  1726. ],
  1727. [
  1728. 'page.required' => 'page不能为空',
  1729. 'page.integer' => 'page必须是整数',
  1730. 'page_size.required' => 'page_size不能为空',
  1731. 'page_size.integer' => 'page_size必须是整数',
  1732. ]
  1733. );
  1734. if ($validator->fails()) {
  1735. $errorMessage = $validator->errors()->first();
  1736. return Result::error($errorMessage);
  1737. }
  1738. $requireData['user_id'] = Context::get('UserId');
  1739. $result = $this->newsServiceClient->getJobIndustryList($requireData);
  1740. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1741. }
  1742. /**
  1743. * 行业分类-添加
  1744. * @return array
  1745. */
  1746. public function addJobIndustry()
  1747. {
  1748. $requireData = $this->request->all();
  1749. $validator = $this->validationFactory->make(
  1750. $requireData,
  1751. [
  1752. 'hyname' => 'required',
  1753. ],
  1754. [
  1755. 'hyname.required' => '行业分类名称不能为空',
  1756. ]
  1757. );
  1758. if ($validator->fails()) {
  1759. $errorMessage = $validator->errors()->first();
  1760. return Result::error($errorMessage);
  1761. }
  1762. $requireData['user_id'] = Context::get('UserId');
  1763. $result = $this->newsServiceClient->addJobIndustry($requireData);
  1764. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1765. }
  1766. /**
  1767. * 行业分类-更新
  1768. * @return array
  1769. */
  1770. public function upJobIndustry()
  1771. {
  1772. $requireData = $this->request->all();
  1773. $validator = $this->validationFactory->make(
  1774. $requireData,
  1775. [
  1776. 'hyid' => 'required',
  1777. 'hyname' => 'required',
  1778. ],
  1779. [
  1780. 'hyid.required' => '行业分类id不能为空',
  1781. 'hyname.required' => '行业分类名称不能为空',
  1782. ]
  1783. );
  1784. if ($validator->fails()) {
  1785. $errorMessage = $validator->errors()->first();
  1786. return Result::error($errorMessage);
  1787. }
  1788. $requireData['user_id'] = Context::get('UserId');
  1789. $result = $this->newsServiceClient->upJobIndustry($requireData);
  1790. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1791. }
  1792. /**
  1793. * 行业分类-删除
  1794. * @return array
  1795. */
  1796. public function delJobIndustry()
  1797. {
  1798. $requireData = $this->request->all();
  1799. $validator = $this->validationFactory->make(
  1800. $requireData,
  1801. [
  1802. 'hyid' => 'required',
  1803. ],
  1804. [
  1805. 'hyid.required' => '行业分类id不能为空',
  1806. ]
  1807. );
  1808. if ($validator->fails()) {
  1809. $errorMessage = $validator->errors()->first();
  1810. return Result::error($errorMessage);
  1811. }
  1812. $requireData['user_id'] = Context::get('UserId');
  1813. $result = $this->newsServiceClient->delJobIndustry($requireData);
  1814. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1815. }
  1816. /**
  1817. * 职位分类-列表
  1818. * @return array
  1819. */
  1820. public function getJobPositionList()
  1821. {
  1822. $requireData = $this->request->all();
  1823. $validator = $this->validationFactory->make(
  1824. $requireData,
  1825. [
  1826. 'page' => 'required|integer',
  1827. 'page_size' => 'required|integer',
  1828. ],
  1829. [
  1830. 'page.required' => 'page不能为空',
  1831. 'page.integer' => 'page必须是整数',
  1832. 'page_size.required' => 'page_size不能为空',
  1833. 'page_size.integer' => 'page_size必须是整数',
  1834. ]
  1835. );
  1836. if ($validator->fails()) {
  1837. $errorMessage = $validator->errors()->first();
  1838. return Result::error($errorMessage);
  1839. }
  1840. $requireData['user_id'] = Context::get('UserId');
  1841. $result = $this->newsServiceClient->getJobPositionList($requireData);
  1842. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1843. }
  1844. /**
  1845. * 职位分类-添加
  1846. * @return array
  1847. */
  1848. public function addJobPosition()
  1849. {
  1850. $requireData = $this->request->all();
  1851. $validator = $this->validationFactory->make(
  1852. $requireData,
  1853. [
  1854. 'zwname' => 'required',
  1855. ],
  1856. [
  1857. 'zwname.required' => '职位分类名称不能为空',
  1858. ]
  1859. );
  1860. if ($validator->fails()) {
  1861. $errorMessage = $validator->errors()->first();
  1862. return Result::error($errorMessage);
  1863. }
  1864. $requireData['zwpid'] = empty($requireData['zwpid']) ? 0 : $requireData['zwpid'] ?? 0;
  1865. $requireData['user_id'] = Context::get('UserId');
  1866. $result = $this->newsServiceClient->addJobPosition($requireData);
  1867. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1868. }
  1869. /**
  1870. * 职位分类-更新
  1871. * @return array
  1872. */
  1873. public function upJobPosition()
  1874. {
  1875. $requireData = $this->request->all();
  1876. $validator = $this->validationFactory->make(
  1877. $requireData,
  1878. [
  1879. 'zwid' => 'required',
  1880. 'zwname' => 'required',
  1881. ],
  1882. [
  1883. 'zwid.required' => '职位分类id不能为空',
  1884. 'zwname.required' => '职位分类名称不能为空',
  1885. ]
  1886. );
  1887. if ($validator->fails()) {
  1888. $errorMessage = $validator->errors()->first();
  1889. return Result::error($errorMessage);
  1890. }
  1891. $requireData['zwpid'] = empty($requireData['zwpid']) ? 0 : $requireData['zwpid'] ?? 0;
  1892. $requireData['user_id'] = Context::get('UserId');
  1893. $result = $this->newsServiceClient->upJobPosition($requireData);
  1894. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1895. }
  1896. /**
  1897. * 职位分类-删除
  1898. * @return array
  1899. */
  1900. public function delJobPosition()
  1901. {
  1902. $requireData = $this->request->all();
  1903. $validator = $this->validationFactory->make(
  1904. $requireData,
  1905. [
  1906. 'zwid' => 'required',
  1907. ],
  1908. [
  1909. 'zwid.required' => '职位分类id不能为空',
  1910. ]
  1911. );
  1912. if ($validator->fails()) {
  1913. $errorMessage = $validator->errors()->first();
  1914. return Result::error($errorMessage);
  1915. }
  1916. $requireData['user_id'] = Context::get('UserId');
  1917. $result = $this->newsServiceClient->delJobPosition($requireData);
  1918. return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
  1919. }
  1920. }