From 2229ae1beb7fd0c11bf79622928cf324ebcee4ea Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Fri, 13 Aug 2021 10:54:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E6=8F=90=E4=BA=A4=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=9B=B8=E9=9A=9410=E5=88=86=E9=92=9F-=E7=8E=8B?= =?UTF-8?q?=E5=85=AC=E5=B3=B0-2021-08-13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esua/epdc/feign/IssueFeignClient.java | 10 +++++++++ .../fallback/IssueFeignClientFallback.java | 5 +++++ .../epdc/service/impl/IssueServiceImpl.java | 13 ++++++++++++ .../form/IssueDetailByUserIdFormDTO.java | 21 +++++++++++++++++++ .../controller/EpdcAppIssueController.java | 13 ++++++++++++ .../esua/epdc/modules/issue/dao/IssueDao.java | 9 ++++++++ .../modules/issue/service/IssueService.java | 9 ++++++++ .../issue/service/impl/IssueServiceImpl.java | 6 ++++++ .../main/resources/mapper/issue/IssueDao.xml | 11 ++++++++++ 9 files changed, 97 insertions(+) create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueDetailByUserIdFormDTO.java diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java index 551adb01d..be221f723 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java @@ -62,6 +62,16 @@ public interface IssueFeignClient { @GetMapping(value = "events/epdc-app/issue/detail", consumes = MediaType.APPLICATION_JSON_VALUE) Result getIssueDetail(IssueDetailFormDTO formDto); + /** + * 议题详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: wgf + * @Date: 2021/8/13 12:33 + */ + @GetMapping(value = "events/epdc-app/issue/detailByUserId", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getIssueMaxNew(IssueDetailByUserIdFormDTO formDto); + /** * 议题分类统计 * @Params: [formDto] diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java index d72b87b9a..57733cb0f 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java @@ -40,6 +40,11 @@ public class IssueFeignClientFallback implements IssueFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "getIssueDetail", formDto); } + @Override + public Result getIssueMaxNew(IssueDetailByUserIdFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "getIssueMaxNew", formDto); + } + @Override public Result issueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "issueCategoryStatistics", formDto); diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java index 74c9b43af..60177d6a7 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java @@ -19,6 +19,7 @@ import com.elink.esua.epdc.service.IssueService; import com.elink.esua.epdc.utils.UserTagUtils; import me.chanjar.weixin.mp.api.WxMpMaterialService; import me.chanjar.weixin.mp.api.WxMpService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -57,6 +58,18 @@ public class IssueServiceImpl implements IssueService { if (null == userDetail) { return new Result().error("获取用户信息失败"); } + + // 十分钟之内不能多次发起议题 + IssueDetailByUserIdFormDTO userIdDto = new IssueDetailByUserIdFormDTO(); + userIdDto.setUserId(userDetail.getUserId()); + // 查询当前时间前10分钟内的数据 + Result r = issueFeignClient.getIssueMaxNew(userIdDto); + IssueDetailResultDTO d = r.getData(); + if(d != null && !StringUtils.isBlank(d.getId())){ + return new Result().error("十分钟之内不能多次发起议题"); + } + + if (formDto.getEventContent().length() > 2000) { return new Result().error("事件内容不能超过2000字符"); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueDetailByUserIdFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueDetailByUserIdFormDTO.java new file mode 100644 index 000000000..e42993de8 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueDetailByUserIdFormDTO.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.dto.issue.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 议题列表DTO + * @Author wgf + * @Date 2021/8/13 11:11 + */ +@Data +public class IssueDetailByUserIdFormDTO implements Serializable { + private static final long serialVersionUID = -3193376894926069344L; + /** + * 用户ID + */ + @NotBlank(message = "用户ID不能为空") + private String userId; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java index 2df4b4f3c..3a328de92 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java @@ -72,6 +72,19 @@ public class EpdcAppIssueController { return this.issueService.getIssueDetail(formDto); } + /** + * 通过userid获取议题详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: wgf + * @Date: 2021/8/13 11:23 + */ + @GetMapping("detailByUserId") + public Result getIssueMaxNew(@RequestBody IssueDetailByUserIdFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return this.issueService.getIssueMaxNew(formDto); + } + /** * 议题分类统计 * @Params: [formDto] diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java index f49030a7b..28a2e404f 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java @@ -95,6 +95,15 @@ public interface IssueDao extends BaseDao { */ IssueDetailResultDTO selectOneIssueDetail(IssueDetailFormDTO formDto); + /** + * 通过userid获取议题详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: wgf + * @Date: 2021/8/13 11:23 + */ + IssueDetailResultDTO getIssueMaxNew(IssueDetailByUserIdFormDTO formDto); + /** * 移动端-议题处理进度 * @Params: [issueId] diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java index 790ec9ced..9122300fa 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java @@ -170,6 +170,15 @@ public interface IssueService extends BaseService { */ Result getIssueDetail(IssueDetailFormDTO formDto); + /** + * 通过userid获取议题详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: wgf + * @Date: 2021/8/13 11:23 + */ + Result getIssueMaxNew(IssueDetailByUserIdFormDTO formDto); + /** * 议题分类统计 * @Params: [formDto] diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java index b5314c8ee..923e6df64 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java @@ -362,6 +362,12 @@ public class IssueServiceImpl extends BaseServiceImpl imp return new Result().ok(resultDTO); } + @Override + public Result getIssueMaxNew(IssueDetailByUserIdFormDTO formDto) { + IssueDetailResultDTO resultDTO = baseDao.getIssueMaxNew(formDto); + return new Result().ok(resultDTO); + } + @Override public Result getIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) { IssueCategoryStatisticsResultDTO resultDTO = baseDao.selectOneIssueCategoryStatistics(formDto); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml index 2e62cc43b..56757df4f 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml @@ -336,6 +336,17 @@ img.CREATED_TIME + +