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.setBehavior(behaviorCode);
behaviorDto.setReferenceId(referenceId); behaviorDto.setReferenceId(referenceId);
behaviorDto.setUserId(userId); 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()); behaviorDto.setOperationTime(new Date());
log.info("动作发送信息:动作编码:"+behaviorCode+" 用户ID:"+userId+",业务ID:"+referenceId+",网格ID:"+gridId+",操作时间:"+behaviorDto.getOperationTime()); log.info("动作发送信息:动作编码:"+behaviorCode+" 用户ID:"+userId+",业务ID:"+referenceId+",网格ID:"+gridId+",操作时间:"+behaviorDto.getOperationTime());
//发送mq //发送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) @GetMapping(value = "app-user/epdc-app/user/getUserGridIdByUserId/{userId}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<Long> getUserGridIdByUserId(@PathVariable String userId); 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); 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.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant; 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.security.content.dto.form.ParentAndAllDeptDTO;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO; 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.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.dto.form.PointsLogsAddFormDTO; import com.elink.esua.epdc.dto.form.PointsLogsAddFormDTO;
import com.elink.esua.epdc.dto.form.PointsLogsFormDTO; 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); String body = new String(messageExt.getBody(), charset);
BehaviorDto dto = JSONObject.parseObject(body, BehaviorDto.class); BehaviorDto dto = JSONObject.parseObject(body, BehaviorDto.class);
String info = this.handlePoints(dto); 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) { } catch (Exception e) {
log.info("EPDC-POINTS-SERVER消费消息失败:msgId:{}", messageExt.getMsgId()); log.info("EPDC-POINTS-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
e.printStackTrace(); e.printStackTrace();
@ -114,7 +114,7 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
if (pointsRuleResultDTO == null) { if (pointsRuleResultDTO == null) {
return "获取积分规则失败"; return "获取积分规则失败";
} }
if(pointsRuleResultDTO.getUpperLimitVal() == 0){ if (pointsRuleResultDTO.getUpperLimitVal() == 0) {
return "积分限值为0,无法加分"; return "积分限值为0,无法加分";
} }
pointsLogsFormDTO.setRuleCode(pointsRuleResultDTO.getRuleCode()); pointsLogsFormDTO.setRuleCode(pointsRuleResultDTO.getRuleCode());
@ -179,7 +179,7 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
//添加操作日志 -- 开始 //添加操作日志 -- 开始
addRuleLog(pointsRuleResultDTO, dto, userDTO); 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) { private void addRuleLog(PointsRuleResultDTO pointsRuleResultDTO, BehaviorDto dto, UserDTO userDTO) {
@ -195,20 +195,33 @@ public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
pointsLogsAddFormDTO.setOperationDesc(pointsRuleResultDTO.getRuleDesc()); pointsLogsAddFormDTO.setOperationDesc(pointsRuleResultDTO.getRuleDesc());
pointsLogsAddFormDTO.setOperationTime(dto.getOperationTime()); pointsLogsAddFormDTO.setOperationTime(dto.getOperationTime());
pointsLogsAddFormDTO.setOperationMode("user"); pointsLogsAddFormDTO.setOperationMode("user");
if(dto.getGridId()!=null){ if (dto.getGridId() != null) {
pointsLogsAddFormDTO.setGridId(dto.getGridId()); if (0L == dto.getGridId()) {
Result<ParentAndAllDeptDTO> parentAndAllDept = adminFeignClient.getParentAndAllDept(dto.getGridId()); //用户网格ID为空,获取第一次扫码网格
if(parentAndAllDept==null || parentAndAllDept.getData()==null){ Result<UserGridRelationDTO> userFirstScanGird = usersFeignClient.getUserFirstScanGird(dto.getUserId());
throw new RenException("获取所属部门信息失败!"); 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); PointsLogsEntity pointsLogsEntity = ConvertUtils.sourceToTarget(pointsLogsAddFormDTO, PointsLogsEntity.class);
pointsLogsService.insert(pointsLogsEntity); pointsLogsService.insert(pointsLogsEntity);
} }

Loading…
Cancel
Save