Browse Source

巡查记录消费消息框架

dev_shibei_match
jianjun 4 years ago
parent
commit
330920931d
  1. 8
      epmet-module/open-data-worker/open-data-worker-client/pom.xml
  2. 28
      epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/UpsertPatrolRecordForm.java
  3. 6
      epmet-module/open-data-worker/open-data-worker-server/pom.xml
  4. 4
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/StaffPatrolDetailDao.java
  5. 4
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolDetailEntity.java
  6. 30
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataPatrolChangeEventListener.java
  7. 4
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolDetailService.java
  8. 8
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolRecordService.java
  9. 6
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolDetailServiceImpl.java
  10. 6
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java
  11. 2
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/StaffPatrolDetailDao.xml

8
epmet-module/open-data-worker/open-data-worker-client/pom.xml

@ -11,5 +11,11 @@
<artifactId>open-data-worker-client</artifactId>
<dependencies>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-tools</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
</project>

28
epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/UpsertPatrolRecordForm.java

@ -0,0 +1,28 @@
package com.epmet.opendata.dto.form;
import lombok.Data;
/**
* 插入或更新巡查记录主表
* @author liujianjun
*/
@Data
public class UpsertPatrolRecordForm {
/**
* 客户Id
*/
private String customerId;
/**
* 巡查记录id
*/
private String patrolId;
/**
* 操作类型
* SystemMessageType.USER_PATROL_START
* SystemMessageTypSTOP
*/
private String actionType;
}

6
epmet-module/open-data-worker/open-data-worker-server/pom.xml

@ -66,6 +66,12 @@
<artifactId>epmet-message-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>open-data-worker-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

4
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/StaffPatrolDetailDao.java

