+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see .
+ */
+
+package com.elink.esua.epdc.rocketmq.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 核酸检测记录
+ *
+ * @author qu qu@elink-cn.com
+ * @since v1.0.0 2021-08-20
+ */
+@Data
+public class PersonTestingModifyDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+	private String id;
+
+    /**
+     * 姓名
+     */
+    @NotNull(message = "姓名不能为空")
+	private String name;
+
+    /**
+     * 性别
+     */
+    @NotNull(message = "性别不能为空")
+	private String sex;
+
+    /**
+     * 民族
+     */
+	private String nation;
+
+    /**
+     * 出生日期
+     */
+	private Date birthday;
+
+    /**
+     * 手机号
+     */
+    private String mobile;
+
+    /**
+     * 住址
+     */
+	private String address;
+
+    /**
+     * 身份证号码
+     */
+    @NotNull(message = "身份证号码不能为空")
+	private String idcard;
+
+    /**
+     * 签发机关
+     */
+	private String organ;
+
+    /**
+     * 照片base64编码
+     */
+	private String imgCode;
+
+    /**
+     * 照片地址
+     */
+	private String imgUrl;
+
+    /**
+     * 核酸接测结果
+     */
+	private String testingResult;
+
+    /**
+     * 核酸检测时间
+     */
+    @NotNull(message = "核酸检测时间不能为空")
+	private Date testingTime;
+
+    /**
+     * 乐观锁
+     */
+	private Integer revision;
+
+    /**
+     * 创建人
+     */
+	private String createdBy;
+
+    /**
+     * 创建时间
+     */
+	private Date createdTime;
+
+    /**
+     * 更新人
+     */
+	private String updatedBy;
+
+    /**
+     * 更新时间
+     */
+	private Date updatedTime;
+
+    /**
+     * 逻辑删除标识
+     */
+	private String delFlag;
+
+    /**
+     * 核酸检测点表,主键
+     */
+    private String testingPointId;
+
+    /**
+     * 核酸检测点,名称
+     */
+    private String testingPointName;
+}
diff --git a/epdc-cloud-custom/src/main/java/com/elink/esua/epdc/rocketmq/producer/PersonTestingModifyProducer.java b/epdc-cloud-custom/src/main/java/com/elink/esua/epdc/rocketmq/producer/PersonTestingModifyProducer.java
new file mode 100644
index 0000000..c0f8fa6
--- /dev/null
+++ b/epdc-cloud-custom/src/main/java/com/elink/esua/epdc/rocketmq/producer/PersonTestingModifyProducer.java
@@ -0,0 +1,41 @@
+package com.elink.esua.epdc.rocketmq.producer;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 接种信息-发送MQ消息
+ *
+ * @author zhy
+ * @date 2022/4/8 10:20
+ */
+@Slf4j
+@Component
+public class PersonTestingModifyProducer {
+
+    @Autowired
+    private RocketMQTemplate rocketMQTemplate;
+
+    /**
+     * 发送消息
+     *
+     * @return void
+     * @params [topic, tag, keys, body]
+     * @author liuchuang
+     * @since 2020/3/6 21:09
+     */
+    public void sendMessage(String topic, String tag, String keys, String body) {
+        Message message = new Message(topic, tag, keys, body.getBytes());
+        try {
+            SendResult sendResult = rocketMQTemplate.getProducer().send(message);
+            log.info("EPDC-CUSTOM-SERVER发送消息结果:{sendStatus:{}, topic:{}, msgId:{}}", sendResult.getSendStatus(), topic, sendResult.getMsgId());
+        } catch (Exception e) {
+            log.error("EPDC-CUSTOM-SERVER发送消息异常:{topic:{}, tag:{}, keys:{}, body:{}}", topic, tag, keys, body);
+            e.printStackTrace();
+        }
+    }
+}
diff --git a/epdc-cloud-custom/src/main/resources/application.yml b/epdc-cloud-custom/src/main/resources/application.yml
index 55756d9..e85ba0b 100644
--- a/epdc-cloud-custom/src/main/resources/application.yml
+++ b/epdc-cloud-custom/src/main/resources/application.yml
@@ -105,6 +105,10 @@ rocketmq:
   name-server: @rocketmq.name.server@
   consumer:
     group: @rocketmq.consumer.group@
+    vaccine-group: @rocketmq.consumer.vaccine-group@
+  producer:
+    group: @rocketmq.producer.group@
+    vaccine-group: @rocketmq.producer.vaccine-group@
 #hystrix的超时时间
 hystrix:
   command:
diff --git a/epdc-cloud-vim-yushan/pom.xml b/epdc-cloud-vim-yushan/pom.xml
index cd1ea2d..0d9cd56 100644
--- a/epdc-cloud-vim-yushan/pom.xml
+++ b/epdc-cloud-vim-yushan/pom.xml
@@ -54,7 +54,12 @@
             epdc-cloud-admin-client
             ${epdc-cloud-client.version}