代码工厂优化
This commit is contained in:
parent
3c2f6560d0
commit
fb1e9e63b9
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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){
|
||||
|
|
|
@ -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 "国产药品生产信息数据子集";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) // 明确指定使用数据库自增
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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"
|
||||
}
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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) {
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -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 {
|
||||
}
|
|
@ -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 {
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue