Browse Source

积分bug修改

feature/syp_points
songyunpeng 5 years ago
parent
commit
684ea9fed4
  1. 7
      esua-epdc/epdc-commons/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/aop/UserBehaviorAop.java
  2. 10
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/feign/UsersFeignClient.java
  3. 5
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/feign/fallback/UsersFeignClientFallback.java
  4. 45
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java

7
esua-epdc/epdc-commons/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/aop/UserBehaviorAop.java

@ -165,7 +165,12 @@ public class UserBehaviorAop {
behaviorDto.setBehavior(behaviorCode);
behaviorDto.setReferenceId(referenceId);
behaviorDto.setUserId(userId);
behaviorDto.setGridId(Long.parseLong(gridId));
try {
behaviorDto.setGridId(Long.parseLong(gridId));
}catch (Exception e){
//如果网格ID获取失败 赋值为0L
behaviorDto.setGridId(0L);
}
behaviorDto.setOperationTime(new Date());
log.info("动作发送信息:动作编码:"+behaviorCode+" 用户ID:"+userId+",业务ID:"+referenceId+",网格ID:"+gridId+",操作时间:"+behaviorDto.getOperationTime());
//发送mq

10
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/feign/UsersFeignClient.java

@ -66,5 +66,15 @@ public interface UsersFeignClient {
**/
@GetMapping(value = "app-user/epdc-app/user/getUserGridIdByUserId/{userId}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<Long> getUserGridIdByUserId(@PathVariable String userId);
/**
* @Description 获取用户第一次扫码网格的信息
* @Author songyunpeng
* @Date 2020/6/2
* @Param [userId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserGridRelationDTO>
**/
@GetMapping(value = "app-user/usergrid/getUserFirstScanGird/{userId}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<UserGridRelationDTO> getUserFirstScanGird(@PathVariable("userId") String userId);
}

5
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/feign/fallback/UsersFeignClientFallback.java

@ -41,4 +41,9 @@ public class UsersFeignClientFallback implements UsersFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserGridIdByUserId", userId);
}
@Override
public Result<UserGridRelationDTO> getUserFirstScanGird(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserFirstScanGird", userId);
}
}

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

@ -2,11 +2,11 @@ package com.elink.esua.epdc.mq;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.security.content.dto.form.ParentAndAllDeptDTO;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.dto.form.PointsLogsAddFormDTO;
import com.elink.esua.epdc.dto.form.PointsLogsFormDTO;
@ -85,7 +85,7 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
String body = new String(messageExt.getBody(), charset);
BehaviorDto dto = JSONObject.parseObject(body, BehaviorDto.class);
String info = this.handlePoints(dto);
log.info("EPDC-POINTS-SERVER消费消息END:{topic:{}, msgId:{}, body:{}, info:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body,info);
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();
@ -114,7 +114,7 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
if (pointsRuleResultDTO == null) {
return "获取积分规则失败";
}
if(pointsRuleResultDTO.getUpperLimitVal() == 0){
if (pointsRuleResultDTO.getUpperLimitVal() == 0) {
return "积分限值为0,无法加分";
}
pointsLogsFormDTO.setRuleCode(pointsRuleResultDTO.getRuleCode());
@ -179,7 +179,7 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
//添加操作日志 -- 开始
addRuleLog(pointsRuleResultDTO, dto, userDTO);
//添加操作日志 -- 结束
return "积分操作成功!动作描述:"+pointsRuleResultDTO.getBehaviorDesc() +" 积分描述:"+pointsRuleResultDTO.getRuleDesc() +" 分数统计:" +pointsRuleResultDTO.getPoints();
return "积分操作成功!动作描述:" + pointsRuleResultDTO.getBehaviorDesc() + " 积分描述:" + pointsRuleResultDTO.getRuleDesc() + " 分数统计:" + pointsRuleResultDTO.getPoints();
}
private void addRuleLog(PointsRuleResultDTO pointsRuleResultDTO, BehaviorDto dto, UserDTO userDTO) {
@ -195,20 +195,33 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
pointsLogsAddFormDTO.setOperationDesc(pointsRuleResultDTO.getRuleDesc());
pointsLogsAddFormDTO.setOperationTime(dto.getOperationTime());
pointsLogsAddFormDTO.setOperationMode("user");
if(dto.getGridId()!=null){
pointsLogsAddFormDTO.setGridId(dto.getGridId());
Result<ParentAndAllDeptDTO> parentAndAllDept = adminFeignClient.getParentAndAllDept(dto.getGridId());
if(parentAndAllDept==null || parentAndAllDept.getData()==null){
throw new RenException("获取所属部门信息失败!");
if (dto.getGridId() != null) {
if (0L == dto.getGridId()) {
//用户网格ID为空,获取第一次扫码网格
Result<UserGridRelationDTO> userFirstScanGird = usersFeignClient.getUserFirstScanGird(dto.getUserId());
if (userFirstScanGird != null && userFirstScanGird.getData() != null) {
UserGridRelationDTO userGridRelationDTO = new UserGridRelationDTO();
pointsLogsAddFormDTO.setGridId(userGridRelationDTO.getGridId());
pointsLogsAddFormDTO.setGrid(userGridRelationDTO.getGrid());
pointsLogsAddFormDTO.setAllDeptIds(userGridRelationDTO.getAllDeptIds());
pointsLogsAddFormDTO.setAllDeptNames(userGridRelationDTO.getAllDeptNames());
pointsLogsAddFormDTO.setParentDeptIds(userGridRelationDTO.getParentDeptIds());
pointsLogsAddFormDTO.setParentDeptNames(userGridRelationDTO.getParentDeptNames());
}
} else {
Result<ParentAndAllDeptDTO> parentAndAllDept = adminFeignClient.getParentAndAllDept(dto.getGridId());
if (parentAndAllDept != null || parentAndAllDept.getData() != null) {
ParentAndAllDeptDTO parentAndAllDeptDTO = parentAndAllDept.getData();
pointsLogsAddFormDTO.setGridId(parentAndAllDeptDTO.getGridId());
pointsLogsAddFormDTO.setGrid(parentAndAllDeptDTO.getGrid());
pointsLogsAddFormDTO.setAllDeptIds(parentAndAllDeptDTO.getAllDeptIds());
pointsLogsAddFormDTO.setAllDeptNames(parentAndAllDeptDTO.getAllDeptNames());
pointsLogsAddFormDTO.setParentDeptIds(parentAndAllDeptDTO.getParentDeptIds());
pointsLogsAddFormDTO.setParentDeptNames(parentAndAllDeptDTO.getParentDeptNames());
}
}
ParentAndAllDeptDTO parentAndAllDeptDTO = parentAndAllDept.getData();
pointsLogsAddFormDTO.setGrid(parentAndAllDeptDTO.getGrid());
pointsLogsAddFormDTO.setAllDeptIds(parentAndAllDeptDTO.getAllDeptIds());
pointsLogsAddFormDTO.setAllDeptNames(parentAndAllDeptDTO.getAllDeptNames());
pointsLogsAddFormDTO.setParentDeptIds(parentAndAllDeptDTO.getParentDeptIds());
pointsLogsAddFormDTO.setParentDeptNames(parentAndAllDeptDTO.getParentDeptNames());
}
pointsLogsAddFormDTO.setLavePoints(userDTO.getPoints()+pointsRuleResultDTO.getPoints());
pointsLogsAddFormDTO.setLavePoints(userDTO.getPoints() + pointsRuleResultDTO.getPoints());
PointsLogsEntity pointsLogsEntity = ConvertUtils.sourceToTarget(pointsLogsAddFormDTO, PointsLogsEntity.class);
pointsLogsService.insert(pointsLogsEntity);
}

Loading…
Cancel
Save