|
@ -3,19 +3,25 @@ package com.elink.esua.epdc.rocketmq.consumer; |
|
|
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.exception.RenException; |
|
|
|
|
|
import com.elink.esua.epdc.commons.tools.redis.RedisKeys; |
|
|
|
|
|
import com.elink.esua.epdc.commons.tools.redis.RedisUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils; |
|
|
import com.elink.esua.epdc.rocketmq.dto.PersonTestingModifyDTO; |
|
|
import com.elink.esua.epdc.rocketmq.dto.PersonTestingModifyDTO; |
|
|
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInfoDao; |
|
|
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInfoDao; |
|
|
import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInfoEntity; |
|
|
import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInfoEntity; |
|
|
|
|
|
import com.elink.esua.epdc.vaccine.vim.dto.VaccinationAuthDTO; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.apache.rocketmq.common.message.MessageExt; |
|
|
import org.apache.rocketmq.common.message.MessageExt; |
|
|
import org.apache.rocketmq.spring.annotation.MessageModel; |
|
|
import org.apache.rocketmq.spring.annotation.MessageModel; |
|
|
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; |
|
|
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; |
|
|
import org.apache.rocketmq.spring.core.RocketMQListener; |
|
|
import org.apache.rocketmq.spring.core.RocketMQListener; |
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Component; |
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
import javax.annotation.Resource; |
|
|
|
|
|
|
|
|
|
|
|
import static com.elink.esua.epdc.commons.tools.redis.RedisUtils.MINUTE_ONE_EXPIRE; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 疫苗接种-监听MQ消息 |
|
|
* 疫苗接种-监听MQ消息 |
|
|
* |
|
|
* |
|
@ -30,6 +36,9 @@ public class PersonTestingModifyConsumer implements RocketMQListener<MessageExt> |
|
|
@Resource |
|
|
@Resource |
|
|
private EpidemicUserInfoDao epidemicUserInfoDao; |
|
|
private EpidemicUserInfoDao epidemicUserInfoDao; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private RedisUtils redisUtils; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void onMessage(MessageExt messageExt) { |
|
|
public void onMessage(MessageExt messageExt) { |
|
|
log.info("EPDC-CUSTOM-SERVER消费消息START:{topic:{}, msgId:{}}", RocketMqConstant.MQ_TOPIC_VACCINE, messageExt.getMsgId()); |
|
|
log.info("EPDC-CUSTOM-SERVER消费消息START:{topic:{}, msgId:{}}", RocketMqConstant.MQ_TOPIC_VACCINE, messageExt.getMsgId()); |
|
@ -38,6 +47,13 @@ public class PersonTestingModifyConsumer implements RocketMQListener<MessageExt> |
|
|
String body = new String(messageExt.getBody(), charset); |
|
|
String body = new String(messageExt.getBody(), charset); |
|
|
PersonTestingModifyDTO dto = JSONObject.parseObject(body, PersonTestingModifyDTO.class); |
|
|
PersonTestingModifyDTO dto = JSONObject.parseObject(body, PersonTestingModifyDTO.class); |
|
|
|
|
|
|
|
|
|
|
|
// 双模块要控制单挑插入
|
|
|
|
|
|
String key = RedisKeys.getVaccinationTestingKey(dto.getIdcard()); |
|
|
|
|
|
Object obj = redisUtils.get(key); |
|
|
|
|
|
if (null != obj) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
EpidemicUserInfoEntity entity = epidemicUserInfoDao.selectInfoByIdCard(dto.getIdcard()); |
|
|
EpidemicUserInfoEntity entity = epidemicUserInfoDao.selectInfoByIdCard(dto.getIdcard()); |
|
|
if (entity != null) { |
|
|
if (entity != null) { |
|
|
entity.setCheckDate(dto.getTestingTime()); |
|
|
entity.setCheckDate(dto.getTestingTime()); |
|
@ -49,7 +65,7 @@ public class PersonTestingModifyConsumer implements RocketMQListener<MessageExt> |
|
|
epidemicUserInfoDao.insert(entity); |
|
|
epidemicUserInfoDao.insert(entity); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
redisUtils.set(key, dto.getIdcard(), MINUTE_ONE_EXPIRE); |
|
|
log.info("EPDC-CUSTOM-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_VACCINE, messageExt.getMsgId(), body); |
|
|
log.info("EPDC-CUSTOM-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_VACCINE, messageExt.getMsgId(), body); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.info("EPDC-CUSTOM-SERVER消费消息失败:msgId:{}", messageExt.getMsgId()); |
|
|
log.info("EPDC-CUSTOM-SERVER消费消息失败:msgId:{}", messageExt.getMsgId()); |
|
|