|
@@ -0,0 +1,409 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+declare(strict_types=1);
|
|
|
+namespace App\Controller;
|
|
|
+
|
|
|
+use App\JsonRpc\FooterServiceInterface;
|
|
|
+use App\Tools\PublicData;
|
|
|
+use Hyperf\Di\Annotation\Inject;
|
|
|
+use Hyperf\HttpServer\Annotation\AutoController;
|
|
|
+use App\Tools\Result;
|
|
|
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
|
|
|
+use App\Constants\ErrorCode;
|
|
|
+/**
|
|
|
+ * Class FooterController
|
|
|
+ * @package App\Controller
|
|
|
+ */
|
|
|
+
|
|
|
+class FooterController extends AbstractController
|
|
|
+{
|
|
|
+ #[Inject]
|
|
|
+ protected ValidatorFactoryInterface $validationFactory;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @var FooterServiceInterface
|
|
|
+ */
|
|
|
+
|
|
|
+ #[Inject]
|
|
|
+ private $footerServiceClient;
|
|
|
+ /**
|
|
|
+ * 获取底部导航
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function getFooterCategory()
|
|
|
+ {
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ if(isset($requireData['website_name'])){
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'website_name' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'website_name.required' => '网站名称不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['website_name'] = $requireData['website_name'];
|
|
|
+ }
|
|
|
+ if(isset($requireData['name'])){
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'name' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'name.required' => '底部导航名称不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['name'] = $requireData['name'];
|
|
|
+ }
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'page' =>'required',
|
|
|
+ 'pageSize' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'page.required' => '第几页不能为空',
|
|
|
+ 'pageSize.required' => '每页显示数量不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['page'] = $requireData['page'];
|
|
|
+ $data['pageSize'] = $requireData['pageSize'];
|
|
|
+ // var_dump($data);
|
|
|
+ $result = $this->footerServiceClient->getFooterCategory($data);
|
|
|
+ if ($result['code'] != ErrorCode::SUCCESS) {
|
|
|
+ return Result::error($result['message'],0,[]);
|
|
|
+ }else{
|
|
|
+ return Result::success($result['data']);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 添加底部导航
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function addFooterCategory()
|
|
|
+ {
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ if(!empty($requireData)){
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'website_id' =>'required',
|
|
|
+ 'name' =>'required',
|
|
|
+ 'type' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'website_id.required' => '网站id不能为空',
|
|
|
+ 'name.required' => '底部导航名称不能为空',
|
|
|
+ 'type.required' => '底部导航类型不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data = $requireData;
|
|
|
+ }else{
|
|
|
+ $data = [];
|
|
|
+ }
|
|
|
+ $result = $this->footerServiceClient->addFooterCategory($data);
|
|
|
+ if ($result['code'] != ErrorCode::SUCCESS) {
|
|
|
+ return Result::error($result['message'],0,[]);
|
|
|
+ }else{
|
|
|
+ return Result::success($result['data']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 修改底部导航
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function upFooterCategory()
|
|
|
+ {
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'id' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'id.required' => '底部导航id不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ if(isset($requireData['name'])){
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'name' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'name.required' => '底部导航名称不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['name'] = $requireData['name'];
|
|
|
+ }
|
|
|
+ if(isset($requireData['website_id'])){
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'website_id' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'website_id.required' => '网站id不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['website_id'] = $requireData['website_id'];
|
|
|
+ }
|
|
|
+
|
|
|
+ $data['id'] = $requireData['id'];
|
|
|
+ // var_dump($data);
|
|
|
+ $result = $this->footerServiceClient->upFooterCategory($data);
|
|
|
+ if ($result['code'] != ErrorCode::SUCCESS) {
|
|
|
+ return Result::error($result['message'],0,[]);
|
|
|
+ }else{
|
|
|
+ return Result::success($result['data']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 删除底部导航
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function delFooterCategory()
|
|
|
+ {
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'id' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'id.required' => '底部导航id不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ $data['id'] = $requireData['id'];
|
|
|
+ if($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $result = $this->footerServiceClient->delFooterCategory($data);
|
|
|
+ if ($result['code']!= ErrorCode::SUCCESS) {
|
|
|
+ return Result::error($result['message'],0,[]);
|
|
|
+ }else{
|
|
|
+ return Result::success($result['data']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 添加底部导航(列表)内容
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function addFooterContent()
|
|
|
+ {
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'type' =>'required',
|
|
|
+ 'fcat_id' =>'required',
|
|
|
+ 'con_title' =>'required',
|
|
|
+ 'content' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'type.required' => '底部导航类型不能为空',
|
|
|
+ 'fcat_id.required' => '底部导航id不能为空',
|
|
|
+ 'con_title.required' => '内容标题不能为空',
|
|
|
+ 'content.required' => '内容不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+
|
|
|
+ if($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['type'] = $requireData['type'];
|
|
|
+ $data['fcat_id'] = $requireData['fcat_id'];
|
|
|
+ $data['con_title'] = $requireData['con_title'];
|
|
|
+ $data['content'] = $requireData['content'];
|
|
|
+ if($data['type'] == 1){
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'list_title' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'list_title.required' => '列表标题不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['list_title'] = $requireData['list_title'];
|
|
|
+ }
|
|
|
+ // var_dump($data);
|
|
|
+ $result = $this->footerServiceClient->addFooterContent($data);
|
|
|
+ if ($result['code']!= ErrorCode::SUCCESS) {
|
|
|
+ return Result::error($result['message'],0,[]);
|
|
|
+ }else{
|
|
|
+ return Result::success($result['data']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取并搜索底部导航(列表)内容
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function getFooterContent()
|
|
|
+ {
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'fcat_id' =>'required',
|
|
|
+ 'page' =>'required',
|
|
|
+ 'pageSize' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'fcat_id.required' => '底部导航类型不能为空',
|
|
|
+ 'page.required' => '第几页不能为空',
|
|
|
+ 'pageSize.required' => '每页显示数量不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ if(isset($requireData['con_title'])){
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'con_title' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'con_title.required' => '内容标题不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['con_title'] = $requireData['con_title'];
|
|
|
+ }
|
|
|
+
|
|
|
+ $data['fcat_id'] = $requireData['fcat_id'];
|
|
|
+ $data['page'] = $requireData['page'];
|
|
|
+ $data['pageSize'] = $requireData['pageSize'];
|
|
|
+ $result = $this->footerServiceClient->getFooterContent($data);
|
|
|
+ if ($result['code']!= ErrorCode::SUCCESS) {
|
|
|
+ return Result::error($result['message'],0,[]);
|
|
|
+ }else{
|
|
|
+ return Result::success($result['data']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 修改底部导航(列表)内容
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function upFooterContent()
|
|
|
+ {
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'id' =>'required',
|
|
|
+ 'type' =>'required',
|
|
|
+ 'con_title' =>'required',
|
|
|
+ 'content' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'id.required' => '底部导航内容id不能为空',
|
|
|
+ 'type.required' => '底部导航类型不能为空',
|
|
|
+ 'con_title.required' => '内容标题不能为空',
|
|
|
+ 'content.required' => '内容不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['id'] = $requireData['id'];
|
|
|
+ $data['type'] = $requireData['type'];
|
|
|
+ $data['con_title'] = $requireData['con_title'];
|
|
|
+ $data['content'] = $requireData['content'];
|
|
|
+ if($data['type'] == 1){
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'list_title' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'list_title.required' => '列表标题不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if ($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['list_title'] = $requireData['list_title'];
|
|
|
+ }
|
|
|
+ // var_dump($data);
|
|
|
+ $result = $this->footerServiceClient->upFooterContent($data);
|
|
|
+ if ($result['code']!= ErrorCode::SUCCESS) {
|
|
|
+ return Result::error($result['message'],0,[]);
|
|
|
+ }else{
|
|
|
+ return Result::success($result['data']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 删除底部导航(列表)内容
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function delFooterContent()
|
|
|
+ {
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
+ $requireData,
|
|
|
+ [
|
|
|
+ 'id' =>'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'id.required' => '底部导航id不能为空'
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ if($validator->fails()){
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $data['id'] = $requireData['id'];
|
|
|
+ // var_dump($data);
|
|
|
+ $result = $this->footerServiceClient->delFooterContent($data);
|
|
|
+ if ($result['code']!= ErrorCode::SUCCESS) {
|
|
|
+ return Result::error($result['message'],0,[]);
|
|
|
+ }else{
|
|
|
+ return Result::success($result['data']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|