WebsiteController.php 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use App\JsonRpc\WebsiteServiceInterface;
  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. /**
  12. * Class WebsiteController
  13. * @package App\Controller
  14. */
  15. //#[AutoController]
  16. class WebsiteController extends AbstractController
  17. {
  18. #[Inject]
  19. protected ValidatorFactoryInterface $validationFactory;
  20. /**
  21. * @var WebsiteServiceInterface
  22. */
  23. #[Inject]
  24. private $websiteServiceClient;
  25. /**
  26. * 创建站点
  27. * @return array
  28. */
  29. public function addWebsite()
  30. {
  31. $requireData = $this->request->all();
  32. $validator = $this->validationFactory->make(
  33. $requireData,
  34. [
  35. 'website_column_arr_id' => 'required',
  36. 'website_name' => 'required',
  37. 'website_url' => 'required',
  38. ],
  39. [
  40. 'website_column_id.required' => '上级网系id不能为空',
  41. 'website_name.required' => '站点名称不能为空',
  42. 'website_url.required' => '网站地址不能为空',
  43. ]
  44. );
  45. if ($validator->fails()){
  46. $errorMessage = $validator->errors()->first();
  47. return Result::error($errorMessage);
  48. }
  49. $requireData['website_url'] = json_encode($requireData['website_url']);
  50. $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):'';
  51. $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):'';
  52. $requireData['website_column_id'] = isset($requireData['website_column_arr_id'])?end($requireData['website_column_arr_id']):'';
  53. $requireData['website_column_arr_id'] = isset($requireData['website_column_arr_id'])?json_encode($requireData['website_column_arr_id']):'';
  54. var_dump($requireData);
  55. $result = $this->websiteServiceClient->createWebsite($requireData);
  56. return $result?Result::success($result['data']):Result::error($result['message']);
  57. }
  58. /**
  59. * 获取站点列表
  60. * @return void
  61. */
  62. public function getWebsiteList()
  63. {
  64. $requireData = $this->request->all();
  65. $validator = $this->validationFactory->make(
  66. $requireData,
  67. [
  68. 'page' => 'required',
  69. 'pageSize' => 'required',
  70. ],
  71. [
  72. 'page.required' => '页码不能为空',
  73. 'pageSize.required' => '每页显示条数不能为空',
  74. ]
  75. );
  76. if ($validator->fails()){
  77. $errorMessage = $validator->errors()->first();
  78. return Result::error($errorMessage);
  79. }
  80. $result = $this->websiteServiceClient->getWebsitetList($requireData);
  81. if($result['data']){
  82. foreach ($result['data']['rows'] as $k=>$v) {
  83. $result['data']['rows'][$k]['city_arr_id'] = $v['city_arr_id']?json_decode($v['city_arr_id']):'';
  84. }
  85. }
  86. return $result?Result::success($result['data']):Result::error($result['message']);
  87. }
  88. /**
  89. * 更新站点
  90. * @return array
  91. */
  92. public function updateWebsite()
  93. {
  94. $requireData = $this->request->all();
  95. $validator = $this->validationFactory->make(
  96. $requireData,
  97. [
  98. 'id' => 'required',
  99. 'website_column_arr_id' => 'required',
  100. 'website_name' => 'required',
  101. 'website_url' => 'required',
  102. ],
  103. [
  104. 'id.required' => 'id不能为空',
  105. 'website_column_id.required' => '网系id不能为空',
  106. 'website_name.required' => '站点名称不能为空',
  107. 'website_url.required' => '网站地址不能为空',
  108. ]
  109. );
  110. if ($validator->fails()){
  111. $errorMessage = $validator->errors()->first();
  112. return Result::error($errorMessage);
  113. }
  114. $requireData['website_url'] = json_encode($requireData['website_url']);
  115. $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):'';
  116. $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):'';
  117. $requireData['website_column_id'] = isset($requireData['website_column_arr_id'])?end($requireData['website_column_arr_id']):'';
  118. $requireData['website_column_arr_id'] = isset($requireData['website_column_arr_id'])?json_encode($requireData['website_column_arr_id']):'';
  119. $result = $this->websiteServiceClient->updateWebsite((int)$requireData['id'],$requireData);
  120. return $result?Result::success($result['data']):Result::error($result['message']);
  121. }
  122. /**
  123. * 删除站点
  124. * @return array
  125. */
  126. public function delWebsite()
  127. {
  128. $requireData = $this->request->all();
  129. $validator = $this->validationFactory->make(
  130. $requireData,
  131. [
  132. 'id' => 'required',
  133. ],
  134. [
  135. 'id.required' => 'id不能为空',
  136. ]
  137. );
  138. if ($validator->fails()){
  139. $errorMessage = $validator->errors()->first();
  140. return Result::error($errorMessage);
  141. }
  142. $id = (int)$requireData['id'];
  143. $result = $this->websiteServiceClient->delWebsite($id);
  144. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  145. }
  146. /**
  147. * 获取站点信息
  148. * @return array
  149. */
  150. public function getWebsiteInfo()
  151. {
  152. $requireData = $this->request->all();
  153. $validator = $this->validationFactory->make(
  154. $requireData,
  155. [
  156. 'id' => 'required',
  157. ],
  158. [
  159. 'id.required' => 'id不能为空',
  160. ]
  161. );
  162. if ($validator->fails()){
  163. $errorMessage = $validator->errors()->first();
  164. return Result::error($errorMessage);
  165. }
  166. $id = (int)$requireData['id'];
  167. $result = $this->websiteServiceClient->getWebsiteInfo($id);
  168. if($result['code']==200){
  169. $result['data']['website_url'] = isset($result['data']['website_url']) && $result['data']['website_url']?json_decode($result['data']['website_url']):'';
  170. $result['data']['website_column_arr_id'] = isset($result['data']['website_column_arr_id']) && $result['data']['website_column_arr_id']?json_decode($result['data']['website_column_arr_id']):'';
  171. $result['data']['city_arr_id'] = isset($result['data']['city_arr_id']) && $result['data']['city_arr_id']?json_decode($result['data']['city_arr_id']):'';
  172. return Result::success($result['data']);
  173. }else{
  174. return Result::error($result['message']);
  175. }
  176. }
  177. public function getWebsiteColumn()
  178. {
  179. $pid = (int)$this->request->input("pid",0);
  180. $result = $this->websiteServiceClient->getWebsiteColumn([]);
  181. $rep = PublicData::buildMenuTree($result['data']);
  182. return $rep?Result::success($rep):Result::error("查询失败");
  183. }
  184. /**
  185. * 获取站点列表
  186. * @return void
  187. */
  188. public function getWebsiteColumnList()
  189. {
  190. $keyword = $this->request->input("keyWord",'');
  191. $page = (int)$this->request->input("page",1);
  192. $pageSize = (int)$this->request->input("pageSize",10);
  193. $result = $this->websiteServiceClient->getWebsiteColumnList($keyword,$page,$pageSize);
  194. if($result['data']){
  195. foreach ($result['data']['rows'] as $k=>$v) {
  196. $result['data']['rows'][$k]['column_arr_id'] = $v['column_arr_id']?json_decode($v['column_arr_id']):[0];
  197. }
  198. }
  199. return $result?Result::success($result['data']):Result::error($result['message']);
  200. }
  201. /**
  202. * 创建栏目
  203. * @return array
  204. */
  205. public function addWebsiteColumn()
  206. {
  207. $requireData = $this->request->all();
  208. $validator = $this->validationFactory->make(
  209. $requireData,
  210. [
  211. 'column_name' => 'required',
  212. 'column_arr_id' => 'required'
  213. ],
  214. [
  215. 'column_name.required' => '栏目名称不能为空',
  216. 'column_arr_id.required' => '栏目ID不能为空'
  217. ]
  218. );
  219. if ($validator->fails()){
  220. $errorMessage = $validator->errors()->first();
  221. return Result::error($errorMessage);
  222. }
  223. if(isset($requireData['column_arr_id']) && is_array($requireData['column_arr_id'])){
  224. $requireData['pid'] = end($requireData['column_arr_id']);
  225. $requireData['column_arr_id'] = json_encode($requireData['column_arr_id']);
  226. }else{
  227. $column_arr_id= [0];
  228. $requireData['column_arr_id'] = json_encode($column_arr_id);
  229. $requireData['pid'] = end($column_arr_id);
  230. }
  231. $result = $this->websiteServiceClient->createWebsiteColumn($requireData);
  232. return $result?Result::success($result['data']):Result::error($result['message']);
  233. }
  234. /**
  235. * 创建栏目
  236. * @return array
  237. */
  238. public function updateWebsiteColumn()
  239. {
  240. $requireData = $this->request->all();
  241. $validator = $this->validationFactory->make(
  242. $requireData,
  243. [
  244. 'column_name' => 'required',
  245. 'column_arr_id' => 'required'
  246. ],
  247. [
  248. 'column_name.required' => '栏目名称不能为空',
  249. 'column_arr_id.required' => '栏目ID不能为空'
  250. ]
  251. );
  252. if ($validator->fails()){
  253. $errorMessage = $validator->errors()->first();
  254. return Result::error($errorMessage);
  255. }
  256. if(isset($requireData['column_arr_id']) && is_array($requireData['column_arr_id'])){
  257. $requireData['pid'] = end($requireData['column_arr_id']);
  258. $requireData['column_arr_id'] = json_encode($requireData['column_arr_id']);
  259. }else{
  260. $column_arr_id= [0];
  261. $requireData['column_arr_id'] = json_encode($column_arr_id);
  262. $requireData['pid'] = end($column_arr_id);
  263. }
  264. $result = $this->websiteServiceClient->updateWebsiteColumn($requireData['id'],$requireData);
  265. return $result?Result::success($result['data']):Result::error($result['message']);
  266. }
  267. /**
  268. * 删除栏目
  269. * @return array
  270. */
  271. public function delWebsiteColumn()
  272. {
  273. $id = (int)$this->request->input("id",'');
  274. $result = $this->websiteServiceClient->delWebsiteColumn($id);
  275. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  276. }
  277. /**
  278. * 获取站点角色列表
  279. * @return void
  280. */
  281. public function getWebsiteRoleList()
  282. {
  283. $requireData = $this->request->all();
  284. $validator = $this->validationFactory->make(
  285. $requireData,
  286. [
  287. 'id' => 'required'
  288. ],
  289. [
  290. 'id.required' => '站点ID不能为空'
  291. ]
  292. );
  293. if ($validator->fails()){
  294. $errorMessage = $validator->errors()->first();
  295. return Result::error($errorMessage);
  296. }
  297. $keyword = $this->request->input("keyword",'');
  298. $page = (int)$this->request->input("page",1);
  299. $pageSize = (int)$this->request->input("pageSize",10);
  300. $websiteId = (int)$this->request->input("id",'');
  301. $result = $this->websiteServiceClient->getWebsiteRoleList($keyword,$page,$pageSize,$websiteId);
  302. return $result?Result::success($result['data']):Result::error($result['message']);
  303. }
  304. /**
  305. * 创建站点角色
  306. * @return array
  307. */
  308. public function createWebsiteRole()
  309. {
  310. $requireData = $this->request->all();
  311. $validator = $this->validationFactory->make(
  312. $requireData,
  313. [
  314. 'type' => 'required',
  315. 'role_id' => 'required',
  316. 'website_id' => 'required'
  317. ],
  318. [
  319. 'type.required' => '类型不能为空',
  320. 'type_id.required' => 'ID不能为空',
  321. 'website_id.required' => '站点ID不能为空',
  322. ]
  323. );
  324. if ($validator->fails()){
  325. $errorMessage = $validator->errors()->first();
  326. return Result::error($errorMessage);
  327. }
  328. $requireData['admin_user_id'] =Context::get("UserId");
  329. $result = $this->websiteServiceClient->createWebsiteRole($requireData);
  330. return $result['code']!=0?Result::success($result['data']):Result::error($result['message']);
  331. }
  332. /**
  333. * 删除站点角色
  334. * @return array
  335. */
  336. public function delWebsiteRole()
  337. {
  338. $id = (int)$this->request->input("id",'');
  339. $result = $this->websiteServiceClient->delWebsiteRole($id);
  340. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  341. }
  342. /**
  343. * 获取站点角色用户列表
  344. * @return void
  345. */
  346. public function getWebsiteRoleUserList()
  347. {
  348. $requireData = $this->request->all();
  349. $validator = $this->validationFactory->make(
  350. $requireData,
  351. [
  352. 'website_id' => 'required',
  353. 'role_id' => 'required',
  354. ],
  355. [
  356. 'website_id.required' => '站点ID不能为空',
  357. 'role_id.required' => '角色ID不能为空',
  358. ]
  359. );
  360. if ($validator->fails()){
  361. $errorMessage = $validator->errors()->first();
  362. return Result::error($errorMessage);
  363. }
  364. $keyword = $this->request->input("keyword",'');
  365. $page = (int)$this->request->input("page",1);
  366. $pageSize = (int)$this->request->input("pageSize",10);
  367. $roleId = (int)$this->request->input("role_id",'');
  368. $websiteId = (int)$this->request->input("website_id",'');
  369. $result = $this->websiteServiceClient->getWebsiteRoleUserList($keyword,$page,$pageSize,$websiteId,$roleId);
  370. return $result?Result::success($result['data']):Result::error($result['message']);
  371. }
  372. /**
  373. * 创建站点角色用户
  374. * @return array
  375. */
  376. public function createWebsiteRoleUser()
  377. {
  378. $requireData = $this->request->all();
  379. $validator = $this->validationFactory->make(
  380. $requireData,
  381. [
  382. 'type' => 'required',
  383. 'role_id' => 'required',
  384. 'website_id' => 'required',
  385. 'user_id' => 'required',
  386. ],
  387. [
  388. 'type.required' => '类型不能为空',
  389. 'website_id.required' => '站点ID不能为空',
  390. 'role_id.required' => '角色ID不能为空',
  391. 'user_id.required' => '用户ID不能为空',
  392. ]
  393. );
  394. if ($validator->fails()){
  395. $errorMessage = $validator->errors()->first();
  396. return Result::error($errorMessage);
  397. }
  398. $requireData['admin_user_id'] =Context::get("UserId");
  399. $requireData['role_id'] = (int)$requireData['role_id'];
  400. $requireData['type'] = (int)$requireData['type'];
  401. $requireData['website_id'] =(int)$requireData['website_id'];
  402. $requireData['user_id'] = (int)$requireData['user_id'];
  403. $result = $this->websiteServiceClient->createWebsiteRoleUser($requireData);
  404. return $result['code']!=0?Result::success($result['data']):Result::error($result['message']);
  405. }
  406. /**
  407. * 删除站点角色用户
  408. * @return array
  409. */
  410. public function delWebsiteRoleUser()
  411. {
  412. $id = (int)$this->request->input("id",'');
  413. $result = $this->websiteServiceClient->delWebsiteRoleUser($id);
  414. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  415. }
  416. /**
  417. * 网站栏目映射
  418. * @return void
  419. */
  420. public function addWebsiteCategory()
  421. {
  422. $requireData = $this->request->all();
  423. $validator = $this->validationFactory->make(
  424. $requireData,
  425. [
  426. 'website_id' => 'required',
  427. 'category_arr_id' => 'required',
  428. ],
  429. [
  430. 'website_id.required' => '网站ID不能为空',
  431. 'category_arr_id.required' => '网站导航ID不能为空',
  432. ]
  433. );
  434. if ($validator->fails()){
  435. $errorMessage = $validator->errors()->first();
  436. return Result::error($errorMessage);
  437. }
  438. $result = $this->websiteServiceClient->addWebsiteCategory($requireData);
  439. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  440. }
  441. /**
  442. * 删除网站导航
  443. * @return void
  444. */
  445. public function delWebsiteCategory()
  446. {
  447. $requireData = $this->request->all();
  448. $validator = $this->validationFactory->make(
  449. $requireData,
  450. [
  451. 'website_id' => 'required',
  452. 'category_id' => 'required',
  453. ],
  454. [
  455. 'website_id.required' => '网站ID不能为空',
  456. 'category_id.required' => '网站导航ID不能为空',
  457. ]
  458. );
  459. if ($validator->fails()){
  460. $errorMessage = $validator->errors()->first();
  461. return Result::error($errorMessage);
  462. }
  463. $result = $this->websiteServiceClient->delWebsiteCategory($requireData);
  464. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  465. }
  466. /**
  467. * 获取网站导航
  468. * @return void
  469. */
  470. public function getAdminWebsiteCategory()
  471. {
  472. $requireData = $this->request->all();
  473. $validator = $this->validationFactory->make(
  474. $requireData,
  475. [
  476. 'website_id' => 'required',
  477. ],
  478. [
  479. 'website_id.required' => '网站ID不能为空',
  480. ]
  481. );
  482. if ($validator->fails()){
  483. $errorMessage = $validator->errors()->first();
  484. return Result::error($errorMessage);
  485. }
  486. $result = $this->websiteServiceClient->getAdminWebsiteCategory($requireData);
  487. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  488. }
  489. /**
  490. * 更新网站导航
  491. * @return void
  492. */
  493. public function upWebsiteCategory()
  494. {
  495. $requireData = $this->request->all();
  496. $validator = $this->validationFactory->make(
  497. $requireData,
  498. [
  499. 'website_id' => 'required',
  500. ],
  501. [
  502. 'website_id.required' => '网站ID不能为空',
  503. ]
  504. );
  505. if ($validator->fails()){
  506. $errorMessage = $validator->errors()->first();
  507. return Result::error($errorMessage);
  508. }
  509. $result = $this->websiteServiceClient->upWebsiteCategory($requireData);
  510. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  511. }
  512. /**
  513. * 获取网站与导航
  514. * @return array
  515. */
  516. public function getWebsiteCategoryList()
  517. {
  518. $requireData = $this->request->all();
  519. $validator = $this->validationFactory->make(
  520. $requireData,
  521. [
  522. 'page' => 'required',
  523. 'pageSize' => 'required',
  524. ],
  525. [
  526. 'page.required' => '当前页码数不能为空',
  527. 'pageSize.required' => '每页显示条数不能为空',
  528. ]
  529. );
  530. if ($validator->fails()){
  531. $errorMessage = $validator->errors()->first();
  532. return Result::error($errorMessage);
  533. }
  534. $result = $this->websiteServiceClient->getWebsiteCategoryList($requireData);
  535. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  536. }
  537. /**
  538. * 删除网站下面的所有导航
  539. * @return void
  540. */
  541. public function delWebsiteAllCategory()
  542. {
  543. $requireData = $this->request->all();
  544. $validator = $this->validationFactory->make(
  545. $requireData,
  546. [
  547. 'website_id' => 'required'
  548. ],
  549. [
  550. 'website_id.required' => '网站ID不能为空',
  551. ]
  552. );
  553. if ($validator->fails()){
  554. $errorMessage = $validator->errors()->first();
  555. return Result::error($errorMessage);
  556. }
  557. $result = $this->websiteServiceClient->delWebsiteAllCategory($requireData);
  558. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  559. }
  560. /**
  561. * 查看指定的导航
  562. * @return array
  563. */
  564. public function getWebsiteCategoryOnes()
  565. {
  566. $requireData = $this->request->all();
  567. $validator = $this->validationFactory->make(
  568. $requireData,
  569. [
  570. 'website_id' => 'required',
  571. 'category_id' => 'required',
  572. ],
  573. [
  574. 'website_id.required' => '网站ID不能为空',
  575. 'category_id.required' => '网站导航ID不能为空',
  576. ]
  577. );
  578. if ($validator->fails()){
  579. $errorMessage = $validator->errors()->first();
  580. return Result::error($errorMessage);
  581. }
  582. $result = $this->websiteServiceClient->getWebsiteCategoryOnes($requireData);
  583. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  584. }
  585. /**
  586. * 更新指定的某一个导航
  587. * @return array
  588. */
  589. public function upWebsiteCategoryones()
  590. {
  591. $requireData = $this->request->all();
  592. $validator = $this->validationFactory->make(
  593. $requireData,
  594. [
  595. 'website_id' => 'required',
  596. 'category_id'=> 'required',
  597. 'alias'=> 'required',
  598. 'seo_title'=> 'required',
  599. 'seo_keywords'=> 'required',
  600. 'seo_description'=> 'required',
  601. ],
  602. [
  603. 'website_id.required' => '网站ID不能为空',
  604. 'category_id.required' => '导航ID不能为空',
  605. 'alias.required' => '名称不能为空',
  606. 'seo_title.required' => 'seo标题不能为空',
  607. 'seo_keywords.required' => '关键词不能为空',
  608. 'seo_description.required' => '网站描述不能为空',
  609. ]
  610. );
  611. if ($validator->fails()){
  612. $errorMessage = $validator->errors()->first();
  613. return Result::error($errorMessage);
  614. }
  615. $result = $this->websiteServiceClient->upWebsiteCategoryones($requireData);
  616. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  617. }
  618. /**
  619. * 站下的所有导航包含子导航
  620. * @return array
  621. */
  622. public function getWebsiteAllCategory()
  623. {
  624. $requireData = $this->request->all();
  625. $validator = $this->validationFactory->make(
  626. $requireData,
  627. [
  628. 'website_id' => 'required'
  629. ],
  630. [
  631. 'website_id.required' => '网站ID不能为空',
  632. ]
  633. );
  634. if ($validator->fails()){
  635. $errorMessage = $validator->errors()->first();
  636. return Result::error($errorMessage);
  637. }
  638. $result = $this->websiteServiceClient->getWebsiteAllCategory($requireData);
  639. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  640. }
  641. /**
  642. * 管理后台首页统计
  643. * @return array
  644. */
  645. public function getAdminIndex()
  646. {
  647. return [];
  648. }
  649. /**
  650. * 获取模板皮肤分类
  651. * @return void
  652. */
  653. public function getTemplateClass()
  654. {
  655. $result = $this->websiteServiceClient->getTemplateClass([]);
  656. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  657. }
  658. /**
  659. * 添加模板分类
  660. * @return void
  661. */
  662. public function addTemplateClass()
  663. {
  664. $requireData = $this->request->all();
  665. $validator = $this->validationFactory->make(
  666. $requireData,
  667. [
  668. 'name' => 'required'
  669. ],
  670. [
  671. 'name.required' => '模板类型不能为空'
  672. ]
  673. );
  674. if ($validator->fails()){
  675. $errorMessage = $validator->errors()->first();
  676. return Result::error($errorMessage);
  677. }
  678. $data = [
  679. 'name' => $requireData['name'],
  680. 'sort' => $requireData['sort']??0,
  681. ];
  682. $result = $this->websiteServiceClient->addTemplateClass($data);
  683. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  684. }
  685. /**
  686. * 更新模板分类
  687. * @return array
  688. */
  689. public function upTemplateClass()
  690. {
  691. $requireData = $this->request->all();
  692. $validator = $this->validationFactory->make(
  693. $requireData,
  694. [
  695. 'name' => 'required',
  696. 'id'=> 'required',
  697. ],
  698. [
  699. 'name.required' => '模板类型不能为空',
  700. 'name.id' => '模板类型ID不能为空'
  701. ]
  702. );
  703. if ($validator->fails()){
  704. $errorMessage = $validator->errors()->first();
  705. return Result::error($errorMessage);
  706. }
  707. $data = [
  708. 'id'=> $requireData['id'],
  709. 'name' => $requireData['name'],
  710. 'sort' => $requireData['sort']??0,
  711. ];
  712. $result = $this->websiteServiceClient->upTemplateClass($data);
  713. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  714. }
  715. /**
  716. * 删除模板分类
  717. * @return array
  718. */
  719. public function delTemplateClass()
  720. {
  721. $requireData = $this->request->all();
  722. $validator = $this->validationFactory->make(
  723. $requireData,
  724. [
  725. 'id' => 'required'
  726. ],
  727. [
  728. 'name.required' => '类型id不能为空'
  729. ]
  730. );
  731. if ($validator->fails()){
  732. $errorMessage = $validator->errors()->first();
  733. return Result::error($errorMessage);
  734. }
  735. $data = [
  736. 'id' => $requireData['id']
  737. ];
  738. $result = $this->websiteServiceClient->delTemplateClass($data);
  739. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  740. }
  741. /**
  742. * 获取分类下的模板
  743. * @return array
  744. */
  745. public function getTemplate()
  746. {
  747. $requireData = $this->request->all();
  748. $validator = $this->validationFactory->make(
  749. $requireData,
  750. [
  751. 'template_class_id' => 'required',
  752. 'page' => 'required',
  753. 'pageSize' => 'required',
  754. ],
  755. [
  756. 'template_class_id.required' => '类型template_class_id不能为空',
  757. 'page.required' => 'page不能为空',
  758. 'pageSize.required' => '每页显示条数不能为空',
  759. ]
  760. );
  761. if ($validator->fails()){
  762. $errorMessage = $validator->errors()->first();
  763. return Result::error($errorMessage);
  764. }
  765. $data = [
  766. 'template_class_id' => $requireData['template_class_id'],
  767. 'page' => $requireData['page'],
  768. 'pageSize' => $requireData['pageSize'],
  769. ];
  770. $result = $this->websiteServiceClient->getTemplate($data);
  771. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  772. }
  773. /**
  774. * 创建皮肤模板
  775. * @return array
  776. */
  777. public function addTemplate()
  778. {
  779. $requireData = $this->request->all();
  780. // var_dump("FCK:",$requireData);
  781. $validator = $this->validationFactory->make(
  782. $requireData,
  783. [
  784. 'template_name' => 'required',
  785. 'template_class_id' => 'required',
  786. 'template_img' => 'required'
  787. ],
  788. [
  789. 'template_name.required' => '模板名称不能为空',
  790. 'template_class_id.required' => '模板类型id不能为空',
  791. 'template_img.required' => '模板图片不能为空',
  792. ]
  793. );
  794. if ($validator->fails()){
  795. $errorMessage = $validator->errors()->first();
  796. return Result::error($errorMessage);
  797. }
  798. // var_dump($requireData);
  799. $data = [
  800. 'template_name' => $requireData['template_name'],
  801. 'template_class_id' => $requireData['template_class_id'],
  802. 'template_img' => $requireData['template_img'],
  803. ];
  804. $result = $this->websiteServiceClient->addTemplate($data);
  805. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  806. }
  807. /**
  808. * 更新模板
  809. * @return array
  810. */
  811. public function upTemplate()
  812. {
  813. $requireData = $this->request->all();
  814. $validator = $this->validationFactory->make(
  815. $requireData,
  816. [
  817. 'template_name' => 'required',
  818. 'template_class_id' => 'required',
  819. 'template_img' => 'required',
  820. 'id' => 'required',
  821. ],
  822. [
  823. 'template_name.required' => '模板名称不能为空',
  824. 'template_class_id.required' => '模板类型id不能为空',
  825. 'template_img.required' => '模板图片不能为空',
  826. 'id.required' => '模板id不能为空',
  827. ]
  828. );
  829. if ($validator->fails()){
  830. $errorMessage = $validator->errors()->first();
  831. return Result::error($errorMessage);
  832. }
  833. $data = [
  834. 'id'=> $requireData['id'],
  835. 'template_name' => $requireData['template_name'],
  836. 'template_img' => $requireData['template_img'],
  837. 'template_class_id' => $requireData['template_class_id'],
  838. ];
  839. $result = $this->websiteServiceClient->upTemplate($data);
  840. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  841. }
  842. /**
  843. * 删除模板
  844. * @return array
  845. */
  846. public function delTemplate()
  847. {
  848. $requireData = $this->request->all();
  849. $validator = $this->validationFactory->make(
  850. $requireData,
  851. [
  852. 'id' => 'required'
  853. ],
  854. [
  855. 'name.required' => '模板id不能为空'
  856. ]
  857. );
  858. if ($validator->fails()){
  859. $errorMessage = $validator->errors()->first();
  860. return Result::error($errorMessage);
  861. }
  862. $data = [
  863. 'id' => $requireData['id']
  864. ];
  865. $result = $this->websiteServiceClient->delTemplate($data);
  866. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  867. }
  868. /**
  869. * 搜索网站
  870. * @return array
  871. */
  872. public function websiteList()
  873. {
  874. $requireData = $this->request->all();
  875. $result = $this->websiteServiceClient->websiteList($requireData);
  876. return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
  877. }
  878. }