From abba1aff81da3cc9d74d75f64cbd48d25716aec3 Mon Sep 17 00:00:00 2001 From: luliqiang <kidgrow> Date: Fri, 12 Mar 2021 19:19:10 +0800 Subject: [PATCH] 1、增加对于套餐中的剩余读片量、有效开始日期、结束日期的加密 2、增加扣费过程中对于剩余读片量的加密 3、为下载私有云数据库增加合同与明细的查询Feign接口 4、修改合作商数据库(影像版API)的合同与明细的查询bug --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java | 34 +++++++++++++++++++++++++++++----- 1 files changed, 29 insertions(+), 5 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java index 89144de..b288170 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java @@ -6,6 +6,7 @@ import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.common.utils.AesUtils; import com.kidgrow.common.utils.DateUtils; import com.kidgrow.common.utils.StringUtils; import com.kidgrow.oprationcenter.mapper.ConsumptionRecordMapper; @@ -125,6 +126,7 @@ } else { reMsg = "单次支付未成功,不允许预扣费!"; bcode = ConsumptionConstant.BUSINESS_CODE_FAIL; + isSuccess = false; } } else { //先获取这个业务关联的扣费记录 @@ -202,6 +204,7 @@ } else { reMsg = "单次支付未成功,不允许扣费!"; bcode = ConsumptionConstant.BUSINESS_CODE_FAIL; + isSuccess=false; } } else { //先获取这个业务关联的扣费记录 @@ -264,7 +267,7 @@ */ @Transactional(rollbackFor = Exception.class) @Override - public ResultBody consumptionAIFail(ConsumptionRequest consumptionRequest) { + public ResultBody consumptionAIFail(ConsumptionRequest consumptionRequest) { //默认的业务返回码 int bcode = -1; //记录类型 @@ -281,6 +284,7 @@ //预扣费成功 reMsg = "单次支付模拟退还扣费成功!"; bcode = ConsumptionConstant.BUSINESS_CODE_RETURN_DEDUCTION; + isSuccess=true; } else { reMsg = "单次支付未成功,不允许退扣费!"; bcode = ConsumptionConstant.BUSINESS_CODE_FAIL; @@ -335,6 +339,13 @@ if (productOrderDetail != null) { //退还金额 productOrderDetail.setAilightCount(productOrderDetail.getAilightCount() + consumptionRecord.getConsumptionCount()); + // 对于读片量进行加密 + try { + productOrderDetail.setAilightCountEncryption(AesUtils.encrypt(productOrderDetail.getAilightCount().toString())); + } catch (Exception e) { + e.printStackTrace(); + } + productOrderDetail.setUpdateTime(new Date()); //退费 boolean consumptionRe = productOrderDetailService.saveOrUpdate(productOrderDetail); @@ -415,6 +426,7 @@ //预扣费成功 reMsg = "单次支付模拟已经扣费成功!"; bcode = ConsumptionConstant.BUSINESS_CODE_IS_DEDUCTION; + isSuccess = true; //消息队列通知 MessageToBI(consumptionRequest); } else { @@ -500,6 +512,12 @@ productOrderDetail.setAilightCount(productOrderDetail.getAilightCount() - consumptionRequest.getConsumptionCount()); } } + // 对于读片量进行加密 + try { + productOrderDetail.setAilightCountEncryption(AesUtils.encrypt(productOrderDetail.getAilightCount().toString())); + } catch (Exception e) { + e.printStackTrace(); + } //3.1扣费! boolean consumptionRe = productOrderDetailService.saveOrUpdate(productOrderDetail); if (consumptionRe) { @@ -516,7 +534,7 @@ if (SaveConsumptionRecord(consumptionRecordNew)) { //3.3 扣费成功 如果套餐id变化,则更新预扣费的套餐id - if (consumptionRecordNew.getProOrderDetailId() != consumptionRecord.getProOrderDetailId()) { + if (!consumptionRecordNew.getProOrderDetailId().equals(consumptionRecord.getProOrderDetailId())) { consumptionRecord.setProOrderDetailId(productOrderDetail.getId()); consumptionRecord.setUpdateTime(new Date()); if (!SaveConsumptionRecord(consumptionRecord)) { @@ -659,13 +677,17 @@ private ProductOrderDetail deductionDepartmentProduct(int consumCount, Long hospitalId, Long departmentId) { UserProductDetail userProductDetail = productOrderDetailService.getUserProductDetail(hospitalId, departmentId); //合并集合 - userProductDetail.getProductOrderJoinDetailListShare().addAll(userProductDetail.getProductOrderJoinDetailsListDep()); + userProductDetail.getProductOrderJoinDetailListShare() + .addAll(userProductDetail.getProductOrderJoinDetailsListDep()); List<ProductOrderJoinDetail> productOrderJoinDetailList = userProductDetail.getProductOrderJoinDetailListShare(); if (productOrderJoinDetailList.size() > 0) { //合并后按id排序并筛除已用完的套餐 - List<ProductOrderJoinDetail> productOrderJoinDetailsNewList = productOrderJoinDetailList.stream().filter(f -> f.getAilightCount() >= consumCount).sorted(Comparator.comparing(ProductOrderJoinDetail::getId)).collect(Collectors.toList()); + List<ProductOrderJoinDetail> productOrderJoinDetailsNewList = productOrderJoinDetailList + .stream().filter(f -> f.getAilightCount() >= consumCount).collect(Collectors.toList()); //要使用的套餐信息 - ProductOrderDetail productOrderDetail = productOrderDetailService.getById(productOrderJoinDetailsNewList.get(0).getId()); + Long firstId=productOrderJoinDetailsNewList.get(0).getId(); + logger.info("扣费要使用的套餐ID是id:【{}】", firstId); + ProductOrderDetail productOrderDetail = productOrderDetailService.getById(firstId); return productOrderDetail; } return null; @@ -760,6 +782,7 @@ private Boolean departmentIsPay(ConsumptionRequest consumptionRequest) { log.info("查看当前科室是否开通了单次支付请求参数:"+consumptionRequest.toString()); PayManager payManager = payManagerService.findByObject(consumptionRequest.getHospitalId(), consumptionRequest.getDepartmentId()); + log.info("查看当前科室是否开通了单次支付请求查询后数据:"+payManager.toString()); if (payManager == null) { return false; } else { @@ -776,6 +799,7 @@ private Boolean departmentPayStatus(ConsumptionRequest consumptionRequest) { log.info("查看当前科室当前诊断id的支付状态是否成功请求参数:"+consumptionRequest.toString()); SaasClientPay saasClientPay = saasClientPayService.findModelByObject(consumptionRequest.getHospitalId(), consumptionRequest.getDepartmentId(), consumptionRequest.getDiaId()); + log.info("查看当前科室当前诊断id的支付状态是否成功查询后数据:"+saasClientPay.toString()); if (saasClientPay == null) { return false; } else { -- Gitblit v1.8.0