FooterController.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use App\JsonRpc\FooterServiceInterface;
  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 App\Constants\ErrorCode;
  11. /**
  12. * Class FooterController
  13. * @package App\Controller
  14. */
  15. class FooterController extends AbstractController
  16. {
  17. #[Inject]
  18. protected ValidatorFactoryInterface $validationFactory;
  19. /**
  20. * @var FooterServiceInterface
  21. */
  22. #[Inject]
  23. private $footerServiceClient;
  24. /**
  25. * 获取底部导航
  26. * @return array
  27. */
  28. public function getFooterCategory()
  29. {
  30. $requireData = $this->request->all();
  31. if(isset($requireData['website_name'])){
  32. $validator = $this->validationFactory->make(
  33. $requireData,
  34. [
  35. 'website_name' =>'required'
  36. ],
  37. [
  38. 'website_name.required' => '网站名称不能为空'
  39. ]
  40. );
  41. if ($validator->fails()){
  42. $errorMessage = $validator->errors()->first();
  43. return Result::error($errorMessage);
  44. }
  45. $data['website_name'] = $requireData['website_name'];
  46. }
  47. if(isset($requireData['name'])){
  48. $validator = $this->validationFactory->make(
  49. $requireData,
  50. [
  51. 'name' =>'required'
  52. ],
  53. [
  54. 'name.required' => '底部导航名称不能为空'
  55. ]
  56. );
  57. if ($validator->fails()){
  58. $errorMessage = $validator->errors()->first();
  59. return Result::error($errorMessage);
  60. }
  61. $data['name'] = $requireData['name'];
  62. }
  63. $validator = $this->validationFactory->make(
  64. $requireData,
  65. [
  66. 'page' =>'required',
  67. 'pageSize' =>'required'
  68. ],
  69. [
  70. 'page.required' => '第几页不能为空',
  71. 'pageSize.required' => '每页显示数量不能为空'
  72. ]
  73. );
  74. if ($validator->fails()){
  75. $errorMessage = $validator->errors()->first();
  76. return Result::error($errorMessage);
  77. }
  78. $data['page'] = $requireData['page'];
  79. $data['pageSize'] = $requireData['pageSize'];
  80. // var_dump($data);
  81. $result = $this->footerServiceClient->getFooterCategory($data);
  82. if ($result['code'] != ErrorCode::SUCCESS) {
  83. return Result::error($result['message'],0,[]);
  84. }else{
  85. return Result::success($result['data']);
  86. }
  87. }
  88. /**
  89. * 添加底部导航
  90. * @return array
  91. */
  92. public function addFooterCategory()
  93. {
  94. $requireData = $this->request->all();
  95. if(!empty($requireData)){
  96. $validator = $this->validationFactory->make(
  97. $requireData,
  98. [
  99. 'website_id' =>'required',
  100. 'name' =>'required',
  101. 'type' =>'required'
  102. ],
  103. [
  104. 'website_id.required' => '网站id不能为空',
  105. 'name.required' => '底部导航名称不能为空',
  106. 'type.required' => '底部导航类型不能为空'
  107. ]
  108. );
  109. if ($validator->fails()){
  110. $errorMessage = $validator->errors()->first();
  111. return Result::error($errorMessage);
  112. }
  113. $data = $requireData;
  114. }else{
  115. $data = [];
  116. }
  117. $result = $this->footerServiceClient->addFooterCategory($data);
  118. if ($result['code'] != ErrorCode::SUCCESS) {
  119. return Result::error($result['message'],0,[]);
  120. }else{
  121. return Result::success($result['data']);
  122. }
  123. }
  124. /**
  125. * 修改底部导航
  126. * @return array
  127. */
  128. public function upFooterCategory()
  129. {
  130. $requireData = $this->request->all();
  131. $validator = $this->validationFactory->make(
  132. $requireData,
  133. [
  134. 'id' =>'required'
  135. ],
  136. [
  137. 'id.required' => '底部导航id不能为空'
  138. ]
  139. );
  140. if ($validator->fails()){
  141. $errorMessage = $validator->errors()->first();
  142. return Result::error($errorMessage);
  143. }
  144. if(isset($requireData['name'])){
  145. $validator = $this->validationFactory->make(
  146. $requireData,
  147. [
  148. 'name' =>'required'
  149. ],
  150. [
  151. 'name.required' => '底部导航名称不能为空'
  152. ]
  153. );
  154. if ($validator->fails()){
  155. $errorMessage = $validator->errors()->first();
  156. return Result::error($errorMessage);
  157. }
  158. $data['name'] = $requireData['name'];
  159. }
  160. if(isset($requireData['website_id'])){
  161. $validator = $this->validationFactory->make(
  162. $requireData,
  163. [
  164. 'website_id' =>'required'
  165. ],
  166. [
  167. 'website_id.required' => '网站id不能为空'
  168. ]
  169. );
  170. if ($validator->fails()){
  171. $errorMessage = $validator->errors()->first();
  172. return Result::error($errorMessage);
  173. }
  174. $data['website_id'] = $requireData['website_id'];
  175. }
  176. $data['id'] = $requireData['id'];
  177. // var_dump($data);
  178. $result = $this->footerServiceClient->upFooterCategory($data);
  179. if ($result['code'] != ErrorCode::SUCCESS) {
  180. return Result::error($result['message'],0,[]);
  181. }else{
  182. return Result::success($result['data']);
  183. }
  184. }
  185. /**
  186. * 删除底部导航
  187. * @return array
  188. */
  189. public function delFooterCategory()
  190. {
  191. $requireData = $this->request->all();
  192. $validator = $this->validationFactory->make(
  193. $requireData,
  194. [
  195. 'id' =>'required'
  196. ],
  197. [
  198. 'id.required' => '底部导航id不能为空'
  199. ]
  200. );
  201. $data['id'] = $requireData['id'];
  202. if($validator->fails()){
  203. $errorMessage = $validator->errors()->first();
  204. return Result::error($errorMessage);
  205. }
  206. $result = $this->footerServiceClient->delFooterCategory($data);
  207. if ($result['code']!= ErrorCode::SUCCESS) {
  208. return Result::error($result['message'],0,[]);
  209. }else{
  210. return Result::success($result['data']);
  211. }
  212. }
  213. /**
  214. * 添加底部导航(列表)内容
  215. * @return array
  216. */
  217. public function addFooterContent()
  218. {
  219. $requireData = $this->request->all();
  220. $validator = $this->validationFactory->make(
  221. $requireData,
  222. [
  223. 'type' =>'required',
  224. 'fcat_id' =>'required',
  225. 'con_title' =>'required',
  226. 'content' =>'required'
  227. ],
  228. [
  229. 'type.required' => '底部导航类型不能为空',
  230. 'fcat_id.required' => '底部导航id不能为空',
  231. 'con_title.required' => '内容标题不能为空',
  232. 'content.required' => '内容不能为空'
  233. ]
  234. );
  235. if($validator->fails()){
  236. $errorMessage = $validator->errors()->first();
  237. return Result::error($errorMessage);
  238. }
  239. $data['type'] = $requireData['type'];
  240. $data['fcat_id'] = $requireData['fcat_id'];
  241. $data['con_title'] = $requireData['con_title'];
  242. $data['content'] = $requireData['content'];
  243. if($data['type'] == 1){
  244. $validator = $this->validationFactory->make(
  245. $requireData,
  246. [
  247. 'list_title' =>'required'
  248. ],
  249. [
  250. 'list_title.required' => '列表标题不能为空'
  251. ]
  252. );
  253. if ($validator->fails()){
  254. $errorMessage = $validator->errors()->first();
  255. return Result::error($errorMessage);
  256. }
  257. $data['list_title'] = $requireData['list_title'];
  258. }
  259. // var_dump($data);
  260. $result = $this->footerServiceClient->addFooterContent($data);
  261. if ($result['code']!= ErrorCode::SUCCESS) {
  262. return Result::error($result['message'],0,[]);
  263. }else{
  264. return Result::success($result['data']);
  265. }
  266. }
  267. /**
  268. * 获取并搜索底部导航(列表)内容
  269. * @return array
  270. */
  271. public function getFooterContent()
  272. {
  273. $requireData = $this->request->all();
  274. $validator = $this->validationFactory->make(
  275. $requireData,
  276. [
  277. 'fcat_id' =>'required',
  278. 'page' =>'required',
  279. 'pageSize' =>'required'
  280. ],
  281. [
  282. 'fcat_id.required' => '底部导航类型不能为空',
  283. 'page.required' => '第几页不能为空',
  284. 'pageSize.required' => '每页显示数量不能为空'
  285. ]
  286. );
  287. if($validator->fails()){
  288. $errorMessage = $validator->errors()->first();
  289. return Result::error($errorMessage);
  290. }
  291. if(isset($requireData['con_title'])){
  292. $validator = $this->validationFactory->make(
  293. $requireData,
  294. [
  295. 'con_title' =>'required'
  296. ],
  297. [
  298. 'con_title.required' => '内容标题不能为空'
  299. ]
  300. );
  301. if($validator->fails()){
  302. $errorMessage = $validator->errors()->first();
  303. return Result::error($errorMessage);
  304. }
  305. $data['con_title'] = $requireData['con_title'];
  306. }
  307. $data['fcat_id'] = $requireData['fcat_id'];
  308. $data['page'] = $requireData['page'];
  309. $data['pageSize'] = $requireData['pageSize'];
  310. $result = $this->footerServiceClient->getFooterContent($data);
  311. if ($result['code']!= ErrorCode::SUCCESS) {
  312. return Result::error($result['message'],0,[]);
  313. }else{
  314. return Result::success($result['data']);
  315. }
  316. }
  317. /**
  318. * 修改底部导航(列表)内容
  319. * @return array
  320. */
  321. public function upFooterContent()
  322. {
  323. $requireData = $this->request->all();
  324. $validator = $this->validationFactory->make(
  325. $requireData,
  326. [
  327. 'id' =>'required',
  328. 'type' =>'required',
  329. 'con_title' =>'required',
  330. 'content' =>'required'
  331. ],
  332. [
  333. 'id.required' => '底部导航内容id不能为空',
  334. 'type.required' => '底部导航类型不能为空',
  335. 'con_title.required' => '内容标题不能为空',
  336. 'content.required' => '内容不能为空'
  337. ]
  338. );
  339. if($validator->fails()){
  340. $errorMessage = $validator->errors()->first();
  341. return Result::error($errorMessage);
  342. }
  343. $data['id'] = $requireData['id'];
  344. $data['type'] = $requireData['type'];
  345. $data['con_title'] = $requireData['con_title'];
  346. $data['content'] = $requireData['content'];
  347. if($data['type'] == 1){
  348. $validator = $this->validationFactory->make(
  349. $requireData,
  350. [
  351. 'list_title' =>'required'
  352. ],
  353. [
  354. 'list_title.required' => '列表标题不能为空'
  355. ]
  356. );
  357. if ($validator->fails()){
  358. $errorMessage = $validator->errors()->first();
  359. return Result::error($errorMessage);
  360. }
  361. $data['list_title'] = $requireData['list_title'];
  362. }
  363. // var_dump($data);
  364. $result = $this->footerServiceClient->upFooterContent($data);
  365. if ($result['code']!= ErrorCode::SUCCESS) {
  366. return Result::error($result['message'],0,[]);
  367. }else{
  368. return Result::success($result['data']);
  369. }
  370. }
  371. /**
  372. * 删除底部导航(列表)内容
  373. * @return array
  374. */
  375. public function delFooterContent()
  376. {
  377. $requireData = $this->request->all();
  378. $validator = $this->validationFactory->make(
  379. $requireData,
  380. [
  381. 'id' =>'required'
  382. ],
  383. [
  384. 'id.required' => '底部导航id不能为空'
  385. ]
  386. );
  387. if($validator->fails()){
  388. $errorMessage = $validator->errors()->first();
  389. return Result::error($errorMessage);
  390. }
  391. $data['id'] = $requireData['id'];
  392. // var_dump($data);
  393. $result = $this->footerServiceClient->delFooterContent($data);
  394. if ($result['code']!= ErrorCode::SUCCESS) {
  395. return Result::error($result['message'],0,[]);
  396. }else{
  397. return Result::success($result['data']);
  398. }
  399. }
  400. }