代码调整

This commit is contained in:
daichao 2025-06-17 11:43:18 +08:00
parent 9617b16473
commit f27000a5a6
6 changed files with 53 additions and 10 deletions

View File

@ -22,7 +22,11 @@ public class DrugRetraceController {
@PostMapping(value = "/retrace") @PostMapping(value = "/retrace")
public AjaxResult retrace(@RequestBody DrugRetraceSearcher searcher) { public AjaxResult retrace(@RequestBody DrugRetraceSearcher searcher) {
try {
DrugRetraceVO drugRetraceVO = drugRetraceService.retrace(searcher); DrugRetraceVO drugRetraceVO = drugRetraceService.retrace(searcher);
return AjaxResult.success(drugRetraceVO); return AjaxResult.success(drugRetraceVO);
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
} }
} }

View File

@ -7,7 +7,6 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
@ -73,8 +72,8 @@ public class DrugRetailAndUseApplyInfo {
@Column(name = "scrq") @Column(name = "scrq")
private Date scrq; private Date scrq;
//药品有效期截止日期 //药品有效期截止日期
@Column(name = "ypqjzrq") @Column(name = "ypyxqjzrq")
private Date ypqjzrq; private Date ypyxqjzrq;
//售药日期 //售药日期
@Column(name = "syrq") @Column(name = "syrq")
private Date syrq; private Date syrq;

View File

@ -56,7 +56,7 @@ public class ReceiveDataLog {
@Column(name = "is_deleted") @Column(name = "is_deleted")
private Date isDeleted; private Long isDeleted;
} }

View File

@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Optional;
/** /**
* @author Jason * @author Jason
@ -71,10 +72,12 @@ public class SubType2011Handler extends AbstractEventDataHandler<DomesticDrugPro
.jx(item.getString("JX")) .jx(item.getString("JX"))
.zjgg(item.getString("ZJGG")) .zjgg(item.getString("ZJGG"))
.bzgg(item.getString("BZGG")) .bzgg(item.getString("BZGG"))
.bzzhb(Integer.parseInt(item.getString("BZZHB"))) .bzzhb(Integer.parseInt(Optional.ofNullable(item.getString("BZZHB")).orElse("0")))
.ypyxq(Integer.parseInt(item.getString("YPYXQ"))) .ypyxq(Integer.parseInt(Optional.ofNullable(item.getString("YPYXQ")).orElse("0")))
.ypyxqdw(item.getString("YPYXQDW")) .ypyxqdw(item.getString("YPYXQDW"))
.yppzwh(item.getString("YPPZWH")) .yppzwh(item.getString("YPPZWH"))
//TODO 提供一个公共判空方法及转换方法提高代码的鲁棒性
.yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ"))) .yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ")))
.ypscph(item.getString("YPSCPH")) .ypscph(item.getString("YPSCPH"))

View File

@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -61,7 +60,9 @@ public class SubType2017Handler extends AbstractEventDataHandler<DrugRetailAndUs
.yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ"))) .yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ")))
.ymscph(item.getString("YMSCPH")) .ymscph(item.getString("YMSCPH"))
.scrq(formatterDate.parse(item.getString("SCRQ"))) .scrq(formatterDate.parse(item.getString("SCRQ")))
.ypqjzrq(formatterDate.parse(item.getString("YPQJZRQ")))
.ypyxqjzrq(formatterDate.parse(item.getString("YPYXQJZRQ")))
.syrq(formatterDate.parse(item.getString("SYRQ"))) .syrq(formatterDate.parse(item.getString("SYRQ")))
.tyshxydmjkymdlqy(item.getString("TYSHXYDMJKYMDLQY")) .tyshxydmjkymdlqy(item.getString("TYSHXYDMJKYMDLQY"))
.jkymdlqymc(item.getString("JKYMDLQYMC")) .jkymdlqymc(item.getString("JKYMDLQYMC"))

View File

@ -2,14 +2,50 @@ package com.alihealth.d2d.provtest.service.impl;
import com.alihealth.d2d.provtest.domain.ReceiveDataLog; import com.alihealth.d2d.provtest.domain.ReceiveDataLog;
import com.alihealth.d2d.provtest.mapper.ReceiveDataLogMapper; import com.alihealth.d2d.provtest.mapper.ReceiveDataLogMapper;
import com.alihealth.d2d.provtest.searcher.DrugResolveSearcher;
import com.alihealth.d2d.provtest.service.IReceiveDataLogService; import com.alihealth.d2d.provtest.service.IReceiveDataLogService;
import com.alihealth.d2d.provtest.utils.CertManager;
import com.alihealth.d2d.provtest.utils.StreamUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
/** /**
* @author Jason * @author Jason
* @date 2025年06月03日 15:37:17 * @date 2025年06月03日 15:37:17
*/ */
@Service("receiveDataLogService") @Service("receiveDataLogService")
public class ReceiveDataLogServiceImpl extends ServiceImpl<ReceiveDataLogMapper, ReceiveDataLog> implements IReceiveDataLogService { public class ReceiveDataLogServiceImpl extends ServiceImpl<ReceiveDataLogMapper, ReceiveDataLog> implements IReceiveDataLogService {
Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ReceiveDataLogMapper receiveDataLogMapper;
@Autowired
private CertManager certManager;
@Override
public void resolve(DrugResolveSearcher searcher) throws NoSuchPaddingException, IllegalBlockSizeException, NoSuchAlgorithmException, InvalidKeySpecException, BadPaddingException, IOException, InvalidKeyException {
ReceiveDataLog receiveDataLog = receiveDataLogMapper.selectOne(
new QueryWrapper<ReceiveDataLog>().lambda()
.eq(ReceiveDataLog::getEventId, searcher.getEventId())
);
String data = receiveDataLog.getData();
String privateKey = certManager.getPrivateKey();
String de = certManager.testDecrypt(privateKey, data);
String xml = StreamUtil.getUnStreamContent(de);
logger.info("解密之后的文件内容:{}", xml);
}
} }