diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java index 2c80ab6..a68151c 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java @@ -5,14 +5,20 @@ import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.dto.DeptOption; +import com.elink.esua.epdc.dto.TypeNode; import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; +import com.elink.esua.epdc.dto.suggestion.form.MySuggestionFormDTO; +import com.elink.esua.epdc.dto.suggestion.form.SuggestionMakeFormDTO; +import com.elink.esua.epdc.dto.suggestion.result.MySuggestionResultDTO; import com.elink.esua.epdc.service.CustomService; import com.elink.esua.epdc.service.MessageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * @author yinzuomei * @Description 疫情管理 @@ -91,4 +97,73 @@ public class ApiCustomController { ValidatorUtils.validateEntity(completeInfoFromDto); return customService.createPidemicInfo(completeInfoFromDto, userDetail); } + + /** + * 获取 建议类别 树结构 + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 14:15 2021-09-14 + **/ + @GetMapping("getSuggestionTypeTree") + public Result> getSuggestionTypeTree() { + return customService.getSuggestionTypeTree(); + } + + /** + * 新增建议 + * + * @param formDTO + * @param userDetail + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 15:21 2021-09-14 + **/ + @PostMapping("insertSuggestion") + public Result insertSuggestion(@RequestBody SuggestionMakeFormDTO formDTO, @LoginUser TokenDto userDetail) { + ValidatorUtils.validateEntity(formDTO); + return customService.insertSuggestion(formDTO, userDetail); + } + + /** + * 修改建议 + * + * @param formDTO + * @param userDetail + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 15:21 2021-09-14 + **/ + @PostMapping("updateSuggestion") + public Result updateSuggestion(@RequestBody SuggestionMakeFormDTO formDTO, @LoginUser TokenDto userDetail) { + ValidatorUtils.validateEntity(formDTO); + return customService.updateSuggestion(formDTO, userDetail); + } + + /** + * 我提出的建议 + * + * @param formDTO + * @param userDetail + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 15:58 2021-09-14 + **/ + @GetMapping("mySuggestion") + public Result> mySuggestion(@RequestBody MySuggestionFormDTO formDTO, @LoginUser TokenDto userDetail) { + return customService.getMySuggestion(formDTO, userDetail); + } + + /** + * 建议详情 + * @param id + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 09:37 2021-09-15 + **/ + @GetMapping("detailSuggestion/{id}") + public Result detailSuggestion(@PathVariable String id) { + return customService.getDetailSuggestion(id); + } } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java index 66d5228..db0508c 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java @@ -1,8 +1,10 @@ package com.elink.esua.epdc.feign; +import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; +import com.elink.esua.epdc.dto.TypeNode; import com.elink.esua.epdc.dto.consult.result.CheckStateResultDTO; import com.elink.esua.epdc.dto.consult.form.GridOperatorListFormDTO; import com.elink.esua.epdc.dto.consult.result.GridOperatorListResultDTO; @@ -10,6 +12,9 @@ import com.elink.esua.epdc.dto.enterprise.form.EnterpriseInfoFormDTO; import com.elink.esua.epdc.dto.enterprise.result.EnterpriseInfoResultDTO; import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; +import com.elink.esua.epdc.dto.suggestion.form.MySuggestionFormDTO; +import com.elink.esua.epdc.dto.suggestion.form.SuggestionMakeFormDTO; +import com.elink.esua.epdc.dto.suggestion.result.MySuggestionResultDTO; import com.elink.esua.epdc.feign.fallback.CustomFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; @@ -128,4 +133,58 @@ public interface CustomFeignClient { */ @GetMapping("custom/vaccinationinfo/epdc-app/query") Result getUserVimInfo(@RequestParam("userName") String userName, @RequestParam("idCard") String idCard); + + /** + * 获取 建议类别 树结构 + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 14:15 2021-09-14 + **/ + @GetMapping("custom/suggestiontype/getSuggestionTypeTree") + Result> getSuggestionTypeTree(); + + /** + * 新增建议 + * + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 15:21 2021-09-14 + **/ + @PostMapping(value = "custom/suggestionmake/insertSuggestion", consumes = MediaType.APPLICATION_JSON_VALUE) + Result insertSuggestion(SuggestionMakeFormDTO formDTO); + + /** + * 修改建议 + * + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 15:21 2021-09-14 + **/ + @PostMapping(value = "custom/suggestionmake/updateSuggestion", consumes = MediaType.APPLICATION_JSON_VALUE) + Result updateSuggestion(SuggestionMakeFormDTO formDTO); + + /** + * 我提出的建议 + * + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 15:59 2021-09-14 + **/ + @GetMapping(value = "custom/suggestionmake/mySuggestion", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> getMySuggestion(MySuggestionFormDTO formDTO); + + /** + * 建议详情 + * @param id + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 09:37 2021-09-15 + **/ + @GetMapping("custom/suggestionmake/detailSuggestion/{id}") + Result getDetailSuggestion(@PathVariable("id") String id); } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java index 3806567..f0ec264 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java @@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; +import com.elink.esua.epdc.dto.TypeNode; import com.elink.esua.epdc.dto.consult.result.CheckStateResultDTO; import com.elink.esua.epdc.dto.consult.form.GridOperatorListFormDTO; import com.elink.esua.epdc.dto.consult.result.GridOperatorListResultDTO; @@ -11,6 +12,9 @@ import com.elink.esua.epdc.dto.enterprise.form.EnterpriseInfoFormDTO; import com.elink.esua.epdc.dto.enterprise.result.EnterpriseInfoResultDTO; import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; +import com.elink.esua.epdc.dto.suggestion.form.MySuggestionFormDTO; +import com.elink.esua.epdc.dto.suggestion.form.SuggestionMakeFormDTO; +import com.elink.esua.epdc.dto.suggestion.result.MySuggestionResultDTO; import com.elink.esua.epdc.feign.CustomFeignClient; import org.springframework.stereotype.Component; @@ -73,4 +77,29 @@ public class CustomFeignClientFallback implements CustomFeignClient { public Result getUserVimInfo(String userName, String idCard) { return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getUserVimInfo", userName, idCard); } + + @Override + public Result> getSuggestionTypeTree() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "getSuggestionTypeTree"); + } + + @Override + public Result insertSuggestion(SuggestionMakeFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "insertSuggestion", formDTO); + } + + @Override + public Result updateSuggestion(SuggestionMakeFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "updateSuggestion", formDTO); + } + + @Override + public Result> getMySuggestion(MySuggestionFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "getMySuggestion", formDTO); + } + + @Override + public Result getDetailSuggestion(String id) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "getDetailSuggestion", id); + } } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/CustomService.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/CustomService.java index 55e3a3e..92b0241 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/CustomService.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/CustomService.java @@ -3,9 +3,15 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.DeptOption; +import com.elink.esua.epdc.dto.TypeNode; import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; +import com.elink.esua.epdc.dto.suggestion.form.MySuggestionFormDTO; +import com.elink.esua.epdc.dto.suggestion.form.SuggestionMakeFormDTO; +import com.elink.esua.epdc.dto.suggestion.result.MySuggestionResultDTO; + +import java.util.List; /** * @Description 疫情管理 @@ -50,4 +56,55 @@ public interface CustomService { Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto, TokenDto userDetail); void completeSentryPostUserInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoDto); + + /** + * 获取 建议类别 树结构 + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 14:15 2021-09-14 + **/ + Result> getSuggestionTypeTree(); + + /** + * 新增建议 + * + * @param formDTO + * @param userDetail + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 15:21 2021-09-14 + **/ + Result insertSuggestion(SuggestionMakeFormDTO formDTO, TokenDto userDetail); + + /** + * 修改建议 + * + * @param formDTO + * @param userDetail + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 15:21 2021-09-14 + **/ + Result updateSuggestion(SuggestionMakeFormDTO formDTO, TokenDto userDetail); + + /** + * 我提出的建议 + * @param formDTO + * @param userDetail + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 15:58 2021-09-14 + **/ + Result> getMySuggestion(MySuggestionFormDTO formDTO, TokenDto userDetail); + + /** + * 建议详情 + * @param id + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author zhangyong + * @Date 09:37 2021-09-15 + **/ + Result getDetailSuggestion(String id); } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java index 7b315e4..b563cb0 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java @@ -8,13 +8,13 @@ import com.elink.esua.epdc.commons.tools.redis.RedisChannels; import com.elink.esua.epdc.commons.tools.redis.RedisKeys; import com.elink.esua.epdc.commons.tools.redis.RedisUtils; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.dto.CompleteDeptDTO; -import com.elink.esua.epdc.dto.DeptOption; -import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; -import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; +import com.elink.esua.epdc.dto.suggestion.form.MySuggestionFormDTO; +import com.elink.esua.epdc.dto.suggestion.form.SuggestionMakeFormDTO; +import com.elink.esua.epdc.dto.suggestion.result.MySuggestionResultDTO; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.CustomFeignClient; import com.elink.esua.epdc.feign.UserFeignClient; @@ -25,6 +25,8 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * @Description 疫情管理实现 * @Author yinzuomei @@ -187,4 +189,50 @@ public class CustomServiceImpl implements CustomService { } return epidemicSentryResult.getData(); } + + @Override + public Result> getSuggestionTypeTree() { + return customFeignClient.getSuggestionTypeTree(); + } + + @Override + public Result insertSuggestion(SuggestionMakeFormDTO formDTO, TokenDto userDetail) { + this.collectUserInfo(formDTO, userDetail); + return customFeignClient.insertSuggestion(formDTO); + } + + @Override + public Result updateSuggestion(SuggestionMakeFormDTO formDTO, TokenDto userDetail) { + this.collectUserInfo(formDTO, userDetail); + return customFeignClient.updateSuggestion(formDTO); + } + + private void collectUserInfo(SuggestionMakeFormDTO formDTO, TokenDto userDetail) { + formDTO.setUserId(userDetail.getUserId()); + formDTO.setNickname(userDetail.getNickname()); + formDTO.setFaceImg(userDetail.getFaceImg()); + formDTO.setMobile(userDetail.getMobile()); + formDTO.setDeptId(userDetail.getGridId()); + if (null != formDTO.getDeptId()) { + Result pidInfoResult = adminFeignClient.getParentAndAllDept(formDTO.getDeptId()); + if (pidInfoResult.success() && null != pidInfoResult.getData()) { + formDTO.setParentDeptIds(pidInfoResult.getData().getParentDeptIds()); + formDTO.setParentDeptNames(pidInfoResult.getData().getParentDeptNames()); + formDTO.setAllDeptIds(pidInfoResult.getData().getAllDeptIds()); + formDTO.setAllDeptNames(pidInfoResult.getData().getAllDeptNames()); + formDTO.setDeptName(pidInfoResult.getData().getGrid()); + } + } + } + + @Override + public Result> getMySuggestion(MySuggestionFormDTO formDTO, TokenDto userDetail) { + formDTO.setUserId(userDetail.getUserId()); + return customFeignClient.getMySuggestion(formDTO); + } + + @Override + public Result getDetailSuggestion(String id) { + return customFeignClient.getDetailSuggestion(id); + } }