diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java index a87c8995..78db59f7 100644 --- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java +++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java @@ -83,8 +83,8 @@ public class PointsModifyConsumer implements RocketMQListener { String charset = "UTF-8"; String body = new String(messageExt.getBody(), charset); BehaviorDto dto = JSONObject.parseObject(body, BehaviorDto.class); - this.handlePoints(dto); - log.info("EPDC-POINTS-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body); + String info = this.handlePoints(dto); + log.info("EPDC-POINTS-SERVER消费消息END:{topic:{}, msgId:{}, body:{}, info:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body,info); } catch (Exception e) { log.info("EPDC-POINTS-SERVER消费消息失败:msgId:{}", messageExt.getMsgId()); e.printStackTrace(); @@ -98,10 +98,10 @@ public class PointsModifyConsumer implements RocketMQListener { * 根据动作编码获取积分规则信息, * 根据动作编码和用户ID获取此动作在一定时限内的总分,然后根据上线统计指标判断是否到达上限值,未到达加分或减分,达到则不进行操作 */ - private void handlePoints(BehaviorDto dto) { + private String handlePoints(BehaviorDto dto) { //解析参数 if (StringUtils.isBlank(dto.getReferenceId()) || StringUtils.isBlank(dto.getUserId()) || StringUtils.isBlank(dto.getBehavior())) { - return; + return "mq参数传递出错:业务ID,用户ID或者行为为空"; } //计算是否超过该动作的积分上限 -- 开始 //1.根据行为编码获取积分规则 @@ -110,8 +110,11 @@ public class PointsModifyConsumer implements RocketMQListener { pointsLogsFormDTO.setUserId(dto.getUserId()); pointsLogsFormDTO.setReferenceId(dto.getReferenceId()); PointsRuleResultDTO pointsRuleResultDTO = pointsRuleService.getPointsRuleByBehaviorCode(dto.getBehavior()); - if (pointsRuleResultDTO == null || pointsRuleResultDTO.getUpperLimitVal() == 0) { - return; + if (pointsRuleResultDTO == null) { + return "获取积分负责失败"; + } + if(pointsRuleResultDTO.getUpperLimitVal() == 0){ + return "积分限值为0,无法加分"; } pointsLogsFormDTO.setRuleCode(pointsRuleResultDTO.getRuleCode()); //1.1如果规则里动作次数上限不为0则需要判断该动作是否超过次数上限 @@ -121,7 +124,7 @@ public class PointsModifyConsumer implements RocketMQListener { List pointsLogsResultDTs = pointsLogsService.getLogsByBehaviorCodeAndUserIdAndReferenceId(pointsLogsFormDTO); //如果大于或者等于上限 代表不能再进行操作 if (pointsLogsResultDTs != null && pointsLogsResultDTs.size() >= Integer.parseInt(pointsRuleResultDTO.getLimitNum())) { - return; + return "同一项目积分已达到上限值,无法继续加分"; } } //2.赋值积分规则的上限期限(小时,年。。。。) @@ -131,7 +134,7 @@ public class PointsModifyConsumer implements RocketMQListener { //判断总分是否超过上限 if (total != null) { if (Math.abs(total + pointsRuleResultDTO.getPoints()) > Math.abs(pointsRuleResultDTO.getUpperLimitVal())) { - return; + return "该动作积分已达到上限值,无法继续加分"; } } //计算是否超过该动作的积分上限 -- 结束 @@ -139,11 +142,11 @@ public class PointsModifyConsumer implements RocketMQListener { //1.获取用户信息 Result userById = usersFeignClient.getUserById(dto.getUserId()); if (!SUCCESS_CODE.equals(userById.getMsg())) { - return; + return "通过Feign获取用户信息失败"; } UserDTO userDTO = userById.getData(); if (userDTO == null) { - return; + return "无法获取到用户信息"; } //判断用户是否完善信息 Long gridId = 0L; @@ -151,7 +154,7 @@ public class PointsModifyConsumer implements RocketMQListener { //获取网格人员关系表 Result userLastSwitchGird = usersFeignClient.getUserLastSwitchGird(userDTO.getId()); if(!userLastSwitchGird.success() || userLastSwitchGird.getData()==null){ - return; + return "无法获取到网格人员关系信息"; } gridId = userLastSwitchGird.getData().getGridId(); }else{ @@ -176,6 +179,7 @@ public class PointsModifyConsumer implements RocketMQListener { //添加操作日志 -- 开始 addRuleLog(pointsRuleResultDTO, dto, userDTO); //添加操作日志 -- 结束 + return "积分操作成功!动作描述:"+pointsRuleResultDTO.getBehaviorDesc() +" 积分描述:"+pointsRuleResultDTO.getRuleDesc() +" 分数统计:" +pointsRuleResultDTO.getPoints(); } private void addRuleLog(PointsRuleResultDTO pointsRuleResultDTO, BehaviorDto dto, UserDTO userDTO) {