@ -18,7 +18,7 @@
package com.epmet.opendata.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.opendata.entity.StaffPatrolDetailEntity;
import com.epmet.opendata.entity.UserPatrolDetailEntity;
import org.apache.ibatis.annotations.Mapper;
/**
@ -28,6 +28,6 @@ import org.apache.ibatis.annotations.Mapper;
* @since v1.0.0 2021-10-14
*/
@Mapper
public interface StaffPatrolDetailDao extends BaseDao<StaffPatrolDetailEntity> {
public interface StaffPatrolDetailDao extends BaseDao<UserPatrolDetailEntity> {
}

4
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/StaffPatrolDetailEntity.java → epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolDetailEntity.java

@ -30,8 +30,8 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("staff_patrol_detail")
public class StaffPatrolDetailEntity extends BaseEpmetEntity {
@TableName("user_patrol_detail")
public class UserPatrolDetailEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;

30
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataPatrolChangeEventListener.java

@ -1,8 +1,14 @@
package com.epmet.opendata.mq.listener;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.rocketmq.messages.StaffPatrolMQMsg;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.opendata.dto.form.UpsertPatrolRecordForm;
import com.epmet.opendata.service.UserPatrolRecordService;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
@ -12,12 +18,14 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @Description 系统对接中间库巡查信息变更监听器
* @author wxz
* @Description 系统对接中间库巡查信息变更监听器
* @date 2021.10.13 15:21:48
*/
@Slf4j
public class OpenDataPatrolChangeEventListener implements MessageListenerConcurrently {
private Logger logger = LoggerFactory.getLogger(getClass());
@ -40,13 +48,23 @@ public class OpenDataPatrolChangeEventListener implements MessageListenerConcurr
String tags = messageExt.getTags();
logger.info("【开放数据事件监听器】-巡查记录信息变更-收到消息内容:{}, 操作:{}", msg, tags);
StaffPatrolMQMsg msgObj = JSON.parseObject(msg, StaffPatrolMQMsg.class);
if (msgObj == null) {
log.warn("consumeMessage msg body is blank");
return;
}
DistributedLock distributedLock = null;
RLock lock = null;
try {
//distributedLock = SpringContextUtils.getBean(DistributedLock.class);
//lock = distributedLock.getLock(String.format("lock:open_data_staff:%s", staffId),
// 30L, 30L, TimeUnit.SECONDS);
distributedLock = SpringContextUtils.getBean(DistributedLock.class);
lock = distributedLock.getLock(String.format("lock:open_data_patrol:%s", msgObj.getPatrolId()),
30L, 30L, TimeUnit.SECONDS);
UpsertPatrolRecordForm patrolRecordForm = new UpsertPatrolRecordForm();
patrolRecordForm.setCustomerId(msgObj.getCustomerId());
patrolRecordForm.setPatrolId(msgObj.getPatrolId());
patrolRecordForm.setActionType(msgObj.getActionType());
Boolean aBoolean = SpringContextUtils.getBean(UserPatrolRecordService.class).upsertPatrolRecord(patrolRecordForm);
} catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
logger.error("【开放数据事件监听器】-巡查记录信息变更-初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e)));
@ -55,7 +73,7 @@ public class OpenDataPatrolChangeEventListener implements MessageListenerConcurr
logger.error("【开放数据事件监听器】-巡查记录信息变更-初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e)));
throw e;
} finally {
//distributedLock.unLock(lock);
distributedLock.unLock(lock);
}
}
}

4
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/StaffPatrolDetailService.java → epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolDetailService.java

@ -18,7 +18,7 @@
package com.epmet.opendata.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.opendata.entity.StaffPatrolDetailEntity;
import com.epmet.opendata.entity.UserPatrolDetailEntity;
/**
* 工作人员巡查记录明细
@ -26,7 +26,7 @@ import com.epmet.opendata.entity.StaffPatrolDetailEntity;
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-14
*/
public interface StaffPatrolDetailService extends BaseService<StaffPatrolDetailEntity> {
public interface UserPatrolDetailService extends BaseService<UserPatrolDetailEntity> {
}

8
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolRecordService.java

@ -18,6 +18,7 @@
package com.epmet.opendata.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.opendata.dto.form.UpsertPatrolRecordForm;
import com.epmet.opendata.entity.UserPatrolRecordEntity;
/**
@ -28,5 +29,10 @@ import com.epmet.opendata.entity.UserPatrolRecordEntity;
*/
public interface UserPatrolRecordService extends BaseService<UserPatrolRecordEntity> {
/**
* desc根据条件更新或者插入巡查记录
* @param patrolRecordForm
* @return
*/
Boolean upsertPatrolRecord(UpsertPatrolRecordForm patrolRecordForm);
}

6
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/StaffPatrolDetailServiceImpl.java → epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolDetailServiceImpl.java

@ -19,8 +19,8 @@ package com.epmet.opendata.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.opendata.dao.StaffPatrolDetailDao;
import com.epmet.opendata.entity.StaffPatrolDetailEntity;
import com.epmet.opendata.service.StaffPatrolDetailService;
import com.epmet.opendata.entity.UserPatrolDetailEntity;
import com.epmet.opendata.service.UserPatrolDetailService;
import org.springframework.stereotype.Service;
/**
@ -30,7 +30,7 @@ import org.springframework.stereotype.Service;
* @since v1.0.0 2021-10-14
*/
@Service
public class StaffPatrolDetailServiceImpl extends BaseServiceImpl<StaffPatrolDetailDao, StaffPatrolDetailEntity> implements StaffPatrolDetailService {
public class UserPatrolDetailServiceImpl extends BaseServiceImpl<StaffPatrolDetailDao, UserPatrolDetailEntity> implements UserPatrolDetailService {

6
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java

@ -19,6 +19,7 @@ package com.epmet.opendata.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.opendata.dao.UserPatrolRecordDao;
import com.epmet.opendata.dto.form.UpsertPatrolRecordForm;
import com.epmet.opendata.entity.UserPatrolRecordEntity;
import com.epmet.opendata.service.UserPatrolRecordService;
import org.springframework.stereotype.Service;
@ -34,5 +35,8 @@ import org.springframework.stereotype.Service;
public class UserPatrolRecordServiceImpl extends BaseServiceImpl<UserPatrolRecordDao, UserPatrolRecordEntity> implements UserPatrolRecordService {
@Override
public Boolean upsertPatrolRecord(UpsertPatrolRecordForm patrolRecordForm) {
return null;
}
}

2
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/StaffPatrolDetailDao.xml

@ -3,7 +3,7 @@
<mapper namespace="com.epmet.opendata.dao.StaffPatrolDetailDao">
<resultMap type="com.epmet.opendata.entity.StaffPatrolDetailEntity" id="staffPatrolDetailMap">
<resultMap type="com.epmet.opendata.entity.UserPatrolDetailEntity" id="staffPatrolDetailMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="staffPatrolRecId" column="STAFF_PATROL_REC_ID"/>

Loading…
Cancel
Save