代码工厂优化

This commit is contained in:
huzhengkao 2025-06-05 17:35:12 +08:00
parent 3c2f6560d0
commit fb1e9e63b9
23 changed files with 449 additions and 110 deletions

View File

@ -60,7 +60,7 @@ public class ProvTestClient {
public static void main(String[] args) throws Exception {
//数据文件内容主业务类型 10基础信息数据 20应用信息数据
//subType数据文件内容子业务类型 详见数据类型字典表 基本信息(1011-10199001-9002) 应用信息2011-20202051-2053
testProv("2011");
testProv("1011");
}

View File

@ -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) {

View File

@ -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<String, EventDataHandler> handlerMap(ApplicationContext context) {
Map<String, EventDataHandler> 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;
}
}

View File

@ -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<String,Object> receive(HttpServletRequest request) throws IOException {
@ -137,72 +137,8 @@ public class ProvTestServerController {
// xml,
// DomesticPharmaBaseInfo.class
// );
if(eventType.equals("10")){
VTTSBasic<DomesticPharmaBaseInfo> result = xmlParserService.parseDataXml(
xml,
DomesticPharmaBaseInfo.class
);
List<DomesticPharmaBaseInfo> list = result.getDataset();
if(list!=null && !list.isEmpty()){
list.stream()
.forEach(item -> {
item.setEventId(eventId);
});
domesticPharmaBaseInfoService.saveBatch(list);
logger.info("入库的数据条数:{}", list.size());
}
}else{
List<DomesticDrugProductionApplyInfo> 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){

View File

@ -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<DomesticDrugProductionApplyInfo> {
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<DomesticDrugProd
@Column(name = "rkdwlx")
private String rkdwlx;
@Override
public Class<DomesticDrugProductionApplyInfo> getEntityClass() {
return DomesticDrugProductionApplyInfo.class;
}
@Override
public String getDatasetName() {
return "国产药品生产信息数据子集";
}
}

View File

@ -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<T extends BaseEntity<T>> implements XmlEntity<T>{
@TableId(type = IdType.AUTO) // 明确指定使用数据库自增

View File

@ -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<String, EventDataHandler> handlerMap;
public EventDataHandler getHandler(String subType) {
EventDataHandler handler = handlerMap.get(subType);
if (handler == null) {
throw new IllegalArgumentException("未找到对应的处理器: " + subType);
}
return handler;
}
}

View File

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

View File

@ -38,7 +38,7 @@ public class XmlParserService {
* @param <T>
* @throws IOException
*/
public static <T> VTTSBasic<T> parseDataXml(String xml, Class<T> dataType) throws IOException {
public <T> VTTSBasic<T> parseDataXml(String xml, Class<T> 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);
}

View File

@ -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 <T> implements EventDataHandler {
protected final Logger log = LoggerFactory.getLogger(getClass());
protected abstract Class<T> getEntityClass();
protected abstract IService<T> getService();
protected abstract T convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail detail);
@Override
public void handle(VTTSEventS eventS) {
List<T> 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);
}
}
}

View File

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

View File

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

View File

@ -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<DomesticPharmaBaseInfo> {
protected final Logger log = LoggerFactory.getLogger(getClass());
@Autowired
private IDomesticPharmaBaseInfoService service;
@Autowired
private XmlParserService xmlParserService;
@Override
protected Class<DomesticPharmaBaseInfo> getEntityClass() {
return DomesticPharmaBaseInfo.class;
}
@Override
protected IService<DomesticPharmaBaseInfo> 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<DomesticPharmaBaseInfo> result = null;
try {
result = xmlParserService.parseDataXml(
xml,
DomesticPharmaBaseInfo.class
);
} catch (IOException e) {
throw new RuntimeException(e);
}
List<DomesticPharmaBaseInfo> 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,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<DomesticDrugProductionApplyInfo> {
@Autowired
private IDomesticDrugProductionApplyInfoService service;
@Override
protected Class<DomesticDrugProductionApplyInfo> getEntityClass() {
return DomesticDrugProductionApplyInfo.class;
}
@Override
protected IService<DomesticDrugProductionApplyInfo> 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) {
}
}

View File

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

View File

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

View File

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

View File

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