This commit is contained in:
huzhengkao 2025-06-06 18:10:02 +08:00
parent d9ca846b33
commit 2e261dc774
21 changed files with 937 additions and 2 deletions

View File

@ -41,6 +41,7 @@ public class ProvTestClient {
* 请求url
*/
private static final String url = "http://localhost:1688/prov/test/receive";
//private static final String url = "http://222.221.246.3:1688/prov/test/receive";
/**
* 证书地址
*/
@ -60,7 +61,7 @@ public class ProvTestClient {
public static void main(String[] args) throws Exception {
//数据文件内容主业务类型 10基础信息数据 20应用信息数据
//subType数据文件内容子业务类型 详见数据类型字典表 基本信息(1011-10199001-9002) 应用信息2011-20202051-2053
testProv("1015");
testProv("1018");
}

View File

@ -0,0 +1,198 @@
package com.alihealth.d2d.provtest.domain;
import com.alihealth.d2d.provtest.utils.LocalDateDeserializer;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 国产药品基本信息数据子集
* </p>
*
* @author Jason
* @since 2025-06-06
*/
@Getter
@Setter
@TableName("domestic_drug_base_info")
public class DomesticDrugBaseInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 事件流水号
*/
private String eventId;
/**
* 国家药品标识码
*/
@JacksonXmlProperty(localName = "GJYPBSM")
private String gjypbsm;
/**
* 药品通用名称
*/
@JacksonXmlProperty(localName = "YPTYMC")
private String yptymc;
/**
* 药品英文名称
*/
@JacksonXmlProperty(localName = "YPYWMC")
private String ypywmc;
/**
* 药品商品名称
*/
@JacksonXmlProperty(localName = "YPSPMC")
private String ypspmc;
/**
* 药品本位码
*/
@JacksonXmlProperty(localName = "YPBWM")
private String ypbwm;
/**
* 剂型
*/
@JacksonXmlProperty(localName = "JX")
private String jx;
/**
* 制剂规格
*/
@JacksonXmlProperty(localName = "ZJGG")
private String zjgg;
/**
* 包装规格
*/
@JacksonXmlProperty(localName = "BZGG")
private String bzgg;
/**
* 包装转换比
*/
@JacksonXmlProperty(localName = "BZZHB")
private BigDecimal bzzhb;
/**
* 包装规格标识
*/
@JacksonXmlProperty(localName = "BZGGBS")
private String bzggbs;
/**
* 药品有效期
*/
@JacksonXmlProperty(localName = "YPYXQ")
private Integer ypyxq;
/**
* 药品有效期单位
*/
@JacksonXmlProperty(localName = "YPYXQDW")
private String ypyxqdw;
/**
* 药品批准文号
*/
@JacksonXmlProperty(localName = "YPPZWH")
private String yppzwh;
/**
* 药品批准文号有效期
*/
@JacksonXmlProperty(localName = "YPPZWHYXQ")
@JsonDeserialize(using = LocalDateDeserializer.class)
private LocalDate yppzwhyxq;
/**
* 药品注册分类
*/
@JacksonXmlProperty(localName = "YPZCFL")
private String ypzcfl;
/**
* 国家基本药物标识
*/
@JacksonXmlProperty(localName = "GJJBYWBS")
private String gjjbywbs;
/**
* 特殊药品管理分类
*/
@JacksonXmlProperty(localName = "TSYPGLFL")
private String tsypglfl;
/**
* 处方药标识
*/
@JacksonXmlProperty(localName = "CFYBS")
private String cfybs;
/**
* 统一社会信用代码(境内药品生产企业)
*/
@JacksonXmlProperty(localName = "TYSHXYDMJNYPSCQY")
private String tyshxydmjnypscqy;
/**
* 统一社会信用代码境内药品上市许可持有人
*/
@JacksonXmlProperty(localName = "TYSHXYDMJNYPSSXKCYR")
private String tyshxydmjnypssxkcyr;
/**
* 暂无
*/
@JacksonXmlProperty(localName = "SCZT")
private String sczt;
/**
* 暂无
*/
@JacksonXmlProperty(localName = "BZZHBDW")
private String bzzhbdw;
/**
* 子集bzbl-包装比例 bzjb-包装级别 ypbsm-药品标识码
*/
@JacksonXmlProperty(localName = "BASQXQS")
private String basqxqs;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 是否删除(0- 1-)
*/
private Integer isDeleted;
}

View File

@ -0,0 +1,163 @@
package com.alihealth.d2d.provtest.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 药品配送企业基本信息数据子集
* </p>
*
* @author Jason
* @since 2025-06-06
*/
@Getter
@Setter
@TableName("drug_delivery_company_base_info")
public class DrugDeliveryCompanyBaseInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 事件流水号
*/
private String eventId;
/**
* 统一社会信用代码
*/
@JacksonXmlProperty(localName = "TYSHXYDM")
private String tyshxydm;
/**
* 药品配送企业名称
*/
@JacksonXmlProperty(localName = "YPPSQYMC")
private String yppsqymc;
/**
* 药品配送企业地址
*/
@JacksonXmlProperty(localName = "YPPSQYDZ")
private String yppsqydz;
/**
* 药品配送企业地址- 国家或地区
*/
@JacksonXmlProperty(localName = "YPPSQYDZGJHDQ")
private String yppsqydzgjhdq;
/**
* 药品配送企业地址- 直辖市/自治区
*/
@JacksonXmlProperty(localName = "YPPSQYDZSZXSZZQ")
private String yppsqydzszxszzq;
/**
* 药品配送企业地址- / 自治州/
*/
@JacksonXmlProperty(localName = "YPPSQYDZSQZZZM")
private String yppsqydzsqzzzm;
/**
* 药品配送企业地址- 自治县/县级市
*/
@JacksonXmlProperty(localName = "YPPSQYDZXZZXXJS")
private String yppsqydzxzzxxjs;
/**
* 药品配送企业地址- / 街道办事处
*/
@JacksonXmlProperty(localName = "YPPSQYDZXZJDBSC")
private String yppsqydzxzjdbsc;
/**
* 药品配送企业地址- //弄等
*/
@JacksonXmlProperty(localName = "YPPSQYDZCJLLD")
private String yppsqydzcjlld;
/**
* 药品配送企业地址- 门牌号码
*/
@JacksonXmlProperty(localName = "YPPSQYDZMPHM")
private String yppsqydzmphm;
/**
* 仓库地址
*/
@JacksonXmlProperty(localName = "CKDZ")
private String ckdz;
/**
* 单位负责人
*/
@JacksonXmlProperty(localName = "DWFZR")
private String dwfzr;
/**
* 固定电话号码
*/
@JacksonXmlProperty(localName = "GDDHHM")
private String gddhhm;
/**
* 传真号码
*/
@JacksonXmlProperty(localName = "CZHM")
private String czhm;
/**
* 电子信箱
*/
@JacksonXmlProperty(localName = "DZXX")
private String dzxx;
/**
* 药品配送企业网址
*/
@JacksonXmlProperty(localName = "YPPSQYWZ")
private String yppsqywz;
/**
* 联系人
*/
@JacksonXmlProperty(localName = "LXR")
private String lxr;
/**
* 联系电话
*/
@JacksonXmlProperty(localName = "LXDH")
private String lxdh;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 是否删除(0- 1-)
*/
private Integer isDeleted;
}

