From 9b16b4e2fd752f60d34a5aad0b808da04add8df2 Mon Sep 17 00:00:00 2001
From: huzhengkao <562572218@qq.com>
Date: Fri, 6 Jun 2025 16:21:14 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=92=8C=E5=AE=8C=E5=96=84?=
=?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 4 +-
.../d2d/provtest/ProvTestClient.java | 4 +-
.../PharmaceuticalTradingEnterprises.java | 209 ++++++++++++++++++
.../PharmaceuticalTradingLicenseBaseInfo.java | 168 ++++++++++++++
.../d2d/provtest/generator/CodeGenerator.java | 4 +-
...harmaceuticalTradingEnterprisesMapper.java | 16 ++
...aceuticalTradingLicenseBaseInfoMapper.java | 16 ++
...maceuticalTradingLicenseBaseInfoMapper.xml | 5 +
...armaceuticalTradingEnterprisesService.java | 16 ++
...ceuticalTradingLicenseBaseInfoService.java | 16 ++
.../handle/business/SubType1014Handler.java | 73 ++++++
.../handle/business/SubType1015Handler.java | 73 ++++++
...ceuticalTradingEnterprisesServiceImpl.java | 20 ++
...icalTradingLicenseBaseInfoServiceImpl.java | 20 ++
...PharmaceuticalTradingEnterprisesMapper.xml | 5 +
target/classes/application.yml | 5 +-
.../d2d/provtest/ProvTestClient.class | Bin 7248 -> 7248 bytes
.../controller/ProvTestServerController.class | Bin 5750 -> 5393 bytes
.../compile/default-compile/createdFiles.lst | 32 ++-
.../compile/default-compile/inputFiles.lst | 32 ++-
20 files changed, 703 insertions(+), 15 deletions(-)
create mode 100644 src/main/java/com/alihealth/d2d/provtest/domain/PharmaceuticalTradingEnterprises.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/domain/PharmaceuticalTradingLicenseBaseInfo.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/mapper/PharmaceuticalTradingEnterprisesMapper.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/mapper/PharmaceuticalTradingLicenseBaseInfoMapper.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/mapper/xml/PharmaceuticalTradingLicenseBaseInfoMapper.xml
create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/IPharmaceuticalTradingEnterprisesService.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/IPharmaceuticalTradingLicenseBaseInfoService.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1014Handler.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1015Handler.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingEnterprisesServiceImpl.java
create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingLicenseBaseInfoServiceImpl.java
create mode 100644 src/main/resources/mapper/PharmaceuticalTradingEnterprisesMapper.xml
diff --git a/pom.xml b/pom.xml
index b07c79a..bbb1839 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,8 +10,8 @@
com.alihealth.d2d
provtest
- 0.0.1-SNAPSHOT
- war
+ 1.0.0
+ jar
provtest
Demo project for Spring Boot
diff --git a/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java b/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java
index 5ab860d..92cc3f2 100644
--- a/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java
+++ b/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java
@@ -40,7 +40,7 @@ public class ProvTestClient {
/**
* 请求url
*/
- private static final String url = "http://localhost:8888/prov/test/receive";
+ private static final String url = "http://localhost:1688/prov/test/receive";
/**
* 证书地址
*/
@@ -60,7 +60,7 @@ public class ProvTestClient {
public static void main(String[] args) throws Exception {
//数据文件内容主业务类型 10:基础信息数据 20:应用信息数据
//subType数据文件内容子业务类型 详见:数据类型字典表 基本信息(1011-1019、9001-9002) 应用信息(2011-2020、2051-2053)
- testProv("1013");
+ testProv("1015");
}
diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/PharmaceuticalTradingEnterprises.java b/src/main/java/com/alihealth/d2d/provtest/domain/PharmaceuticalTradingEnterprises.java
new file mode 100644
index 0000000..c4308c7
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/domain/PharmaceuticalTradingEnterprises.java
@@ -0,0 +1,209 @@
+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 com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * 药品经营企业基本信息数据子集
+ *
+ *
+ * @author Jason
+ * @since 2025-06-06
+ */
+@Getter
+@Setter
+@TableName("pharmaceutical_trading_enterprises")
+public class PharmaceuticalTradingEnterprises 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 = "QYMC")
+ private String qymc;
+
+ /**
+ * 企业类型
+ */
+ @JacksonXmlProperty(localName = "QYLX")
+ private String qylx;
+
+ /**
+ * 企业小类
+ */
+ @JacksonXmlProperty(localName = "QYXL")
+ private String qyxl;
+
+ /**
+ * 住所地址
+ */
+ @JacksonXmlProperty(localName = "ZSDZ")
+ private String zsdz;
+
+ /**
+ * 住所地址- 国家(或地区)
+ */
+ @JacksonXmlProperty(localName = "ZSDZGJHDQ")
+ private String zsdzgjhdq;
+
+ /**
+ * 住所地址- 省(直辖市/自治区)
+ */
+ @JacksonXmlProperty(localName = "ZSDZSZXSZZQ")
+ private String zsdzszxszzq;
+
+ /**
+ * 住所地址- 市(区/自治州/盟)
+ */
+ @JacksonXmlProperty(localName = "ZSDZSQZZZM")
+ private String zsdzsqzzzm;
+
+ /**
+ * 住所地址- 县(自治县/县级市)
+ */
+ @JacksonXmlProperty(localName = "ZSDZXZZXXJS")
+ private String zsdzxzzxxjs;
+
+ /**
+ * 住所地址-乡(镇/街道办事处)
+ */
+ @JacksonXmlProperty(localName = "ZSDZXZJDBSC")
+ private String zsdzxzjdbsc;
+
+ /**
+ * 住所地址-村(街/路/ 弄等)
+ */
+ @JacksonXmlProperty(localName = "ZSDZCJLLD")
+ private String zsdzcjlld;
+
+ /**
+ * 住所地址-门牌号码
+ */
+ @JacksonXmlProperty(localName = "ZSDZMPHM")
+ private String zsdzmphm;
+
+ /**
+ * 法定代表人
+ */
+ @JacksonXmlProperty(localName = "FDDBR")
+ private String fddbr;
+
+ /**
+ * 注册资本
+ */
+ @JacksonXmlProperty(localName = "ZCZB")
+ private String zczb;
+
+ /**
+ * 成立日期
+ */
+ @JacksonXmlProperty(localName = "CLRQ")
+ @JsonDeserialize(using = LocalDateDeserializer.class)
+ private LocalDate clrq;
+
+ /**
+ * 营业期限
+ */
+ @JacksonXmlProperty(localName = "YYQX")
+ private String yyqx;
+
+ /**
+ * 经营范围
+ */
+ @JacksonXmlProperty(localName = "JYFW")
+ private String jyfw;
+
+ /**
+ * 登记机关
+ */
+ @JacksonXmlProperty(localName = "DJJG")
+ private String djjg;
+
+ /**
+ * 固定电话号码
+ */
+ @JacksonXmlProperty(localName = "GDDHHM")
+ private String gddhhm;
+
+ /**
+ * 传真号码
+ */
+ @JacksonXmlProperty(localName = "CZHM")
+ private String czhm;
+
+ /**
+ * 电子信箱
+ */
+ @JacksonXmlProperty(localName = "DZXX")
+ private String dzxx;
+
+ /**
+ * 企业网址
+ */
+ @JacksonXmlProperty(localName = "QYWZ")
+ private String qywz;
+
+ /**
+ * 联系人
+ */
+ @JacksonXmlProperty(localName = "LXR")
+ private String lxr;
+
+ /**
+ * 联系电话
+ */
+ @JacksonXmlProperty(localName = "LXDH")
+ private String lxdh;
+
+ /**
+ * 暂无
+ */
+ @JacksonXmlProperty(localName = "ZSGPS")
+ private String zsgps;
+
+ /**
+ * 创建时间
+ */
+ private LocalDateTime createTime;
+
+ /**
+ * 更新时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 是否删除(0-否 1-是)
+ */
+ private Integer isDeleted;
+
+
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/PharmaceuticalTradingLicenseBaseInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/PharmaceuticalTradingLicenseBaseInfo.java
new file mode 100644
index 0000000..b0e8edd
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/domain/PharmaceuticalTradingLicenseBaseInfo.java
@@ -0,0 +1,168 @@
+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.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;
+
+/**
+ *
+ * 药品经营许可证基本信息数据子集
+ *
+ *
+ * @author Jason
+ * @since 2025-06-06
+ */
+@Getter
+@Setter
+@TableName("pharmaceutical_trading_license_base_info")
+public class PharmaceuticalTradingLicenseBaseInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 事件流水号
+ */
+ private String eventId;
+
+ /**
+ * 经营许可证编号
+ */
+ @JacksonXmlProperty(localName = "JYXKZBH")
+ private String jyxkzbh;
+
+ /**
+ * 企业名称
+ */
+ @JacksonXmlProperty(localName = "QYMC")
+ private String qymc;
+
+ /**
+ * 企业类型
+ */
+ @JacksonXmlProperty(localName = "QYLX")
+ private String qylx;
+
+ /**
+ * 企业小类
+ */
+ @JacksonXmlProperty(localName = "QYXL")
+ private String qyxl;
+
+ /**
+ * 统一社会信用代码
+ */
+ @JacksonXmlProperty(localName = "TYSHXYDM")
+ private String tyshxydm;
+
+ /**
+ * 注册地址
+ */
+ @JacksonXmlProperty(localName = "ZCDZ")
+ private String zcdz;
+
+ /**
+ * 法定代表人
+ */
+ @JacksonXmlProperty(localName = "FDDBR")
+ private String fddbr;
+
+ /**
+ * 企业负责人
+ */
+ @JacksonXmlProperty(localName = "QYFZR")
+ private String qyfzr;
+
+ /**
+ * 质量负责人
+ */
+ @JacksonXmlProperty(localName = "ZLFZR")
+ private String zlfzr;
+
+ /**
+ * 仓库地址
+ */
+ @JacksonXmlProperty(localName = "CKDZ")
+ private String ckdz;
+
+ /**
+ * 经营方式
+ */
+ @JacksonXmlProperty(localName = "JYFS")
+ private String jyfs;
+
+ /**
+ * 经营范围
+ */
+ @JacksonXmlProperty(localName = "JYFW")
+ private String jyfw;
+
+ /**
+ * 有效期
+ */
+ @JacksonXmlProperty(localName = "YXQ")
+ @JsonDeserialize(using = LocalDateDeserializer.class)
+ private LocalDate yxq;
+
+ /**
+ * 发证机关
+ */
+ @JacksonXmlProperty(localName = "FZJG")
+ private String fzjg;
+
+ /**
+ * 签发人
+ */
+ @JacksonXmlProperty(localName = "QFR")
+ private String qfr;
+
+ /**
+ * 签发日期
+ */
+ @JacksonXmlProperty(localName = "QFRQ")
+ @JsonDeserialize(using = LocalDateDeserializer.class)
+ private LocalDate qfrq;
+
+ /**
+ * 日常监督管理机构
+ */
+ @JacksonXmlProperty(localName = "RCJDGLJG")
+ private String rcjdgljg;
+
+ /**
+ * 投诉举报电话
+ */
+ @JacksonXmlProperty(localName = "TSJBDH")
+ private String tsjbdh;
+
+ /**
+ * 创建时间
+ */
+ private LocalDateTime createTime;
+
+ /**
+ * 更新时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 是否删除(0-否 1-是)
+ */
+ private Integer isDeleted;
+
+
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/generator/CodeGenerator.java b/src/main/java/com/alihealth/d2d/provtest/generator/CodeGenerator.java
index 658cba7..f9199f5 100644
--- a/src/main/java/com/alihealth/d2d/provtest/generator/CodeGenerator.java
+++ b/src/main/java/com/alihealth/d2d/provtest/generator/CodeGenerator.java
@@ -16,7 +16,7 @@ import java.nio.file.Paths;
public class CodeGenerator {
public static void main(String[] args) {
- String tables="pharmaceutical_production_license_base_info";// 生成多个指定表,逗号分隔
+ String tables="pharmaceutical_trading_license_base_info";// 生成多个指定表,逗号分隔
FastAutoGenerator.create("jdbc:mysql://47.109.202.121:3306/supervisionx_trace_data", "root", "TCCT3.1415926")
.globalConfig(builder -> builder
.author("Jason")
@@ -24,7 +24,7 @@ public class CodeGenerator {
.commentDate("yyyy-MM-dd")
)
.packageConfig(builder -> builder
- .parent("com.alihealth.d2d.provtest.generator.temp")
+ .parent("com.alihealth.d2d.provtest")
.entity("domain")
.mapper("mapper")
.service("service")
diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/PharmaceuticalTradingEnterprisesMapper.java b/src/main/java/com/alihealth/d2d/provtest/mapper/PharmaceuticalTradingEnterprisesMapper.java
new file mode 100644
index 0000000..368705b
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/mapper/PharmaceuticalTradingEnterprisesMapper.java
@@ -0,0 +1,16 @@
+package com.alihealth.d2d.provtest.mapper;
+
+import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingEnterprises;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 药品经营企业基本信息数据子集 Mapper 接口
+ *
+ *
+ * @author Jason
+ * @since 2025-06-06
+ */
+public interface PharmaceuticalTradingEnterprisesMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/PharmaceuticalTradingLicenseBaseInfoMapper.java b/src/main/java/com/alihealth/d2d/provtest/mapper/PharmaceuticalTradingLicenseBaseInfoMapper.java
new file mode 100644
index 0000000..b1f4dc1
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/mapper/PharmaceuticalTradingLicenseBaseInfoMapper.java
@@ -0,0 +1,16 @@
+package com.alihealth.d2d.provtest.mapper;
+
+import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingLicenseBaseInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 药品经营许可证基本信息数据子集 Mapper 接口
+ *
+ *
+ * @author Jason
+ * @since 2025-06-06
+ */
+public interface PharmaceuticalTradingLicenseBaseInfoMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/xml/PharmaceuticalTradingLicenseBaseInfoMapper.xml b/src/main/java/com/alihealth/d2d/provtest/mapper/xml/PharmaceuticalTradingLicenseBaseInfoMapper.xml
new file mode 100644
index 0000000..8ffe9ca
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/mapper/xml/PharmaceuticalTradingLicenseBaseInfoMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/main/java/com/alihealth/d2d/provtest/service/IPharmaceuticalTradingEnterprisesService.java b/src/main/java/com/alihealth/d2d/provtest/service/IPharmaceuticalTradingEnterprisesService.java
new file mode 100644
index 0000000..bad04b5
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/service/IPharmaceuticalTradingEnterprisesService.java
@@ -0,0 +1,16 @@
+package com.alihealth.d2d.provtest.service;
+
+import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingEnterprises;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 药品经营企业基本信息数据子集 服务类
+ *
+ *
+ * @author Jason
+ * @since 2025-06-06
+ */
+public interface IPharmaceuticalTradingEnterprisesService extends IService {
+
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/service/IPharmaceuticalTradingLicenseBaseInfoService.java b/src/main/java/com/alihealth/d2d/provtest/service/IPharmaceuticalTradingLicenseBaseInfoService.java
new file mode 100644
index 0000000..d6cc57d
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/service/IPharmaceuticalTradingLicenseBaseInfoService.java
@@ -0,0 +1,16 @@
+package com.alihealth.d2d.provtest.service;
+
+import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingLicenseBaseInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 药品经营许可证基本信息数据子集 服务类
+ *
+ *
+ * @author Jason
+ * @since 2025-06-06
+ */
+public interface IPharmaceuticalTradingLicenseBaseInfoService extends IService {
+
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1014Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1014Handler.java
new file mode 100644
index 0000000..7fb45c5
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1014Handler.java
@@ -0,0 +1,73 @@
+package com.alihealth.d2d.provtest.service.handle.business;
+
+import com.alihealth.d2d.provtest.domain.PharmaceuticalProductionLicenseBaseInfo;
+import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingEnterprises;
+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.IPharmaceuticalProductionLicenseBaseInfoService;
+import com.alihealth.d2d.provtest.service.IPharmaceuticalTradingEnterprisesService;
+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("1014")
+public class SubType1014Handler extends AbstractEventDataHandler {
+ protected final Logger log = LoggerFactory.getLogger(getClass());
+
+ @Autowired
+ private IPharmaceuticalTradingEnterprisesService service;
+
+ @Autowired
+ private XmlParserService xmlParserService;
+
+ @Override
+ protected Class getEntityClass() {
+ return PharmaceuticalTradingEnterprises.class;
+ }
+
+ @Override
+ protected IService getService() {
+ return service;
+ }
+
+ @Override
+ protected PharmaceuticalTradingEnterprises convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) {
+ return null;
+ }
+
+ @Override
+ public String getSubType() {
+ return "1014";
+ }
+
+ @Override
+ public void handleBase(String xml,String eventId) {
+ VTTSBasic result = xmlParserService.parseDataXml(
+ xml,
+ PharmaceuticalTradingEnterprises.class
+ );
+ List list = result.getDataset();
+ if(list!=null && !list.isEmpty()){
+ list.stream()
+ .forEach(item -> {
+ item.setEventId(eventId);
+ });
+ getService().saveBatch(list);
+ log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size());
+ }
+ }
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1015Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1015Handler.java
new file mode 100644
index 0000000..0cc12e5
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1015Handler.java
@@ -0,0 +1,73 @@
+package com.alihealth.d2d.provtest.service.handle.business;
+
+import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingEnterprises;
+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.IPharmaceuticalTradingEnterprisesService;
+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("1015")
+public class SubType1015Handler extends AbstractEventDataHandler {
+ protected final Logger log = LoggerFactory.getLogger(getClass());
+
+ @Autowired
+ private IPharmaceuticalTradingLicenseBaseInfoService service;
+
+ @Autowired
+ private XmlParserService xmlParserService;
+
+ @Override
+ protected Class getEntityClass() {
+ return PharmaceuticalTradingLicenseBaseInfo.class;
+ }
+
+ @Override
+ protected IService getService() {
+ return service;
+ }
+
+ @Override
+ protected PharmaceuticalTradingLicenseBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) {
+ return null;
+ }
+
+ @Override
+ public String getSubType() {
+ return "1015";
+ }
+
+ @Override
+ public void handleBase(String xml,String eventId) {
+ VTTSBasic result = xmlParserService.parseDataXml(
+ xml,
+ PharmaceuticalTradingLicenseBaseInfo.class
+ );
+ List list = result.getDataset();
+ if(list!=null && !list.isEmpty()){
+ list.stream()
+ .forEach(item -> {
+ item.setEventId(eventId);
+ });
+ getService().saveBatch(list);
+ log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size());
+ }
+ }
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingEnterprisesServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingEnterprisesServiceImpl.java
new file mode 100644
index 0000000..1e855c2
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingEnterprisesServiceImpl.java
@@ -0,0 +1,20 @@
+package com.alihealth.d2d.provtest.service.impl;
+
+import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingEnterprises;
+import com.alihealth.d2d.provtest.mapper.PharmaceuticalTradingEnterprisesMapper;
+import com.alihealth.d2d.provtest.service.IPharmaceuticalTradingEnterprisesService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 药品经营企业基本信息数据子集 服务实现类
+ *
+ *
+ * @author Jason
+ * @since 2025-06-06
+ */
+@Service
+public class PharmaceuticalTradingEnterprisesServiceImpl extends ServiceImpl implements IPharmaceuticalTradingEnterprisesService {
+
+}
diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingLicenseBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingLicenseBaseInfoServiceImpl.java
new file mode 100644
index 0000000..781148d
--- /dev/null
+++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingLicenseBaseInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.alihealth.d2d.provtest.service.impl;
+
+import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingLicenseBaseInfo;
+import com.alihealth.d2d.provtest.mapper.PharmaceuticalTradingLicenseBaseInfoMapper;
+import com.alihealth.d2d.provtest.service.IPharmaceuticalTradingLicenseBaseInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 药品经营许可证基本信息数据子集 服务实现类
+ *
+ *
+ * @author Jason
+ * @since 2025-06-06
+ */
+@Service
+public class PharmaceuticalTradingLicenseBaseInfoServiceImpl extends ServiceImpl implements IPharmaceuticalTradingLicenseBaseInfoService {
+
+}
diff --git a/src/main/resources/mapper/PharmaceuticalTradingEnterprisesMapper.xml b/src/main/resources/mapper/PharmaceuticalTradingEnterprisesMapper.xml
new file mode 100644
index 0000000..b02ad2f
--- /dev/null
+++ b/src/main/resources/mapper/PharmaceuticalTradingEnterprisesMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/target/classes/application.yml b/target/classes/application.yml
index f668f59..cf47fa4 100644
--- a/target/classes/application.yml
+++ b/target/classes/application.yml
@@ -1,5 +1,5 @@
server:
- port: 8888
+ port: 1688
# spring配置
spring:
@@ -34,6 +34,9 @@ logging:
com.baomidou.mybatisplus: DEBUG
cert:
+ #本地
path: D:\ynyp\药品追溯\d2d\yunnan.pfx
+ #服务器
+ #path: /data/cert/d2d/yunnan.pfx
password: 12345678
algorithm: RSA
diff --git a/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class b/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class
index 54e23355a27bea09f501b5847bbaba8f8b0e028d..f4279af14480ce60aed03153375fa09c1e341921 100644
GIT binary patch
delta 22
ecmca$alvAP4?CmjW?%OCj7)}Ro8NIH2?GFK*9Uk2
delta 22
ecmca$alvAP4?CmrW?%OCj7%05o8NIH2?GFK_y>Og
diff --git a/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class b/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class
index b6465f7a64122324e8bcb9fd809afb4ac2045a70..16f1ab4c8614cb05db9169b24005bc48c6b815a6 100644
GIT binary patch
delta 1212
zcmYL{dr;I>6vsbjAKc&m_5u!Clf%?lI@63f<2b`#T9yw4qXIPvG9!XjR#ae@2sGFX
z%^qgiFMFrG%*x&rm8F$d78Pb$k!5A?w0CJQADxSh&Fp^nd(S!Fd%oxF-8W*z@J!Fa
z^&5c#F+PK7chKRJ;nEmmSY)`&CrYP-#W9v}xzAFr@VSz!9J|_MS)6NF?sV6BTo-2r
z*Lws$H?Y#z93HpA`ijyqx*?Xt>eHFtX4<&)3d?r@LKy{z%L
z=~Kn6ovE`yD*s;6a~tJmlEJPV$IjkNP}zIQF
z8J_pppjL9(7~=(AbkUa#n}TfV4w^&dUE{+igokW0Y}OSRUN*d<8o@7Ytw}UCCmZIc
z4X<`B&gzh3CQ)SB!fS@tEj_$pIhj+0k-@gy{9r?L&}hpf-n6_$uVJg@ZMGTSvAoN6
z!+VzZ`M@3egm5a+q@64uvcvKby+NlpBL8E{PCn7zjj4v3L^@rStW`&rPx&n9@!GR?
zvP&4=-)%=Ex4>Qaxn(S;8osc6Nw1LIm`b)(Hz!IGZKD^qTfU;#@-^QWzO{VE?qFT4
zykZaAE#Eu%!8!ZU@)Nr)KfA~;PVlP>|7Q8!MfN(_=U_Y&41ZYus9hvHgzshKF`-@k@+Ef`NHOG0{~OAruFz^Nv4hvc628
zkm5)pjN)`5vz&pK6IwD|sYjFtcO`v*kqUWE4pm
z!yGB5UZyfvDw&s&1dWm+B`u_-m1bGOMg6Y3$)i+drIeAyOucA|GNaNsQc5@OOxH5ck~bEJbB6^F@}CRHbN)df<)EM-w<>n@Mhs>8XuBe^=w
zB{g>(a!9AmGR!d~>kV@a^9=L#gBTiU)S`$sY$ByBD%u~?`VG;n{}Q^GkSHq)$
delta 1436
zcmaKs32anV6o$Xk?Y?=vrKO+=sSp~7BuG**kSHW53PJ@-1*|Q#Vr?H#pq*i+t*uZh
zAmD-^K5@5-int3_QBe`a1#!WpDk849feYY*E8w}sHc_I<AvDfaWa+
z*KYs@Nrq1k7C3Q<&q5YO7|LS9r9P=#=EUU@u3(AJl`QpH##Ih2_qaNpkZWAt3Xf~k
zxsK~SZt%I0n>=pzxW%Kyqs61t<5t6ME@GwOc30z$NV9gi(`OZTd93!y;clng<8v?f
zdE9S!z^AXH)t3jIc*u!0K5Kc{p;njjh(nM1tUGLb%&Ct%@r0XUeL7F_ltWMZY~UH6
zjXZ03&SR5O$>jM6FYuzXzGT=OX2`nSo|Vz+AW>UYQ8=wUUR{1_c_PTKnG&54#Otdn
z0^zi9P0}%8uS{=n{)qpJ94cfrRL?9dk0*k7XZGNZ?5yH{`NEA-(*M|w<|E>DQw!tK
z%DRf$s%XvdSZrqFKUj?IsMEWX#ebx%qNylX$vQr0Xd&pcJjG)i^ZcAK_W4^s!};vzTnGnrD;mu$yZ^nmv_PrzP1eG
zWWz4YZrX&5SiGvfyfzpUG!B{FWch|R%eQ=I_};RIz2SVXsCXaSEk8K%qa*Z_a{>}2cv;5)2pH7_4D8m8EK@M5YV2ly0h$ImZz>ZzxUA;d&-9n*1Yd+TsYCpzBs^K{%vq?s4NZ
z*Vk;wBZYw!DzfT@EY4!Qp27qs>QgLeUDS1zG`obQ^ii2lL}%!tEsoNXIa;(21q@=G
z5*n{^B4rdYgJK$)#A4261?RDea<)>zHUj+`({yoFx|`_|p<1%3ksd^)H!{oKg3W+y#}Rd!wYFplq%Yva9{UsdBU7hBtes|
Z$X$`