diff --git a/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java b/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java index 63f3221..49cbf1a 100644 --- a/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java +++ b/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java @@ -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("2011"); + testProv("1011"); } diff --git a/src/main/java/com/alihealth/d2d/provtest/ProvtestApplication.java b/src/main/java/com/alihealth/d2d/provtest/ProvtestApplication.java index 7e20d48..a7a89b3 100644 --- a/src/main/java/com/alihealth/d2d/provtest/ProvtestApplication.java +++ b/src/main/java/com/alihealth/d2d/provtest/ProvtestApplication.java @@ -3,10 +3,12 @@ package com.alihealth.d2d.provtest; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableAsync; @SpringBootApplication // 指定要扫描的Mapper类的包的路径 @MapperScan("com.alihealth.d2d.provtest.mapper") +@EnableAsync public class ProvtestApplication { public static void main(String[] args) { diff --git a/src/main/java/com/alihealth/d2d/provtest/config/HandlerConfig.java b/src/main/java/com/alihealth/d2d/provtest/config/HandlerConfig.java new file mode 100644 index 0000000..5e1ec34 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/config/HandlerConfig.java @@ -0,0 +1,33 @@ +package com.alihealth.d2d.provtest.config; + +import com.alihealth.d2d.provtest.service.handle.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author Jason 自动注册处理器 + * @date 2025年06月05日 11:35:20 + */ +@Configuration +public class HandlerConfig { + + @Bean + public Map handlerMap(ApplicationContext context) { + Map map = new HashMap<>(); + context.getBeansOfType(EventDataHandler.class).forEach((beanName, handler) -> { + EventSubType annotation = handler.getClass().getAnnotation(EventSubType.class); + if (annotation != null) { + map.put(annotation.value(), handler); // 使用注解值作为 key + } + }); + return map; + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java b/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java index 07f9652..e5adde7 100644 --- a/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java +++ b/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java @@ -9,10 +9,7 @@ import com.alihealth.d2d.provtest.entity.*; import com.alihealth.d2d.provtest.enums.BuzStatusEnum; import com.alihealth.d2d.provtest.enums.EventTypeEnum; import com.alihealth.d2d.provtest.enums.SubTypeEnum; -import com.alihealth.d2d.provtest.service.IDomesticDrugProductionApplyInfoService; -import com.alihealth.d2d.provtest.service.IDomesticPharmaBaseInfoService; -import com.alihealth.d2d.provtest.service.IReceiveDataLogService; -import com.alihealth.d2d.provtest.service.XmlParserService; +import com.alihealth.d2d.provtest.service.*; import com.alihealth.d2d.provtest.utils.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,6 +72,9 @@ public class ProvTestServerController { @Autowired private IDomesticDrugProductionApplyInfoService domesticDrugProductionApplyInfoService; + @Autowired + private EventProcessingService processingService; + @RequestMapping("/receive") public @ResponseBody Map receive(HttpServletRequest request) throws IOException { @@ -137,72 +137,8 @@ public class ProvTestServerController { // xml, // DomesticPharmaBaseInfo.class // ); - if(eventType.equals("10")){ - VTTSBasic result = xmlParserService.parseDataXml( - xml, - DomesticPharmaBaseInfo.class - ); - List list = result.getDataset(); - if(list!=null && !list.isEmpty()){ - list.stream() - .forEach(item -> { - item.setEventId(eventId); - }); - domesticPharmaBaseInfoService.saveBatch(list); - logger.info("入库的数据条数:{}", list.size()); - } - }else{ - List list=new ArrayList<>(); - VTTSEventS eventS = xmlParserService.parseAppDataXml(xml); - for (EventBody eventBody : eventS.getVttsEvent().getEventBodyList()) { - - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - DomesticDrugProductionApplyInfo applyInfo=new DomesticDrugProductionApplyInfo(); - - applyInfo.setEventId(eventBody.getEventID()); - applyInfo.setRecTime(formatter.parse(eventBody.getRecTime())); - - - - EventBasic evtBasic = eventBody.getEvtBasic(); - applyInfo.setRkdbh(evtBasic.getString("RKDBH")); - applyInfo.setRksj(evtBasic.getString("RKSJ")); - applyInfo.setRkdwmc(evtBasic.getString("RKDWMC")); - applyInfo.setRkdwtyshxydm(evtBasic.getString("RKDWTYSHXYDM")); - applyInfo.setRkdwlx(evtBasic.getString("RKDWLX")); - - - for (ItemDetail item : eventBody.getItemList()) { - applyInfo.setTyshxydmscqy(item.getString("TYSHXYDMSCQY")); - applyInfo.setScqymc(item.getString("SCQYMC")); - applyInfo.setYptymc(item.getString("YPTYMC")); - applyInfo.setGjypbsm(item.getString("GJYPBSM")); - applyInfo.setYmscph(item.getString("YMSCPH")); - String formattedDate = LocalDate.parse( - item.getString("SCRQ"), - DateTimeFormatter.ofPattern("yyyyMMdd") - ).format(DateTimeFormatter.ISO_LOCAL_DATE); // 直接使用标准格式 - applyInfo.setScrq(formattedDate); - applyInfo.setYmyxqjzrq(item.getString("YMYXQJZRQ")); - applyInfo.setScsl(item.getString("SCSL")); - applyInfo.setScdz(item.getString("SCDZ")); - - - item.getInstanceList().forEach(instance -> { - applyInfo.setYpzsm(instance.getString("YPZSM")); - applyInfo.setSyjbzypzsm(instance.getString("SYJBZYPZSM")); - applyInfo.setBzcj(instance.getString("BZCJ")); - applyInfo.setYmzt(instance.getString("YMZT")); - list.add(applyInfo); - }); - - } - } - if(!list.isEmpty()){ - domesticDrugProductionApplyInfoService.saveBatch(list); - } - - } + //解析并处理数据 + processingService.processEvent(eventPojo, xml,eventId); return ResponseBuilder.success(); }catch (Exception e){ diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugProductionApplyInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugProductionApplyInfo.java index 6023780..fce9f8e 100644 --- a/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugProductionApplyInfo.java +++ b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugProductionApplyInfo.java @@ -1,11 +1,15 @@ 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.JacksonXmlRootElement; +import lombok.Builder; import lombok.Data; import javax.persistence.Column; +import java.time.LocalDateTime; import java.util.Date; /** @@ -13,8 +17,22 @@ import java.util.Date; * @date 2025年06月04日 11:39:02 */ @Data +@Builder @TableName("domestic_drug_production_apply_info") -public class DomesticDrugProductionApplyInfo extends BaseEntity { +public class DomesticDrugProductionApplyInfo { + + @TableId(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; //private String eventId; @Column(name = "rec_time") @@ -72,14 +90,4 @@ public class DomesticDrugProductionApplyInfo extends BaseEntity getEntityClass() { - return DomesticDrugProductionApplyInfo.class; - } - - @Override - public String getDatasetName() { - return "国产药品生产信息数据子集"; - } } diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/BaseEntity.java b/src/main/java/com/alihealth/d2d/provtest/entity/BaseEntity.java index 2f9e144..580236e 100644 --- a/src/main/java/com/alihealth/d2d/provtest/entity/BaseEntity.java +++ b/src/main/java/com/alihealth/d2d/provtest/entity/BaseEntity.java @@ -2,6 +2,7 @@ package com.alihealth.d2d.provtest.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Builder; import lombok.Data; import org.springframework.data.annotation.Id; @@ -13,7 +14,7 @@ import java.time.LocalDateTime; * @author Jason * @date 2025年05月30日 09:55:20 */ -@MappedSuperclass +//@MappedSuperclass @Data public abstract class BaseEntity> implements XmlEntity{ @TableId(type = IdType.AUTO) // 明确指定使用数据库自增 diff --git a/src/main/java/com/alihealth/d2d/provtest/factory/EventHandlerFactory.java b/src/main/java/com/alihealth/d2d/provtest/factory/EventHandlerFactory.java new file mode 100644 index 0000000..539bb21 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/factory/EventHandlerFactory.java @@ -0,0 +1,26 @@ +package com.alihealth.d2d.provtest.factory; + +import com.alihealth.d2d.provtest.service.handle.EventDataHandler; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * @author Jason 事件处理器工厂 + * @date 2025年06月05日 11:29:54 + */ +@Service +public class EventHandlerFactory { + @Autowired + private Map handlerMap; + + public EventDataHandler getHandler(String subType) { + EventDataHandler handler = handlerMap.get(subType); + if (handler == null) { + throw new IllegalArgumentException("未找到对应的处理器: " + subType); + } + return handler; + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/EventProcessingService.java b/src/main/java/com/alihealth/d2d/provtest/service/EventProcessingService.java new file mode 100644 index 0000000..605ba17 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/EventProcessingService.java @@ -0,0 +1,47 @@ +package com.alihealth.d2d.provtest.service; + +import com.alihealth.d2d.provtest.domain.DomesticPharmaBaseInfo; +import com.alihealth.d2d.provtest.entity.VTTSBasic; +import com.alihealth.d2d.provtest.entity.VTTSEventS; +import com.alihealth.d2d.provtest.factory.EventHandlerFactory; +import com.alihealth.d2d.provtest.service.handle.EventDataHandler; +import com.alihealth.d2d.provtest.utils.EventPojo; +import lombok.RequiredArgsConstructor; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +/** + * @author Jason 事件主处理服务 + * @date 2025年06月05日 11:28:56 + */ +@Service +@RequiredArgsConstructor +public class EventProcessingService { + + private final XmlParserService xmlParserService; + private final EventHandlerFactory handlerFactory; + + /** + * + * @param eventPojo + * @param xml + * @param eventId + */ + @Async + public void processEvent(EventPojo eventPojo, String xml,String eventId) { + EventDataHandler handler = handlerFactory.getHandler(eventPojo.getSubType()); + if(eventPojo.getSubType().startsWith("20")) {//应用数据 + VTTSEventS eventS = null; + try { + eventS = xmlParserService.parseAppDataXml(xml); + } catch (Exception e) { + throw new RuntimeException(e); + } + handler.handle(eventS); + }else{ + handler.handleBase(xml,eventId); + } + + } + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/XmlParserService.java b/src/main/java/com/alihealth/d2d/provtest/service/XmlParserService.java index df8d7fd..5360b8e 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/XmlParserService.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/XmlParserService.java @@ -38,7 +38,7 @@ public class XmlParserService { * @param * @throws IOException */ - public static VTTSBasic parseDataXml(String xml, Class dataType) throws IOException { + public VTTSBasic parseDataXml(String xml, Class dataType) throws IOException { JavaType type = xmlMapper.getTypeFactory().constructParametricType( VTTSBasic.class, dataType @@ -52,7 +52,7 @@ public class XmlParserService { * @return * @throws Exception */ - public static VTTSEventS parseAppDataXml(String xml) throws Exception { + public VTTSEventS parseAppDataXml(String xml) throws Exception { return xmlMapper.readValue(xml, VTTSEventS.class); } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/AbstractEventDataHandler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/AbstractEventDataHandler.java new file mode 100644 index 0000000..879ea23 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/AbstractEventDataHandler.java @@ -0,0 +1,47 @@ +package com.alihealth.d2d.provtest.service.handle; + +import com.alihealth.d2d.provtest.domain.DomesticPharmaBaseInfo; +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.VTTSEventS; +import com.baomidou.mybatisplus.extension.service.IService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Jason + * @date 2025年06月05日 11:11:15 + */ +public abstract class AbstractEventDataHandler implements EventDataHandler { + + protected final Logger log = LoggerFactory.getLogger(getClass()); + + protected abstract Class getEntityClass(); + protected abstract IService getService(); + protected abstract T convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail detail); + + @Override + public void handle(VTTSEventS eventS) { + List entities = new ArrayList<>(); + + for (EventBody eventBody : eventS.getVttsEvent().getEventBodyList()) { + for (ItemDetail item : eventBody.getItemList()) { + for (InstanceDetail instance : item.getInstanceList()) { + try { + entities.add(convertToEntity(eventBody, item, instance)); + } catch (Exception e) { + log.error("转换实体失败", e); + } + } + } + } + + if (!entities.isEmpty()) { + getService().saveBatch(entities); + } + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/EventDataHandler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/EventDataHandler.java new file mode 100644 index 0000000..733ca5e --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/EventDataHandler.java @@ -0,0 +1,16 @@ +package com.alihealth.d2d.provtest.service.handle; + +import com.alihealth.d2d.provtest.entity.VTTSEventS; + +/** + * 事件处理接口 + */ +public interface EventDataHandler { + String getSubType(); // 返回业务subType + + //处理应用数据 + void handle(VTTSEventS eventS); + + //处理基础数据 + void handleBase(String xml,String eventId); +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/EventSubType.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/EventSubType.java new file mode 100644 index 0000000..c1125c3 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/EventSubType.java @@ -0,0 +1,19 @@ +package com.alihealth.d2d.provtest.service.handle; + +import org.springframework.stereotype.Component; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author Jason + * @date 2025年06月05日 15:05:31 + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Component +public @interface EventSubType { + String value(); // 如 "2011" +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1011Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1011Handler.java new file mode 100644 index 0000000..cb92189 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1011Handler.java @@ -0,0 +1,74 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import com.alihealth.d2d.provtest.domain.DomesticPharmaBaseInfo; +import com.alihealth.d2d.provtest.entity.*; +import com.alihealth.d2d.provtest.service.IDomesticPharmaBaseInfoService; +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.io.IOException; +import java.util.List; + +/** + * @author Jason 境内药品生产企业基本信息数据子集 + * @date 2025年06月05日 11:14:43 + */ +@Service +@EventSubType("1011") +public class SubType1011Handler extends AbstractEventDataHandler { + protected final Logger log = LoggerFactory.getLogger(getClass()); + + @Autowired + private IDomesticPharmaBaseInfoService service; + + @Autowired + private XmlParserService xmlParserService; + + @Override + protected Class getEntityClass() { + return DomesticPharmaBaseInfo.class; + } + + @Override + protected IService getService() { + return service; + } + + @Override + protected DomesticPharmaBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) { + return null; + } + + @Override + public String getSubType() { + return "1011"; + } + + @Override + public void handleBase(String xml,String eventId) { + VTTSBasic result = null; + try { + result = xmlParserService.parseDataXml( + xml, + DomesticPharmaBaseInfo.class + ); + } catch (IOException e) { + throw new RuntimeException(e); + } + 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/SubType2011Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2011Handler.java new file mode 100644 index 0000000..359cbce --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2011Handler.java @@ -0,0 +1,87 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import com.alihealth.d2d.provtest.domain.DomesticDrugProductionApplyInfo; +import com.alihealth.d2d.provtest.entity.EventBasic; +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.service.IDomesticDrugProductionApplyInfoService; +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.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +/** + * @author Jason + * @date 2025年06月05日 11:14:43 + */ +@Service +@EventSubType("2011") +public class SubType2011Handler extends AbstractEventDataHandler { + + @Autowired + private IDomesticDrugProductionApplyInfoService service; + + @Override + protected Class getEntityClass() { + return DomesticDrugProductionApplyInfo.class; + } + + @Override + protected IService getService() { + return service; + } + + @Override + protected DomesticDrugProductionApplyInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) { + EventBasic evtBasic = eventBody.getEvtBasic(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDate.parse( + item.getString("SCRQ"), + DateTimeFormatter.ofPattern("yyyyMMdd") + ).format(DateTimeFormatter.ISO_LOCAL_DATE); // + try { + return DomesticDrugProductionApplyInfo.builder() + .eventId(eventBody.getEventID()) + .recTime(formatter.parse(eventBody.getRecTime())) + .rkdbh(evtBasic.getString("RKDBH")) + .rksj(evtBasic.getString("RKSJ")) + .rkdwmc(evtBasic.getString("RKDWMC")) + .rkdwtyshxydm(evtBasic.getString("RKDWTYSHXYDM")) + .rkdwlx(evtBasic.getString("RKDWLX")) + .tyshxydmscqy(item.getString("TYSHXYDMSCQY")) + .scqymc(item.getString("SCQYMC")) + .yptymc(item.getString("YPTYMC")) + .gjypbsm(item.getString("GJYPBSM")) + .ymscph(item.getString("YMSCPH")) + .scrq(formattedDate) + .ymyxqjzrq(item.getString("YMYXQJZRQ")) + .scsl(item.getString("SCSL")) + .scdz(item.getString("SCDZ")) + .ypzsm(instance.getString("YPZSM")) + .syjbzypzsm(instance.getString("SYJBZYPZSM")) + .bzcj(instance.getString("BZCJ")) + .ymzt(instance.getString("YMZT")) + .build(); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + @Override + public String getSubType() { + return "2011"; + } + + @Override + public void handleBase(String xml, String eventId) { + + } + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2012Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2012Handler.java new file mode 100644 index 0000000..8f7badf --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2012Handler.java @@ -0,0 +1,11 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import org.springframework.stereotype.Service; + +/** + * @author Jason + * @date 2025年06月05日 11:37:18 + */ +@Service +public class SubType2012Handler { +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2013Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2013Handler.java new file mode 100644 index 0000000..6cc765e --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2013Handler.java @@ -0,0 +1,11 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import org.springframework.stereotype.Service; + +/** + * @author Jason + * @date 2025年06月05日 11:37:52 + */ +@Service +public class SubType2013Handler { +} diff --git a/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class b/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class index d27f26e..4d9f32c 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/ProvtestApplication.class b/target/classes/com/alihealth/d2d/provtest/ProvtestApplication.class index e866e57..62aea44 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/ProvtestApplication.class and b/target/classes/com/alihealth/d2d/provtest/ProvtestApplication.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class b/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class index 284befe..dc6420f 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class and b/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/entity/BaseEntity.class b/target/classes/com/alihealth/d2d/provtest/entity/BaseEntity.class index 229057b..1d98fbc 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/entity/BaseEntity.class and b/target/classes/com/alihealth/d2d/provtest/entity/BaseEntity.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/service/XmlParserService.class b/target/classes/com/alihealth/d2d/provtest/service/XmlParserService.class index dacdcf3..a991cdf 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/service/XmlParserService.class and b/target/classes/com/alihealth/d2d/provtest/service/XmlParserService.class differ diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index b50a431..df9ecb4 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,43 +1,54 @@ com\alihealth\d2d\provtest\entity\BaseEntity.class +com\alihealth\d2d\provtest\service\handle\SubType2011Handler.class com\alihealth\d2d\provtest\enums\SubTypeEnum.class com\alihealth\d2d\provtest\entity\DynamicFieldsEntity.class com\alihealth\d2d\provtest\factory\EntityFactoryManager.class -com\alihealth\d2d\provtest\mapper\DomesticDrugProductionApplyInfoMapper.class -com\alihealth\d2d\provtest\utils\XmlStringParser.class +com\alihealth\d2d\provtest\config\HandlerConfig.class +com\alihealth\d2d\provtest\service\handle\SubType2013Handler.class com\alihealth\d2d\provtest\service\IReceiveDataLogService.class com\alihealth\d2d\provtest\entity\VTTSEvent.class -com\alihealth\d2d\provtest\service\impl\DomesticPharmaBaseInfoServiceImpl.class com\alihealth\d2d\provtest\domain\ReceiveDataLog.class com\alihealth\d2d\provtest\service\XmlParserService.class -com\alihealth\d2d\provtest\entity\ItemDetail.class com\alihealth\d2d\provtest\mapper\DomesticPharmaBaseInfoMapper.class com\alihealth\d2d\provtest\service\IDomesticDrugProductionApplyInfoService.class com\alihealth\d2d\provtest\service\IDomesticPharmaBaseInfoService.class -com\alihealth\d2d\provtest\domain\DomesticDrugProductionApplyInfo.class com\alihealth\d2d\provtest\utils\RequestWrapper$1.class -com\alihealth\d2d\provtest\utils\RequestWrapper.class -com\alihealth\d2d\provtest\domain\DomesticPharmaBaseInfo.class +com\alihealth\d2d\provtest\service\handle\EventDataHandler.class com\alihealth\d2d\provtest\service\impl\DomesticDrugProductionApplyInfoServiceImpl.class com\alihealth\d2d\provtest\utils\BouncyCastlePFXGenerator.class -com\alihealth\d2d\provtest\entity\EventBasic.class com\alihealth\d2d\provtest\utils\EventPojo.class com\alihealth\d2d\provtest\mapper\ReceiveDataLogMapper.class com\alihealth\d2d\provtest\entity\InstanceDetail.class -com\alihealth\d2d\provtest\factory\DomesticPharmaBaseInfoFactory.class com\alihealth\d2d\provtest\entity\EventBody.class com\alihealth\d2d\provtest\utils\Base64.class -com\alihealth\d2d\provtest\utils\StreamUtil.class com\alihealth\d2d\provtest\controller\ProvTestServerController.class com\alihealth\d2d\provtest\factory\EntityFactory.class -com\alihealth\d2d\provtest\utils\EntityProcessor.class com\alihealth\d2d\provtest\entity\XmlEntity.class com\alihealth\d2d\provtest\utils\KeyStoreUtil.class -com\alihealth\d2d\provtest\enums\BuzStatusEnum.class com\alihealth\d2d\provtest\enums\EventTypeEnum.class com\alihealth\d2d\provtest\entity\VTTSEventS.class -com\alihealth\d2d\provtest\service\impl\ReceiveDataLogServiceImpl.class com\alihealth\d2d\provtest\enums\StatusEnum.class +com\alihealth\d2d\provtest\service\handle\AbstractEventDataHandler.class com\alihealth\d2d\provtest\ProvtestApplication.class com\alihealth\d2d\provtest\entity\VTTSBasic.class -com\alihealth\d2d\provtest\ProvTestClient.class com\alihealth\d2d\provtest\utils\ResponseBuilder.class +com\alihealth\d2d\provtest\mapper\DomesticDrugProductionApplyInfoMapper.class +com\alihealth\d2d\provtest\utils\XmlStringParser.class +com\alihealth\d2d\provtest\service\handle\SubType2012Handler.class +com\alihealth\d2d\provtest\service\impl\DomesticPharmaBaseInfoServiceImpl.class +com\alihealth\d2d\provtest\entity\ItemDetail.class +com\alihealth\d2d\provtest\service\handle\SubType1011Handler.class +com\alihealth\d2d\provtest\service\handle\EventSubType.class +com\alihealth\d2d\provtest\domain\DomesticDrugProductionApplyInfo.class +com\alihealth\d2d\provtest\service\EventProcessingService.class +com\alihealth\d2d\provtest\utils\RequestWrapper.class +com\alihealth\d2d\provtest\domain\DomesticPharmaBaseInfo.class +com\alihealth\d2d\provtest\factory\EventHandlerFactory.class +com\alihealth\d2d\provtest\entity\EventBasic.class +com\alihealth\d2d\provtest\factory\DomesticPharmaBaseInfoFactory.class +com\alihealth\d2d\provtest\utils\StreamUtil.class +com\alihealth\d2d\provtest\utils\EntityProcessor.class +com\alihealth\d2d\provtest\enums\BuzStatusEnum.class +com\alihealth\d2d\provtest\service\impl\ReceiveDataLogServiceImpl.class +com\alihealth\d2d\provtest\domain\DomesticDrugProductionApplyInfo$DomesticDrugProductionApplyInfoBuilder.class +com\alihealth\d2d\provtest\ProvTestClient.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 82876a0..2dbdc83 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -2,18 +2,35 @@ D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\VTTSEventS D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\XmlEntity.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\domain\ReceiveDataLog.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\RequestWrapper.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\ItemDetail.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\handle\AbstractEventDataHandler.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\BuzStatusEnum.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\IDomesticDrugProductionApplyInfoService.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\StatusEnum.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\mapper\DomesticPharmaBaseInfoMapper.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\ProvTestClient.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\EventHandlerFactory.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\handle\SubType1011Handler.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\ProvtestApplication.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\IReceiveDataLogService.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\StreamUtil.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\controller\ProvTestServerController.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\DomesticPharmaBaseInfoFactory.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\XmlStringParser.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\EventBody.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\EventProcessingService.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\EventTypeEnum.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\KeyStoreUtil.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\Base64.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\ResponseBuilder.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\EventBasic.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\handle\EventDataHandler.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\EntityFactoryManager.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\EntityFactory.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\VTTSBasic.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\config\HandlerConfig.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\handle\SubType2013Handler.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\handle\EventSubType.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\ItemDetail.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\mapper\DomesticPharmaBaseInfoMapper.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\EventPojo.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\impl\ReceiveDataLogServiceImpl.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\impl\DomesticPharmaBaseInfoServiceImpl.java @@ -21,22 +38,15 @@ D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\BouncyCastl D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\mapper\ReceiveDataLogMapper.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\DynamicFieldsEntity.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\EntityProcessor.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\EventBody.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\XmlParserService.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\EventTypeEnum.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\SubTypeEnum.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\KeyStoreUtil.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\IDomesticPharmaBaseInfoService.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\domain\DomesticDrugProductionApplyInfo.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\Base64.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\ResponseBuilder.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\mapper\DomesticDrugProductionApplyInfoMapper.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\domain\DomesticPharmaBaseInfo.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\EventBasic.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\EntityFactoryManager.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\BaseEntity.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\InstanceDetail.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\EntityFactory.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\impl\DomesticDrugProductionApplyInfoServiceImpl.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\VTTSBasic.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\handle\SubType2011Handler.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\handle\SubType2012Handler.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\VTTSEvent.java