View File

@ -0,0 +1,181 @@
package com.alihealth.d2d.provtest.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 药品使用单位基本信息数据子集
* </p>
*
* @author Jason
* @since 2025-06-06
*/
@Getter
@Setter
@TableName("drug_using_unit_base_info")
public class DrugUsingUnitBaseInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 事件流水号
*/
private String eventId;
/**
* 药品使用单位名称
*/
@JacksonXmlProperty(localName = "YPSYDWMC")
private String ypsydwmc;
/**
* 卫生机构代码
*/
@JacksonXmlProperty(localName = "WSJGDM")
private String wsjgdm;
/**
* 执业许可证登记号/诊所备案编号
*/
@JacksonXmlProperty(localName = "ZYXKZDJH")
private String zyxkzdjh;
/**
* 统一社会信用代码
*/
@JacksonXmlProperty(localName = "TYSHXYDM")
private String tyshxydm;
/**
* 药品使用单位类型
*/
@JacksonXmlProperty(localName = "YPSYDWLX")
private String ypsydwlx;
/**
* 药品使用单位地址
*/
@JacksonXmlProperty(localName = "YPSYDWDZ")
private String ypsydwdz;
/**
* 药品使用单位地址-国家(或地区)
*/
@JacksonXmlProperty(localName = "YPSYDWDZGJHDQ")
private String ypsydwdzgjhdq;
/**
* 接种单位地 -(直辖 /自治区)
*/
@JacksonXmlProperty(localName = "YPSYDWDZSZXSZZQ")
private String ypsydwdzszxszzq;
/**
* 药品使用单位地址-(/自治州/)
*/
@JacksonXmlProperty(localName = "YPSYDWDZSQZZZM")
private String ypsydwdzsqzzzm;
/**
* 药品使用单位地址-(自治县/县级市)
*/
@JacksonXmlProperty(localName = "YPSYDWDZXZZXXJS")
private String ypsydwdzxzzxxjs;
/**
* 药品使用单位地址-(/街道办事处)
*/
@JacksonXmlProperty(localName = "YPSYDWDZXZJDBSC")
private String ypsydwdzxzjdbsc;
/**
* 药品使用单位地址-(//弄等)
*/
@JacksonXmlProperty(localName = "YPSYDWDZCJLLD")
private String ypsydwdzcjlld;
/**
* 药品使用单位地址-门牌号码
*/
@JacksonXmlProperty(localName = "YPSYDWDZMPHM")
private String ypsydwdzmphm;
/**
* 固定电话号码
*/
@JacksonXmlProperty(localName = "GDDHHM")
private String gddhhm;
/**
* 传真号码
*/
@JacksonXmlProperty(localName = "CZHM")
private String czhm;
/**
* 电子信箱
*/
@JacksonXmlProperty(localName = "DZXX")
private String dzxx;
/**
* 联系人
*/
@JacksonXmlProperty(localName = "LXR")
private String lxr;
/**
* 联系电话
*/
@JacksonXmlProperty(localName = "LXDH")
private String lxdh;
/**
* 药品使用单位网址
*/
@JacksonXmlProperty(localName = "YPSYDWWZ")
private String ypsydwwz;
/**
* 企业类型
*/
@JacksonXmlProperty(localName = "QYLX")
private String qylx;
/**
* 企业小类
*/
@JacksonXmlProperty(localName = "QYXL")
private String qyxl;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 是否删除(0- 1-)
*/
private Integer isDeleted;
}

