This commit is contained in:
huzhengkao 2025-06-06 22:42:35 +08:00
parent 2e261dc774
commit 8e77492b4b
6 changed files with 68 additions and 18 deletions

View File

@ -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;
/**
* <p>
@ -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<BASQXQ> basqxqList;
/**
* 创建时间
*/
@ -194,5 +207,16 @@ public class DomesticDrugBaseInfo implements Serializable {
*/
private Integer isDeleted;
// 在setter方法中完成转换
public void setBasqxqList(List<BASQXQ> basqxqList) {
this.basqxqList = basqxqList;
try {
this.basqxqs = new ObjectMapper().writeValueAsString(basqxqList);
} catch (JsonProcessingException e) {
throw new RuntimeException("转换BASQXQS为JSON失败", e);
}
}
}

View File

@ -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<DomesticPharmaBaseInfo>{
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<DomesticPharmaBaseInfo>{
private String zsgps; // GPS坐标(经度,纬度)
@Override
public Class<DomesticPharmaBaseInfo> getEntityClass() {
return DomesticPharmaBaseInfo.class;
}
@Override
public String getDatasetName() {
return "境内药品生产企业基本信息数据子集";
}
}

View File

@ -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;
}