|
|
@ -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); |
|
|
|
} |
|
|
|