Browse Source

议题浏览bug修改

feature/syp_points
songyunpeng 6 years ago
parent
commit
8bf948bd7c
  1. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiIssueController.java
  2. 17
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiIssueController.java

@ -152,7 +152,7 @@ public class ApiIssueController {
* @Date: 2019/9/9 11:16
*/
@GetMapping("detail/{issueId}")
@RecordUserBehavior(behavior = BehaviorEnum.GROUP_TOPIC_TO_EVENTS,referenceId = "#{issueId}",userId = "#{userDetail.getUserId}")
@RecordUserBehavior(behavior = BehaviorEnum.ISSUE_BROWSE,referenceId = "#{issueId}",userId = "#{userDetail.getUserId}")
public Result<IssueDetailResultDTO> issueDetail(@LoginUser TokenDto userDetail, @PathVariable String issueId) {
return issueService.getIssueDetail(userDetail, issueId);
}

17
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java

@ -53,7 +53,6 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
private JwtTokenProperties jwtTokenProperties;
/**
* 操作类型 加分
*/
@ -100,7 +99,7 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
*/
private void handlePoints(BehaviorDto dto) {
//解析参数
if(StringUtils.isBlank(dto.getReferenceId()) || StringUtils.isBlank(dto.getUserId()) || StringUtils.isBlank(dto.getBehavior())){
if (StringUtils.isBlank(dto.getReferenceId()) || StringUtils.isBlank(dto.getUserId()) || StringUtils.isBlank(dto.getBehavior())) {
return;
}
//计算是否超过该动作的积分上限 -- 开始
@ -129,8 +128,8 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
Integer total = pointsLogsService.getPointsSumByBehaviorCodeAndUserId(pointsLogsFormDTO);
//判断总分是否超过上限
if (total != null) {
if (Math.abs(total+ pointsRuleResultDTO.getPoints()) > Math.abs(pointsRuleResultDTO.getUpperLimitVal())) {
return;
if (Math.abs(total + pointsRuleResultDTO.getPoints()) > Math.abs(pointsRuleResultDTO.getUpperLimitVal())) {
return;
}
}
//计算是否超过该动作的积分上限 -- 结束
@ -165,16 +164,6 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
//添加操作日志 -- 结束
}
/**
* 时间计算逻辑#
* 返回的总数为 离当前时间最早的一个剩余分数为界限值之后一分钟内的分数的总和 -- 作用是与界限值做判断
* 返回的时间为 离当前时间最早的一个剩余分数为界限值的操作时间 -- 作用是判断是否超过时间界限
* <p>
* 总结为若是超过积分总数界限且返回的时间+1min大于当前时间代表在时间界限内用户还在操作此时不给加分
* 若是超过积分总数界限且返回的时间+1min小于当前时间代表不在时间界限内用户在操作取界限值为剩余分
* 若是没有超过积分总数界限且返回的时间+1min小于当前时间代表不在时间界限内用户在操作取界限值为剩余分
* 若是没有超过积分总数界限且返回的时间+1min大于当前时间代表在时间界限内用户在操作剩余积分正常加减
*/
private void addRuleLog(PointsRuleResultDTO pointsRuleResultDTO, BehaviorDto dto, UserDTO userDTO) {
PointsLogsAddFormDTO pointsLogsAddFormDTO = new PointsLogsAddFormDTO();
pointsLogsAddFormDTO.setUserId(dto.getUserId());

Loading…
Cancel
Save