Browse Source

积分日志部门信息mq修改

feature/syp_points
songyunpeng 5 years ago
parent
commit
4ed2c89d29
  1. 6
      esua-epdc/epdc-module/epdc-points/epdc-points-server/pom.xml
  2. 8
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsLogsDao.java
  3. 46
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/OrganizationModifyConsumer.java
  4. 37
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/dto/OrganizationModifyDTO.java
  5. 9
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java
  6. 58
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java
  7. 1
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/application.yml
  8. 12
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsLogsDao.xml

6
esua-epdc/epdc-module/epdc-points/epdc-points-server/pom.xml

@ -157,6 +157,8 @@
<rocketmq.name.server>114.215.125.123:9876</rocketmq.name.server>
<rocketmq.producer.group>jinshui-pointsGroup</rocketmq.producer.group>
<rocketmq.consumer.points.group>jinshui-pointsGroup</rocketmq.consumer.points.group>
<rocketmq.consumer.group>jinshui-organizationGroup</rocketmq.consumer.group>
</properties>
</profile>
@ -186,6 +188,8 @@
<rocketmq.name.server>114.215.125.123:9876</rocketmq.name.server>
<rocketmq.producer.group>jinshui-pointsGroup</rocketmq.producer.group>
<rocketmq.consumer.points.group>jinshui-pointsGroup</rocketmq.consumer.points.group>
<rocketmq.consumer.group>jinshui-organizationGroup</rocketmq.consumer.group>
</properties>
</profile>
@ -219,6 +223,8 @@
<rocketmq.name.server>172.16.0.7:9876;172.16.0.8:9876</rocketmq.name.server>
<rocketmq.producer.group>jinshui-pointsGroup</rocketmq.producer.group>
<rocketmq.consumer.points.group>jinshui-pointsGroup</rocketmq.consumer.points.group>
<rocketmq.consumer.group>jinshui-organizationGroup</rocketmq.consumer.group>
</properties>
</profile>
</profiles>

8
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsLogsDao.java

@ -153,4 +153,12 @@ public interface PointsLogsDao extends BaseDao<PointsLogsEntity> {
* @date 2020/8/3 13:43
*/
List<UserPointResultDTO> selectListPoints(Map<String, Object> params);
/**
* @Description
* @Author songyunpeng
* @Date 2020/12/21
* @Param [toString]
* @return java.util.List<com.elink.esua.epdc.dto.PointsLogsDTO>
**/
List<PointsLogsDTO> selectListOfOrganizationInfo(String toString);
}

46
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/OrganizationModifyConsumer.java

