diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugBaseInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugBaseInfo.java index d3a22bf..4a7e978 100644 --- a/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugBaseInfo.java +++ b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugBaseInfo.java @@ -1,18 +1,26 @@ package com.alihealth.d2d.provtest.domain; +import com.alihealth.d2d.provtest.domain.eto.BASQXQ; import com.alihealth.d2d.provtest.utils.LocalDateDeserializer; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; 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 java.util.List; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; + +import javax.persistence.Transient; /** *

@@ -22,8 +30,7 @@ import lombok.Setter; * @author Jason * @since 2025-06-06 */ -@Getter -@Setter +@Data @TableName("domestic_drug_base_info") public class DomesticDrugBaseInfo implements Serializable { @@ -176,9 +183,15 @@ public class DomesticDrugBaseInfo implements Serializable { /** * 子集:bzbl-包装比例 、bzjb-包装级别 、ypbsm-药品标识码 */ - @JacksonXmlProperty(localName = "BASQXQS") + //@JacksonXmlProperty(localName = "BASQXQS") private String basqxqs; + // XML映射字段(不直接存入数据库) + @TableField(exist = false) + @JacksonXmlElementWrapper(localName = "BASQXQS") + @JacksonXmlProperty(localName = "BASQXQ") + private List basqxqList; + /** * 创建时间 */ @@ -194,5 +207,16 @@ public class DomesticDrugBaseInfo implements Serializable { */ private Integer isDeleted; + // 在setter方法中完成转换 + public void setBasqxqList(List basqxqList) { + this.basqxqList = basqxqList; + try { + this.basqxqs = new ObjectMapper().writeValueAsString(basqxqList); + } catch (JsonProcessingException e) { + throw new RuntimeException("转换BASQXQS为JSON失败", e); + } + } + + } diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.java index 19d4112..0457912 100644 --- a/src/main/java/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.java +++ b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.java @@ -1,6 +1,8 @@ package com.alihealth.d2d.provtest.domain; import com.alihealth.d2d.provtest.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; @@ -8,6 +10,8 @@ import lombok.Data; import javax.persistence.Column; import javax.xml.bind.annotation.*; +import java.io.Serializable; +import java.time.LocalDateTime; /** * @author Jason @@ -16,7 +20,20 @@ import javax.xml.bind.annotation.*; @Data @TableName("domestic_pharma_base_info") @JacksonXmlRootElement(localName = "data") -public class DomesticPharmaBaseInfo extends BaseEntity{ +public class DomesticPharmaBaseInfo implements Serializable { + @TableId(value = "id", type = IdType.AUTO) // 明确指定使用数据库自增 + private Long id; + + @Column(name = "event_id") + private String eventId;//事件流水号 + + @Column(name = "create_time", updatable = false) + // 仅数据库字段 + private LocalDateTime createTime = LocalDateTime.now(); + + @Column(name = "update_time") + private LocalDateTime updateTime; + @Column(name = "tyshxydm", unique = true) @JacksonXmlProperty(localName = "TYSHXYDM") private String tyshxydm; @@ -119,16 +136,4 @@ public class DomesticPharmaBaseInfo extends BaseEntity{ private String zsgps; // GPS坐标(经度,纬度) - - @Override - public Class getEntityClass() { - return DomesticPharmaBaseInfo.class; - } - - @Override - public String getDatasetName() { - return "境内药品生产企业基本信息数据子集"; - } - - } diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/eto/BASQXQ.java b/src/main/java/com/alihealth/d2d/provtest/domain/eto/BASQXQ.java new file mode 100644 index 0000000..8d20894 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/domain/eto/BASQXQ.java @@ -0,0 +1,21 @@ +package com.alihealth.d2d.provtest.domain.eto; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Data; + +/** + * @author Jason 1018扩展类 + * @date 2025年06月06日 22:06:17 + */ +@Data +public class BASQXQ { + + @JacksonXmlProperty(localName = "BZBL") + private String bzbl; + + @JacksonXmlProperty(localName = "BZJB") + private String bzjb; + + @JacksonXmlProperty(localName = "YPBSM") + private String ypbsm; +} diff --git a/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class b/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class index f4279af..3acd79e 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class and b/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class b/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class index 1058231..48c0229 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class and b/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class b/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class index 29d684b..88f1241 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class and b/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class differ