Browse Source

议题提交添加相隔10分钟-王公峰-2021-08-13

feature/dangjian
wanggongfeng 5 years ago
parent
commit
2229ae1beb
  1. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/IssueFeignClient.java
  2. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/IssueFeignClientFallback.java
  3. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/IssueServiceImpl.java
  4. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueDetailByUserIdFormDTO.java
  5. 13
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java
  6. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  7. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  8. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  9. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

10
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) @GetMapping(value = "events/epdc-app/issue/detail", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<IssueDetailResultDTO> getIssueDetail(IssueDetailFormDTO formDto); Result<IssueDetailResultDTO> getIssueDetail(IssueDetailFormDTO formDto);
/**
* 议题详情
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO>
* @Author: wgf
* @Date: 2021/8/13 12:33
*/
@GetMapping(value = "events/epdc-app/issue/detailByUserId", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<IssueDetailResultDTO> getIssueMaxNew(IssueDetailByUserIdFormDTO formDto);
/** /**
* 议题分类统计 * 议题分类统计
* @Params: [formDto] * @Params: [formDto]

5
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); return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "getIssueDetail", formDto);
} }
@Override
public Result<IssueDetailResultDTO> getIssueMaxNew(IssueDetailByUserIdFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "getIssueMaxNew", formDto);
}
@Override @Override
public Result<IssueCategoryStatisticsResultDTO> issueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) { public Result<IssueCategoryStatisticsResultDTO> issueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "issueCategoryStatistics", formDto); return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "issueCategoryStatistics", formDto);

13
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 com.elink.esua.epdc.utils.UserTagUtils;
import me.chanjar.weixin.mp.api.WxMpMaterialService; import me.chanjar.weixin.mp.api.WxMpMaterialService;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -57,6 +58,18 @@ public class IssueServiceImpl implements IssueService {
if (null == userDetail) { if (null == userDetail) {
return new Result().error("获取用户信息失败"); return new Result().error("获取用户信息失败");
} }
// 十分钟之内不能多次发起议题
IssueDetailByUserIdFormDTO userIdDto = new IssueDetailByUserIdFormDTO();
userIdDto.setUserId(userDetail.getUserId());
// 查询当前时间前10分钟内的数据
Result<IssueDetailResultDTO> r = issueFeignClient.getIssueMaxNew(userIdDto);
IssueDetailResultDTO d = r.getData();
if(d != null && !StringUtils.isBlank(d.getId())){
return new Result().error("十分钟之内不能多次发起议题");
}
if (formDto.getEventContent().length() > 2000) { if (formDto.getEventContent().length() > 2000) {
return new Result().error("事件内容不能超过2000字符"); return new Result().error("事件内容不能超过2000字符");
} }

21
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;
}

13
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); return this.issueService.getIssueDetail(formDto);
} }
/**
* 通过userid获取议题详情
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO>
* @Author: wgf
* @Date: 2021/8/13 11:23
*/
@GetMapping("detailByUserId")
public Result<IssueDetailResultDTO> getIssueMaxNew(@RequestBody IssueDetailByUserIdFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return this.issueService.getIssueMaxNew(formDto);
}
/** /**
* 议题分类统计 * 议题分类统计
* @Params: [formDto] * @Params: [formDto]

9
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<IssueEntity> {
*/ */
IssueDetailResultDTO selectOneIssueDetail(IssueDetailFormDTO formDto); IssueDetailResultDTO selectOneIssueDetail(IssueDetailFormDTO formDto);
/**
* 通过userid获取议题详情
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO>
* @Author: wgf
* @Date: 2021/8/13 11:23
*/
IssueDetailResultDTO getIssueMaxNew(IssueDetailByUserIdFormDTO formDto);
/** /**
* 移动端-议题处理进度 * 移动端-议题处理进度
* @Params: [issueId] * @Params: [issueId]

9
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<IssueEntity> {
*/ */
Result<IssueDetailResultDTO> getIssueDetail(IssueDetailFormDTO formDto); Result<IssueDetailResultDTO> getIssueDetail(IssueDetailFormDTO formDto);
/**
* 通过userid获取议题详情
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO>
* @Author: wgf
* @Date: 2021/8/13 11:23
*/
Result<IssueDetailResultDTO> getIssueMaxNew(IssueDetailByUserIdFormDTO formDto);
/** /**
* 议题分类统计 * 议题分类统计
* @Params: [formDto] * @Params: [formDto]

6
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<IssueDao, IssueEntity> imp
return new Result<IssueDetailResultDTO>().ok(resultDTO); return new Result<IssueDetailResultDTO>().ok(resultDTO);
} }
@Override
public Result<IssueDetailResultDTO> getIssueMaxNew(IssueDetailByUserIdFormDTO formDto) {
IssueDetailResultDTO resultDTO = baseDao.getIssueMaxNew(formDto);
return new Result<IssueDetailResultDTO>().ok(resultDTO);
}
@Override @Override
public Result<IssueCategoryStatisticsResultDTO> getIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) { public Result<IssueCategoryStatisticsResultDTO> getIssueCategoryStatistics(IssueCategoryStatisticsFormDTO formDto) {
IssueCategoryStatisticsResultDTO resultDTO = baseDao.selectOneIssueCategoryStatistics(formDto); IssueCategoryStatisticsResultDTO resultDTO = baseDao.selectOneIssueCategoryStatistics(formDto);

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

@ -336,6 +336,17 @@
img.CREATED_TIME img.CREATED_TIME
</select> </select>
<select id="getIssueMaxNew" resultType="com.elink.esua.epdc.dto.issue.result.IssueDetailResultDTO">
SELECT
issue.ID
FROM
epdc_issue issue
WHERE
issue.DEL_FLAG = '0'
and issue.CREATED_TIME &gt;= CURRENT_TIMESTAMP - INTERVAL 10 MINUTE
AND issue.USER_ID = #{userId}
</select>
<select id="selectListOfHandleProgress" resultType="com.elink.esua.epdc.dto.issue.result.IssueHandleProgressResultDTO"> <select id="selectListOfHandleProgress" resultType="com.elink.esua.epdc.dto.issue.result.IssueHandleProgressResultDTO">
SELECT SELECT
CREATED_TIME AS createdTime, CREATED_TIME AS createdTime,

Loading…
Cancel
Save