From f4a0f5bb0c4631c8683cfbfecf74a4b5bfcd8075 Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Wed, 24 Mar 2021 19:14:18 +0800
Subject: [PATCH] 1、增加合同充值记录表SQL的生成 2、合同信息表查询时,增加【是否已经下载】条件

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java |   31 ++++++++++++++++++++++---------
 1 files changed, 22 insertions(+), 9 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 27186ad..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;
@@ -266,7 +267,7 @@
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public ResultBody consumptionAIFail(ConsumptionRequest consumptionRequest) {
+    public ResultBody consumptionAIFail(ConsumptionRequest consumptionRequest)  {
         //默认的业务返回码
         int bcode = -1;
         //记录类型
@@ -338,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);
@@ -504,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) {
@@ -520,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)) {
@@ -662,19 +676,18 @@
      */
     private ProductOrderDetail deductionDepartmentProduct(int consumCount, Long hospitalId, Long departmentId) {
         UserProductDetail userProductDetail = productOrderDetailService.getUserProductDetail(hospitalId, departmentId);
-        //合并集合 并将读片量=0的过滤掉
+        //合并集合
         userProductDetail.getProductOrderJoinDetailListShare()
-                .stream().filter(f->f.getAilightCount()>0).collect(Collectors.toList())
-                .addAll(userProductDetail.getProductOrderJoinDetailsListDep()
-                        .stream().filter(f->f.getAilightCount()>0).collect(Collectors.toList()));
+                .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());
+                    .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;

--
Gitblit v1.8.0