View File

@ -1,5 +1,6 @@
package com.alihealth.d2d.provtest.entity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
@ -12,6 +13,7 @@ import java.util.List;
* @date 2025年05月30日 11:45:00
*/
@JacksonXmlRootElement(localName = "VTTSBasic")
@JsonIgnoreProperties(ignoreUnknown = true)
public class VTTSBasic<T> {
@JacksonXmlProperty(localName = "datasetName")
private String datasetName;

View File

@ -16,7 +16,7 @@ import java.nio.file.Paths;
public class CodeGenerator {
public static void main(String[] args) {
String tables="pharmaceutical_trading_license_base_info";// 生成多个指定表,逗号分隔
String tables="domestic_drug_base_info";// 生成多个指定表,逗号分隔
FastAutoGenerator.create("jdbc:mysql://47.109.202.121:3306/supervisionx_trace_data", "root", "TCCT3.1415926")
.globalConfig(builder -> builder
.author("Jason")

View File

@ -0,0 +1,16 @@
package com.alihealth.d2d.provtest.mapper;
import com.alihealth.d2d.provtest.domain.DomesticDrugBaseInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 国产药品基本信息数据子集 Mapper 接口
* </p>
*
* @author Jason
* @since 2025-06-06
*/
public interface DomesticDrugBaseInfoMapper extends BaseMapper<DomesticDrugBaseInfo> {
}

View File

@ -0,0 +1,16 @@
package com.alihealth.d2d.provtest.mapper;
import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 药品配送企业基本信息数据子集 Mapper 接口
* </p>
*
* @author Jason
* @since 2025-06-06
*/
public interface DrugDeliveryCompanyBaseInfoMapper extends BaseMapper<DrugDeliveryCompanyBaseInfo> {
}

View File

@ -0,0 +1,16 @@
package com.alihealth.d2d.provtest.mapper;
import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 药品使用单位基本信息数据子集 Mapper 接口
* </p>
*
* @author Jason
* @since 2025-06-06
*/
public interface DrugUsingUnitBaseInfoMapper extends BaseMapper<DrugUsingUnitBaseInfo> {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.alihealth.d2d.provtest.mapper.DomesticDrugBaseInfoMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.alihealth.d2d.provtest.mapper.DrugDeliveryCompanyBaseInfoMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.alihealth.d2d.provtest.mapper.DrugUsingUnitBaseInfoMapper">
</mapper>

View File

@ -0,0 +1,16 @@
package com.alihealth.d2d.provtest.service;
import com.alihealth.d2d.provtest.domain.DomesticDrugBaseInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 国产药品基本信息数据子集 服务类
* </p>
*
* @author Jason
* @since 2025-06-06
*/
public interface IDomesticDrugBaseInfoService extends IService<DomesticDrugBaseInfo> {
}

View File

@ -0,0 +1,16 @@
package com.alihealth.d2d.provtest.service;
import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 药品配送企业基本信息数据子集 服务类
* </p>
*
* @author Jason
* @since 2025-06-06
*/
public interface IDrugDeliveryCompanyBaseInfoService extends IService<DrugDeliveryCompanyBaseInfo> {
}

View File

@ -0,0 +1,16 @@
package com.alihealth.d2d.provtest.service;
import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 药品使用单位基本信息数据子集 服务类
* </p>
*
* @author Jason
* @since 2025-06-06
*/
public interface IDrugUsingUnitBaseInfoService extends IService<DrugUsingUnitBaseInfo> {
}

View File

@ -0,0 +1,73 @@
package com.alihealth.d2d.provtest.service.handle.business;
import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo;
import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingLicenseBaseInfo;
import com.alihealth.d2d.provtest.entity.EventBody;
import com.alihealth.d2d.provtest.entity.InstanceDetail;
import com.alihealth.d2d.provtest.entity.ItemDetail;
import com.alihealth.d2d.provtest.entity.VTTSBasic;
import com.alihealth.d2d.provtest.service.IDrugDeliveryCompanyBaseInfoService;
import com.alihealth.d2d.provtest.service.IPharmaceuticalTradingLicenseBaseInfoService;
import com.alihealth.d2d.provtest.service.XmlParserService;
import com.alihealth.d2d.provtest.service.handle.AbstractEventDataHandler;
import com.alihealth.d2d.provtest.service.handle.EventSubType;
import com.baomidou.mybatisplus.extension.service.IService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Jason 药品配送企业基本信息数据子集
* @date 2025年06月05日 11:14:43
*/
@Service
@EventSubType("1016")
public class SubType1016Handler extends AbstractEventDataHandler<DrugDeliveryCompanyBaseInfo> {
protected final Logger log = LoggerFactory.getLogger(getClass());
@Autowired
private IDrugDeliveryCompanyBaseInfoService service;
@Autowired
private XmlParserService xmlParserService;
@Override
protected Class<DrugDeliveryCompanyBaseInfo> getEntityClass() {
return DrugDeliveryCompanyBaseInfo.class;
}
@Override
protected IService<DrugDeliveryCompanyBaseInfo> getService() {
return service;
}
@Override
protected DrugDeliveryCompanyBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) {
return null;
}
@Override
public String getSubType() {
return "1016";
}
@Override
public void handleBase(String xml,String eventId) {
VTTSBasic<DrugDeliveryCompanyBaseInfo> result = xmlParserService.parseDataXml(
xml,
DrugDeliveryCompanyBaseInfo.class
);
List<DrugDeliveryCompanyBaseInfo> list = result.getDataset();
if(list!=null && !list.isEmpty()){
list.stream()
.forEach(item -> {
item.setEventId(eventId);
});
getService().saveBatch(list);
log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size());
}
}
}

View File

@ -0,0 +1,73 @@
package com.alihealth.d2d.provtest.service.handle.business;
import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo;
import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo;
import com.alihealth.d2d.provtest.entity.EventBody;
import com.alihealth.d2d.provtest.entity.InstanceDetail;
import com.alihealth.d2d.provtest.entity.ItemDetail;
import com.alihealth.d2d.provtest.entity.VTTSBasic;
import com.alihealth.d2d.provtest.service.IDrugDeliveryCompanyBaseInfoService;
import com.alihealth.d2d.provtest.service.IDrugUsingUnitBaseInfoService;
import com.alihealth.d2d.provtest.service.XmlParserService;
import com.alihealth.d2d.provtest.service.handle.AbstractEventDataHandler;
import com.alihealth.d2d.provtest.service.handle.EventSubType;
import com.baomidou.mybatisplus.extension.service.IService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Jason 药品使用单位基本信息数据子集
* @date 2025年06月05日 11:14:43
*/
@Service
@EventSubType("1017")
public class SubType1017Handler extends AbstractEventDataHandler<DrugUsingUnitBaseInfo> {
protected final Logger log = LoggerFactory.getLogger(getClass());
@Autowired
private IDrugUsingUnitBaseInfoService service;
@Autowired
private XmlParserService xmlParserService;
@Override
protected Class<DrugUsingUnitBaseInfo> getEntityClass() {
return DrugUsingUnitBaseInfo.class;
}
@Override
protected IService<DrugUsingUnitBaseInfo> getService() {
return service;
}
@Override
protected DrugUsingUnitBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) {
return null;
}
@Override
public String getSubType() {
return "1017";
}
@Override
public void handleBase(String xml,String eventId) {
VTTSBasic<DrugUsingUnitBaseInfo> result = xmlParserService.parseDataXml(
xml,
DrugUsingUnitBaseInfo.class
);
List<DrugUsingUnitBaseInfo> list = result.getDataset();
if(list!=null && !list.isEmpty()){
list.stream()
.forEach(item -> {
item.setEventId(eventId);
});
getService().saveBatch(list);
log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size());
}
}
}

View File

@ -0,0 +1,73 @@
package com.alihealth.d2d.provtest.service.handle.business;
import com.alihealth.d2d.provtest.domain.DomesticDrugBaseInfo;
import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo;
import com.alihealth.d2d.provtest.entity.EventBody;
import com.alihealth.d2d.provtest.entity.InstanceDetail;
import com.alihealth.d2d.provtest.entity.ItemDetail;
import com.alihealth.d2d.provtest.entity.VTTSBasic;
import com.alihealth.d2d.provtest.service.IDomesticDrugBaseInfoService;
import com.alihealth.d2d.provtest.service.IDrugUsingUnitBaseInfoService;
import com.alihealth.d2d.provtest.service.XmlParserService;
import com.alihealth.d2d.provtest.service.handle.AbstractEventDataHandler;
import com.alihealth.d2d.provtest.service.handle.EventSubType;
import com.baomidou.mybatisplus.extension.service.IService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Jason 国产药品基本信息数据子集
* @date 2025年06月05日 11:14:43
*/
@Service
@EventSubType("1018")
public class SubType1018Handler extends AbstractEventDataHandler<DomesticDrugBaseInfo> {
protected final Logger log = LoggerFactory.getLogger(getClass());
@Autowired
private IDomesticDrugBaseInfoService service;
@Autowired
private XmlParserService xmlParserService;
@Override
protected Class<DomesticDrugBaseInfo> getEntityClass() {
return DomesticDrugBaseInfo.class;
}
@Override
protected IService<DomesticDrugBaseInfo> getService() {
return service;
}
@Override
protected DomesticDrugBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) {
return null;
}
@Override
public String getSubType() {
return "1018";
}
@Override
public void handleBase(String xml,String eventId) {
VTTSBasic<DomesticDrugBaseInfo> result = xmlParserService.parseDataXml(
xml,
DomesticDrugBaseInfo.class
);
List<DomesticDrugBaseInfo> list = result.getDataset();
if(list!=null && !list.isEmpty()){
list.stream()
.forEach(item -> {
item.setEventId(eventId);
});
getService().saveBatch(list);
log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size());
}
}
}