@ -0,0 +1,46 @@
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.mq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.service.PointsLogsService;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.spring.annotation.MessageModel;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
*
* 组织机构信息修改-监听MQ消息
*
* @Authorliuchuang
* @Date2020/3/7 13:47
*/
@Slf4j
@Component
@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_ORGANIZATION, consumerGroup = "${rocketmq.consumer.group}", messageModel = MessageModel.BROADCASTING)
public class OrganizationModifyConsumer implements RocketMQListener<MessageExt> {
@Autowired
private PointsLogsService pointsLogsService;
@Override
public void onMessage(MessageExt messageExt) {
log.info("EPDC-POINTS-SERVER消费消息START:{topic:{}, msgId:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId());
try {
String charset = "UTF-8";
String body = new String(messageExt.getBody(), charset);
OrganizationModifyDTO dto = JSONObject.parseObject(body, OrganizationModifyDTO.class);
//积分日志表修改组织机构信息
pointsLogsService.modifyOrganizationInfo(dto);
log.info("EPDC-POINTS-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body);
} catch (Exception e) {
log.info("EPDC-POINTS-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
e.printStackTrace();
}
}
}

37
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/dto/OrganizationModifyDTO.java

@ -0,0 +1,37 @@
package com.elink.esua.epdc.mq.dto;
import lombok.Data;
import java.io.Serializable;
/**
*
* 组织机构信息修改-接收MQ消息DTO
*
* @Authorliuchuang
* @Date2020/3/7 13:46
*/
@Data
public class OrganizationModifyDTO implements Serializable {
private static final long serialVersionUID = -5692602006311937083L;
/**
* 部门ID
*/
private Long deptId;
/**
* 旧部门名称
*/
private String oldDeptName;
/**
* 新部门名称
*/
private String newDeptName;
/**
* 部门类型
*/
private String typeKey;
}

9
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java

@ -32,6 +32,7 @@ import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO;
import com.elink.esua.epdc.dto.result.PointsLogsResultDTO;
import com.elink.esua.epdc.dto.result.PointsStatisticsListResultDTO;
import com.elink.esua.epdc.entity.PointsLogsEntity;
import com.elink.esua.epdc.mq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@ -200,4 +201,12 @@ public interface PointsLogsService extends BaseService<PointsLogsEntity> {
* @date 2020/8/3 13:41
*/
PageData<UserPointResultDTO> listPoint(Map<String, Object> params);
/**
* @Description mq修改组织机构信息
* @Author songyunpeng
* @Date 2020/12/21
* @Param [dto]
* @return void
**/
void modifyOrganizationInfo(OrganizationModifyDTO dto);
}

58
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java

@ -33,10 +33,7 @@ import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.PointsLogsDao;
import com.elink.esua.epdc.dto.EpdcAdjustUserPointsDTO;
import com.elink.esua.epdc.dto.PointsLogsDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserPointResultDTO;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.constant.PointsNoticeConstant;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
@ -48,6 +45,7 @@ import com.elink.esua.epdc.dto.result.*;
import com.elink.esua.epdc.entity.PointsLogsEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.UsersFeignClient;
import com.elink.esua.epdc.mq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.redis.PointsLogsRedis;
import com.elink.esua.epdc.service.PointsBehaviorService;
import com.elink.esua.epdc.service.PointsLogsService;
@ -367,4 +365,56 @@ public class PointsLogsServiceImpl extends BaseServiceImpl<PointsLogsDao, Points
List<UserPointResultDTO> userPointResultDTOS = baseDao.selectListPoints(params);
return new PageData<>(userPointResultDTOS, iPage.getTotal());
}
@Override
public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
// 查询需要修改的组织机构信息
List<PointsLogsDTO> gridList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
if (null != gridList && gridList.size() > 0) {
// 组织机构信息处理
List<PointsLogsEntity> entities = handleOrganizationInfo(dto, gridList);
// 更新事件组织机构信息
updateBatchById(entities);
}
}
/**
*
* 组织机构信息处理
*
* @params [dto, gridList]
* @return java.util.List<com.elink.esua.epdc.entity.PointsLogsEntity>
* @author liuchuang
* @since 2020/3/7 15:25
*/
private List<PointsLogsEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<PointsLogsDTO> gridList) {
List<PointsLogsEntity> entities = new ArrayList<>();
for (PointsLogsDTO grid: gridList) {
PointsLogsEntity entity = new PointsLogsEntity();
if (StringUtils.isNotEmpty(grid.getParentDeptIds()) && StringUtils.isNotEmpty(grid.getParentDeptNames())) {
List<String> parentDeptIds = Arrays.asList(grid.getParentDeptIds().split(","));
List<String> parentDeptNames = Arrays.asList(grid.getParentDeptNames().split("-"));
int index = parentDeptIds.indexOf(dto.getDeptId().toString());
if (index >= 0 && parentDeptNames.size() > index) {
parentDeptNames.set(index, dto.getNewDeptName());
entity.setId(grid.getId());
entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
}
}
if (StringUtils.isNotEmpty(grid.getAllDeptIds()) && StringUtils.isNotEmpty(grid.getAllDeptNames())) {
List<String> allDeptIds = Arrays.asList(grid.getAllDeptIds().split(","));
List<String> allDeptNames = Arrays.asList(grid.getAllDeptNames().split("-"));
int index = allDeptIds.indexOf(dto.getDeptId().toString());
if (index >= 0 && allDeptNames.size() > index) {
allDeptNames.set(index, dto.getNewDeptName());
entity.setId(grid.getId());
entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
}
}
entities.add(entity);
}
return entities;
}
}

1
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/application.yml

@ -94,6 +94,7 @@ rocketmq:
producer:
group: @rocketmq.producer.group@
consumer:
group: @rocketmq.consumer.group@
points-group: @rocketmq.consumer.points.group@

12
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsLogsDao.xml

@ -258,4 +258,16 @@
</choose>
ORDER BY points DESC
</select>
<select id="selectListOfOrganizationInfo" resultType="com.elink.esua.epdc.dto.PointsLogsDTO">
SELECT
ID,
PARENT_DEPT_IDS,
PARENT_DEPT_NAMES,
ALL_DEPT_IDS,
ALL_DEPT_NAMES
FROM
epdc_points_logs
WHERE
FIND_IN_SET( #{deptId}, ALL_DEPT_IDS )
</select>
</mapper>

Loading…
Cancel
Save