From 416dbd17c26711a760f4a5ff0681211f3a61d2d4 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Thu, 4 Mar 2021 13:25:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BB=BA=E8=AE=AE=E7=9B=B4=E9=80=9A=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ApiCustomInfoController.java | 47 +++++++++++++ .../esua/epdc/feign/CustomFeignClient.java | 35 ++++++++++ .../fallback/CustomFeignClientFallback.java | 15 ++++ .../esua/epdc/service/CustomService.java | 24 +++++++ .../epdc/service/impl/CustomServiceImpl.java | 39 +++++++++++ .../controller/AppAdviceController.java | 70 +++++++++++++++++++ 6 files changed, 230 insertions(+) create mode 100644 esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/advice/controller/AppAdviceController.java diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomInfoController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomInfoController.java index 061dd0ef..1f2ba19f 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomInfoController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomInfoController.java @@ -361,4 +361,51 @@ public class ApiCustomInfoController { public Result callSdsMobile(@PathVariable String id) { return customService.callSdsMobile(id); } + + + + + /** + * 用户建议问题提交 + * + * @param formDto 提交信息 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author songyunpeng + * @since 2020/10/22 17:58 + */ + @PostMapping("advice/submit") + public Result adviceSubmit(@RequestBody AdviceSubmitFormDTO formDto, @LoginUser TokenDto tokenDto) { + ValidatorUtils.validateEntity(formDto); + + return customService.adviceSubmit(formDto, tokenDto); + } + + /** + * 用户建议问题列表 + * + * @param formDto 参数 + * @param tokenDto 用户信息 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author songyunpeng + * @since 2020/10/23 11:03 + */ + @GetMapping("advice/list") + public Result> reportIssueList(AdviceListFormDTO formDto, @LoginUser TokenDto tokenDto) { + ValidatorUtils.validateEntity(formDto); + + return customService.listAdvice(formDto, tokenDto); + } + + /** + * 建议问题详情 + * + * @param id 记录ID + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author songyunpeng + * @since 2020/10/23 10:39 + */ + @GetMapping("advice/detail/{id}") + public Result adviceDetail(@PathVariable("id") String id) { + return customService.getAdviceById(id); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java index 3dfe379b..b48aead9 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java @@ -332,4 +332,39 @@ public interface CustomFeignClient { **/ @GetMapping(value = "custom/epdc-app/sds/callMobile/{id}", consumes = MediaType.APPLICATION_JSON_VALUE) Result callSdsMobile(@PathVariable String id); + + + /** + * 用户建议提交 + * + * @param formDto 提交信息 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/10/22 18:04 + */ + @PostMapping(value = "custom/epdc-app/advice/submit", consumes = MediaType.APPLICATION_JSON_VALUE) + Result adviceSubmit(AdviceSubmitFormDTO formDto); + + /** + * 用户建议列表 + * + * @param formDto 参数 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author Liuchuang + * @since 2020/10/23 10:06 + */ + @GetMapping(value = "custom/epdc-app/advice/list", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> adviceList(AdviceListFormDTO formDto); + + /** + * 建议详情 + * + * @param id 记录ID + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/10/23 10:39 + */ + @GetMapping(value = "custom/epdc-app/advice/detail/{id}", consumes = MediaType.APPLICATION_JSON_VALUE) + Result adviceDetail(@PathVariable("id") String id); + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java index 5c882ff6..f2cea8e2 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java @@ -184,4 +184,19 @@ public class CustomFeignClientFallback implements CustomFeignClient { public Result callSdsMobile(String id) { return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "callMobile", id); } + + @Override + public Result adviceSubmit(AdviceSubmitFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "adviceSubmit", formDto); + } + + @Override + public Result> adviceList(AdviceListFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "adviceList", formDto); + } + + @Override + public Result adviceDetail(String id) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "AdviceDetail", id); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java index f8686bab..46e4c556 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java @@ -331,4 +331,28 @@ public interface CustomService { * @Param [formDTO] **/ Result> getEvaluationList(EpdcSelectEvaluationListFormDTO formDTO); + /** + * @Description 提交建议 + * @Author songyunpeng + * @Date 2021/3/4 + * @Param [formDto, tokenDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result adviceSubmit(AdviceSubmitFormDTO formDto, TokenDto tokenDto); + /** + * @Description 建议列表 + * @Author songyunpeng + * @Date 2021/3/4 + * @Param [formDto, tokenDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + **/ + Result> listAdvice(AdviceListFormDTO formDto, TokenDto tokenDto); + /** + * @Description 建议详情 + * @Author songyunpeng + * @Date 2021/3/4 + * @Param [id] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result getAdviceById(String id); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java index 14457763..98a09d8b 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java @@ -352,4 +352,43 @@ public class CustomServiceImpl implements CustomService { public Result> getEvaluationList(EpdcSelectEvaluationListFormDTO formDTO) { return customFeignClient.getEvaluationList(formDTO); } + + @Override + public Result adviceSubmit(AdviceSubmitFormDTO formDto, TokenDto tokenDto) { + if (null == tokenDto) { + return new Result().error("无效的token"); + } + + // 用户信息 + formDto.setUserId(tokenDto.getUserId()); + formDto.setRealName(tokenDto.getRealName()); + formDto.setUserFace(tokenDto.getFaceImg()); + formDto.setNickname(tokenDto.getNickname()); + formDto.setMobile(tokenDto.getMobile()); + + // 机构信息 + Result dtoResult = adminFeignClient.getParentAndAllDept(tokenDto.getGridId()); + ParentAndAllDeptDTO deptDTO = dtoResult.getData(); + // 父所有部门 + formDto.setParentDeptIds(deptDTO.getParentDeptIds()); + formDto.setParentDeptNames(deptDTO.getParentDeptNames()); + // 所有部门 + formDto.setAllDeptIds(deptDTO.getAllDeptIds()); + formDto.setAllDeptNames(deptDTO.getAllDeptNames()); + // 网格 + formDto.setDeptName(deptDTO.getGrid()); + formDto.setDeptId(deptDTO.getGridId()); + return customFeignClient.adviceSubmit(formDto); + } + + @Override + public Result> listAdvice(AdviceListFormDTO formDto, TokenDto tokenDto) { + formDto.setUserId(tokenDto.getUserId()); + return customFeignClient.adviceList(formDto); } + + @Override + public Result getAdviceById(String id) { + return customFeignClient.adviceDetail(id); + } + } diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/advice/controller/AppAdviceController.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/advice/controller/AppAdviceController.java new file mode 100644 index 00000000..256ba3a0 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/advice/controller/AppAdviceController.java @@ -0,0 +1,70 @@ +package com.elink.esua.epdc.modules.advice.controller; + +import com.elink.esua.epdc.commons.tools.constant.Constant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.dto.form.AdviceListFormDTO; +import com.elink.esua.epdc.dto.form.AdviceSubmitFormDTO; +import com.elink.esua.epdc.dto.result.AdviceResultDTO; +import com.elink.esua.epdc.modules.advice.service.AdviceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 用户建议-移动端接口 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-10-22 + */ +@RestController +@RequestMapping(Constant.EPDC_APP + "advice") +public class AppAdviceController { + + @Autowired + private AdviceService adviceService; + + /** + * 用户建议提交 + * + * @param formDto 提交信息 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author songyunpeng + * @since 2020/10/22 17:28 + */ + @PostMapping("submit") + public Result adviceSubmit(@RequestBody AdviceSubmitFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + + return adviceService.saveAdvice(formDto); + } + + /** + * 用户建议列表 + * + * @param formDto 参数 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author songyunpeng + * @since 2020/10/23 10:06 + */ + @GetMapping("list") + public Result> adviceList(@RequestBody AdviceListFormDTO formDto) { + List data = adviceService.listAdvice(formDto); + return new Result>().ok(data); + } + + /** + * 建议详情 + * + * @param id 记录ID + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author songyunpeng + * @since 2020/10/23 10:39 + */ + @GetMapping("detail/{id}") + public Result adviceDetail(@PathVariable("id") String id) { + AdviceResultDTO data = adviceService.getAdviceById(id); + return new Result().ok(data); + } +}