View File

@ -0,0 +1,20 @@
package com.alihealth.d2d.provtest.service.impl;
import com.alihealth.d2d.provtest.domain.DomesticDrugBaseInfo;
import com.alihealth.d2d.provtest.mapper.DomesticDrugBaseInfoMapper;
import com.alihealth.d2d.provtest.service.IDomesticDrugBaseInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 国产药品基本信息数据子集 服务实现类
* </p>
*
* @author Jason
* @since 2025-06-06
*/
@Service
public class DomesticDrugBaseInfoServiceImpl extends ServiceImpl<DomesticDrugBaseInfoMapper, DomesticDrugBaseInfo> implements IDomesticDrugBaseInfoService {
}

View File

@ -0,0 +1,20 @@
package com.alihealth.d2d.provtest.service.impl;
import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo;
import com.alihealth.d2d.provtest.mapper.DrugDeliveryCompanyBaseInfoMapper;
import com.alihealth.d2d.provtest.service.IDrugDeliveryCompanyBaseInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 药品配送企业基本信息数据子集 服务实现类
* </p>
*
* @author Jason
* @since 2025-06-06
*/
@Service
public class DrugDeliveryCompanyBaseInfoServiceImpl extends ServiceImpl<DrugDeliveryCompanyBaseInfoMapper, DrugDeliveryCompanyBaseInfo> implements IDrugDeliveryCompanyBaseInfoService {
}

View File

@ -0,0 +1,20 @@
package com.alihealth.d2d.provtest.service.impl;
import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo;
import com.alihealth.d2d.provtest.mapper.DrugUsingUnitBaseInfoMapper;
import com.alihealth.d2d.provtest.service.IDrugUsingUnitBaseInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 药品使用单位基本信息数据子集 服务实现类
* </p>
*
* @author Jason
* @since 2025-06-06
*/
@Service
public class DrugUsingUnitBaseInfoServiceImpl extends ServiceImpl<DrugUsingUnitBaseInfoMapper, DrugUsingUnitBaseInfo> implements IDrugUsingUnitBaseInfoService {
}