代码调整

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")
public AjaxResult retrace(@RequestBody DrugRetraceSearcher searcher) {
try {
DrugRetraceVO drugRetraceVO = drugRetraceService.retrace(searcher);
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 javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -73,8 +72,8 @@ public class DrugRetailAndUseApplyInfo {
@Column(name = "scrq")
private Date scrq;
//药品有效期截止日期
@Column(name = "ypqjzrq")
private Date ypqjzrq;
@Column(name = "ypyxqjzrq")
private Date ypyxqjzrq;
//售药日期
@Column(name = "syrq")
private Date syrq;

View File

@ -56,7 +56,7 @@ public class ReceiveDataLog {
@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.SimpleDateFormat;
import java.util.Optional;
/**
* @author Jason
@ -71,10 +72,12 @@ public class SubType2011Handler extends AbstractEventDataHandler<DomesticDrugPro
.jx(item.getString("JX"))
.zjgg(item.getString("ZJGG"))
.bzgg(item.getString("BZGG"))
.bzzhb(Integer.parseInt(item.getString("BZZHB")))
.ypyxq(Integer.parseInt(item.getString("YPYXQ")))
.bzzhb(Integer.parseInt(Optional.ofNullable(item.getString("BZZHB")).orElse("0")))
.ypyxq(Integer.parseInt(Optional.ofNullable(item.getString("YPYXQ")).orElse("0")))
.ypyxqdw(item.getString("YPYXQDW"))
.yppzwh(item.getString("YPPZWH"))
//TODO 提供一个公共判空方法及转换方法提高代码的鲁棒性
.yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ")))
.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.stereotype.Service;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@ -61,7 +60,9 @@ public class SubType2017Handler extends AbstractEventDataHandler<DrugRetailAndUs
.yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ")))
.ymscph(item.getString("YMSCPH"))
.scrq(formatterDate.parse(item.getString("SCRQ")))
.ypqjzrq(formatterDate.parse(item.getString("YPQJZRQ")))
.ypyxqjzrq(formatterDate.parse(item.getString("YPYXQJZRQ")))
.syrq(formatterDate.parse(item.getString("SYRQ")))
.tyshxydmjkymdlqy(item.getString("TYSHXYDMJKYMDLQY"))
.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.mapper.ReceiveDataLogMapper;
import com.alihealth.d2d.provtest.searcher.DrugResolveSearcher;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
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
* @date 2025年06月03日 15:37:17
*/
@Service("receiveDataLogService")
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);
}
}