From 2232763f8b21f2baf6915c782208f0cb07eb1aed Mon Sep 17 00:00:00 2001 From: daichao <1438977546@qq.com> Date: Fri, 13 Jun 2025 10:16:04 +0800 Subject: [PATCH] =?UTF-8?q?2020=20=E6=95=B0=E6=8D=AE=E9=9B=86=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=88=90=E5=8A=9F=EF=BC=9B=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E6=A8=A1=E5=9D=97=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProvTestServerController.java | 1 - .../d2d/provtest/domain/ReceiveDataLog.java | 5 +- .../RevocationOrderApplyInfoMapper.java | 7 ++ .../IRevocationOrderApplyInfoService.java | 7 ++ .../handle/AbstractEventDataHandler.java | 25 +++---- .../handle/business/SubType2020Handler.java | 70 +++++++++++++++++++ .../impl/AbroadPharmaBaseInfoServiceImpl.java | 2 +- .../impl/DomesticDrugBaseInfoServiceImpl.java | 2 +- ...ticDrugProductionApplyInfoServiceImpl.java | 5 +- .../DomesticPharmaBaseInfoServiceImpl.java | 2 +- ...rugDeliveryCompanyBaseInfoServiceImpl.java | 2 +- .../DrugUsingUnitBaseInfoServiceImpl.java | 2 +- .../impl/EventProcessingServiceImpl.java | 2 +- .../IRevocationOrderApplyInfoServiceImpl.java | 12 ++++ ...lProductionLicenseBaseInfoServiceImpl.java | 2 +- ...ceuticalTradingEnterprisesServiceImpl.java | 2 +- ...icalTradingLicenseBaseInfoServiceImpl.java | 2 +- .../impl/ReceiveDataLogServiceImpl.java | 2 +- .../service/impl/XmlParserServiceImpl.java | 2 +- .../mapper/RevocationOrderApplyInfoMapper.xml | 8 +++ 20 files changed, 132 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/alihealth/d2d/provtest/mapper/RevocationOrderApplyInfoMapper.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/IRevocationOrderApplyInfoService.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2020Handler.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/impl/IRevocationOrderApplyInfoServiceImpl.java create mode 100644 src/main/resources/mapper/RevocationOrderApplyInfoMapper.xml 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 1e9ce9e..0f3caa9 100644 --- a/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java +++ b/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java @@ -35,7 +35,6 @@ public class ProvTestServerController { @Autowired private IReceiveDataLogService receiveDataLogService; - @Autowired private EventProcessingServiceImpl processingService; diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/ReceiveDataLog.java b/src/main/java/com/alihealth/d2d/provtest/domain/ReceiveDataLog.java index 1cdfb47..1250542 100644 --- a/src/main/java/com/alihealth/d2d/provtest/domain/ReceiveDataLog.java +++ b/src/main/java/com/alihealth/d2d/provtest/domain/ReceiveDataLog.java @@ -1,7 +1,8 @@ package com.alihealth.d2d.provtest.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.Data; import javax.persistence.Column; @@ -15,7 +16,7 @@ import java.util.Date; @TableName("receive_data_log") public class ReceiveDataLog { - @Column(name = "event_id", unique = true) + @TableId(value = "event_id", type = IdType.AUTO) private String eventId; diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/RevocationOrderApplyInfoMapper.java b/src/main/java/com/alihealth/d2d/provtest/mapper/RevocationOrderApplyInfoMapper.java new file mode 100644 index 0000000..c713f70 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/mapper/RevocationOrderApplyInfoMapper.java @@ -0,0 +1,7 @@ +package com.alihealth.d2d.provtest.mapper; + +import com.alihealth.d2d.provtest.domain.RevocationOrderApplyInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface RevocationOrderApplyInfoMapper extends BaseMapper { +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/IRevocationOrderApplyInfoService.java b/src/main/java/com/alihealth/d2d/provtest/service/IRevocationOrderApplyInfoService.java new file mode 100644 index 0000000..b20ce18 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/IRevocationOrderApplyInfoService.java @@ -0,0 +1,7 @@ +package com.alihealth.d2d.provtest.service; + +import com.alihealth.d2d.provtest.domain.RevocationOrderApplyInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface IRevocationOrderApplyInfoService extends IService { +} 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 index f1bdf0d..92928e4 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/handle/AbstractEventDataHandler.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/AbstractEventDataHandler.java @@ -1,6 +1,5 @@ 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; @@ -31,23 +30,25 @@ public abstract class AbstractEventDataHandler implements EventDataHandler { List entities = new ArrayList<>(); for (EventBody eventBody : eventS.getVttsEvent().getEventBodyList()) { - for (ItemDetail item : eventBody.getItemList()) { - if (item.getInstanceList() != null) { - for (InstanceDetail instance : item.getInstanceList()) { + if (eventBody.getItemList() != null) { + for (ItemDetail item : eventBody.getItemList()) { + if (item.getInstanceList() != null) { + for (InstanceDetail instance : item.getInstanceList()) { + try { + entities.add(convertToEntity(eventBody, item, instance)); + } catch (Exception e) { + log.error("转换实体失败", e); + } + } + } else { try { - entities.add(convertToEntity(eventBody, item, instance)); + entities.add(convertToEntity(eventBody, item, null)); } catch (Exception e) { log.error("转换实体失败", e); } } - } else { - try { - entities.add(convertToEntity(eventBody, item, null)); - } catch (Exception e) { - log.error("转换实体失败", e); - } - } + } } } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2020Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2020Handler.java new file mode 100644 index 0000000..9916c05 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2020Handler.java @@ -0,0 +1,70 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import com.alihealth.d2d.provtest.domain.RevocationOrderApplyInfo; +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.IRevocationOrderApplyInfoService; +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; + +@Service +@EventSubType("2020") +public class SubType2020Handler extends AbstractEventDataHandler { + + @Autowired + private IRevocationOrderApplyInfoService service; + + @Override + protected Class getEntityClass() { + return RevocationOrderApplyInfo.class; + } + + @Override + protected IService getService() { + return service; + } + + @Override + protected RevocationOrderApplyInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) { + EventBasic evtBasic = eventBody.getEvtBasic(); + //时间格式 + SimpleDateFormat formatterDatetime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //日期格式 + SimpleDateFormat formatterDate = new SimpleDateFormat("yyyyMMdd"); + + try { + return RevocationOrderApplyInfo.builder() + .eventId(eventBody.getEventID()) + .recTime(formatterDatetime.parse(eventBody.getRecTime())) + + .ysddjh(evtBasic.getString("YSDDJH")) + .cxyy(evtBasic.getString("CXYY")) + .cxsj(formatterDatetime.parse(evtBasic.getString("CXSJ"))) + .ysdlsh(evtBasic.getString("YSDLSH")) + .djlx(evtBasic.getString("DJLX")) + .gjypbsm(evtBasic.getString("GJYPBSM")) + + .build(); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + @Override + public String getSubType() { + return "2020"; + } + + @Override + public void handleBase(String xml, String eventId) { + + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/AbroadPharmaBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/AbroadPharmaBaseInfoServiceImpl.java index e65591b..282720f 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/AbroadPharmaBaseInfoServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/AbroadPharmaBaseInfoServiceImpl.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; * @author Jason * @since 2025-06-06 */ -@Service +@Service("abroadPharmaBaseInfoService") public class AbroadPharmaBaseInfoServiceImpl extends ServiceImpl implements IAbroadPharmaBaseInfoService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugBaseInfoServiceImpl.java index 04be624..58f55df 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugBaseInfoServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugBaseInfoServiceImpl.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; * @author Jason * @since 2025-06-06 */ -@Service +@Service("domesticDrugBaseInfoService") public class DomesticDrugBaseInfoServiceImpl extends ServiceImpl implements IDomesticDrugBaseInfoService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugProductionApplyInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugProductionApplyInfoServiceImpl.java index 5b7434b..bbce925 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugProductionApplyInfoServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugProductionApplyInfoServiceImpl.java @@ -1,11 +1,8 @@ package com.alihealth.d2d.provtest.service.impl; import com.alihealth.d2d.provtest.domain.DomesticDrugProductionApplyInfo; -import com.alihealth.d2d.provtest.domain.DomesticPharmaBaseInfo; import com.alihealth.d2d.provtest.mapper.DomesticDrugProductionApplyInfoMapper; -import com.alihealth.d2d.provtest.mapper.DomesticPharmaBaseInfoMapper; import com.alihealth.d2d.provtest.service.IDomesticDrugProductionApplyInfoService; -import com.alihealth.d2d.provtest.service.IDomesticPharmaBaseInfoService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @@ -13,7 +10,7 @@ import org.springframework.stereotype.Service; * @author Jason * @date 2025年06月04日 17:19:17 */ -@Service +@Service("domesticDrugProductionApplyInfoService") public class DomesticDrugProductionApplyInfoServiceImpl extends ServiceImpl implements IDomesticDrugProductionApplyInfoService { diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticPharmaBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticPharmaBaseInfoServiceImpl.java index 36a8a6c..a46ded9 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticPharmaBaseInfoServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticPharmaBaseInfoServiceImpl.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Service; * @author Jason * @date 2025年05月29日 16:07:26 */ -@Service +@Service("domesticPharmaBaseInfoService") public class DomesticPharmaBaseInfoServiceImpl extends ServiceImpl implements IDomesticPharmaBaseInfoService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugDeliveryCompanyBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugDeliveryCompanyBaseInfoServiceImpl.java index 9e6712b..da0bd00 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugDeliveryCompanyBaseInfoServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugDeliveryCompanyBaseInfoServiceImpl.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; * @author Jason * @since 2025-06-06 */ -@Service +@Service("drugDeliveryCompanyBaseInfoService") public class DrugDeliveryCompanyBaseInfoServiceImpl extends ServiceImpl implements IDrugDeliveryCompanyBaseInfoService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugUsingUnitBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugUsingUnitBaseInfoServiceImpl.java index ca40723..8a9d6db 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugUsingUnitBaseInfoServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugUsingUnitBaseInfoServiceImpl.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; * @author Jason * @since 2025-06-06 */ -@Service +@Service("drugUsingUnitBaseInfoService") public class DrugUsingUnitBaseInfoServiceImpl extends ServiceImpl implements IDrugUsingUnitBaseInfoService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/EventProcessingServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/EventProcessingServiceImpl.java index 8604b9c..051dd0f 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/EventProcessingServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/EventProcessingServiceImpl.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; * @author Jason 事件主处理服务 * @date 2025年06月05日 11:28:56 */ -@Service +@Service("eventProcessingService") @RequiredArgsConstructor public class EventProcessingServiceImpl { diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/IRevocationOrderApplyInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/IRevocationOrderApplyInfoServiceImpl.java new file mode 100644 index 0000000..58a22c7 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/IRevocationOrderApplyInfoServiceImpl.java @@ -0,0 +1,12 @@ +package com.alihealth.d2d.provtest.service.impl; + +import com.alihealth.d2d.provtest.domain.RevocationOrderApplyInfo; +import com.alihealth.d2d.provtest.mapper.RevocationOrderApplyInfoMapper; +import com.alihealth.d2d.provtest.service.IRevocationOrderApplyInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("revocationOrderApplyInfoService") +public class IRevocationOrderApplyInfoServiceImpl extends ServiceImpl implements IRevocationOrderApplyInfoService { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalProductionLicenseBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalProductionLicenseBaseInfoServiceImpl.java index f6860af..ef2dcdf 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalProductionLicenseBaseInfoServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalProductionLicenseBaseInfoServiceImpl.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; * @author Jason * @since 2025-06-06 */ -@Service +@Service("pharmaceuticalProductionLicenseBaseInfoService") public class PharmaceuticalProductionLicenseBaseInfoServiceImpl extends ServiceImpl implements IPharmaceuticalProductionLicenseBaseInfoService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingEnterprisesServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingEnterprisesServiceImpl.java index 1e855c2..d3c5a35 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingEnterprisesServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingEnterprisesServiceImpl.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; * @author Jason * @since 2025-06-06 */ -@Service +@Service("pharmaceuticalTradingEnterprisesService") public class PharmaceuticalTradingEnterprisesServiceImpl extends ServiceImpl implements IPharmaceuticalTradingEnterprisesService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingLicenseBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingLicenseBaseInfoServiceImpl.java index 781148d..e73d474 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingLicenseBaseInfoServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/PharmaceuticalTradingLicenseBaseInfoServiceImpl.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; * @author Jason * @since 2025-06-06 */ -@Service +@Service("pharmaceuticalTradingLicenseBaseInfoService") public class PharmaceuticalTradingLicenseBaseInfoServiceImpl extends ServiceImpl implements IPharmaceuticalTradingLicenseBaseInfoService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/ReceiveDataLogServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/ReceiveDataLogServiceImpl.java index 4140151..2d5db5b 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/ReceiveDataLogServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/ReceiveDataLogServiceImpl.java @@ -10,6 +10,6 @@ import org.springframework.stereotype.Service; * @author Jason * @date 2025年06月03日 15:37:17 */ -@Service +@Service("receiveDataLogService") public class ReceiveDataLogServiceImpl extends ServiceImpl implements IReceiveDataLogService { } diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/XmlParserServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/XmlParserServiceImpl.java index 4276b68..f509032 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/impl/XmlParserServiceImpl.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/XmlParserServiceImpl.java @@ -25,7 +25,7 @@ import java.util.stream.Collectors; * @author Jason * @date 2025年05月30日 11:41:26 */ -@Service +@Service("xmlParserService") public class XmlParserServiceImpl { protected final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/src/main/resources/mapper/RevocationOrderApplyInfoMapper.xml b/src/main/resources/mapper/RevocationOrderApplyInfoMapper.xml new file mode 100644 index 0000000..0670a4c --- /dev/null +++ b/src/main/resources/mapper/RevocationOrderApplyInfoMapper.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file