From 6d0fee3cdc8cb213d0388ffa2e7ed7a091a1ea4c Mon Sep 17 00:00:00 2001
From: dougang <78125310@kidgrow.com>
Date: Thu, 08 Apr 2021 13:58:41 +0800
Subject: [PATCH] 咨询小程序相关功能

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java |   54 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 35 insertions(+), 19 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 454c824..b53939a 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
@@ -125,6 +125,7 @@
                 } else {
                     reMsg = "单次支付未成功,不允许预扣费!";
                     bcode = ConsumptionConstant.BUSINESS_CODE_FAIL;
+                    isSuccess = false;
                 }
             } else {
                 //先获取这个业务关联的扣费记录
@@ -202,6 +203,7 @@
                 } else {
                     reMsg = "单次支付未成功,不允许扣费!";
                     bcode = ConsumptionConstant.BUSINESS_CODE_FAIL;
+                    isSuccess=false;
                 }
             } else {
                 //先获取这个业务关联的扣费记录
@@ -281,6 +283,7 @@
                     //预扣费成功
                     reMsg = "单次支付模拟退还扣费成功!";
                     bcode = ConsumptionConstant.BUSINESS_CODE_RETURN_DEDUCTION;
+                    isSuccess=true;
                 } else {
                     reMsg = "单次支付未成功,不允许退扣费!";
                     bcode = ConsumptionConstant.BUSINESS_CODE_FAIL;
@@ -415,6 +418,7 @@
                     //预扣费成功
                     reMsg = "单次支付模拟已经扣费成功!";
                     bcode = ConsumptionConstant.BUSINESS_CODE_IS_DEDUCTION;
+                    isSuccess = true;
                     //消息队列通知
                     MessageToBI(consumptionRequest);
                 } else {
@@ -515,19 +519,20 @@
             consumptionRecordNew.setCreateTime(new Date());
 
             if (SaveConsumptionRecord(consumptionRecordNew)) {
-                //3.3 扣费成功 如果套餐id变化,则更新预扣费的套餐id
-                if (consumptionRecordNew.getProOrderDetailId() != consumptionRecord.getProOrderDetailId()) {
-                    consumptionRecord.setProOrderDetailId(productOrderDetail.getId());
-                    consumptionRecord.setUpdateTime(new Date());
-                    if (!SaveConsumptionRecord(consumptionRecord)) {
-                        logger.info("业务编号:【{}】更新预扣费的套餐id!", consumptionRequest.getBusinessId());
-                    }
+                //3.3 扣费成功 同时更新预扣记录数据的套餐id和数据更新时间
+                consumptionRecord.setProOrderDetailId(productOrderDetail.getId());
+                consumptionRecord.setUpdateTime(new Date());
+                if (SaveConsumptionRecord(consumptionRecord)) {
+                    //消息队列通知
+                    MessageToBI(consumptionRequest);
+                    //已经扣费
+                    logger.info("业务编号:【{}】该业务已经扣费!", consumptionRequest.getBusinessId());
+                    return true;
                 }
-                //消息队列通知
-                MessageToBI(consumptionRequest);
-                //已经扣费
-                logger.info("业务编号:【{}】该业务已经扣费!", consumptionRequest.getBusinessId());
-                return true;
+                else
+                {
+                    logger.info("业务编号:【{}】更新预扣费数据失败!", consumptionRequest.getBusinessId());
+                }
             } else {
                 logger.info("业务编号:【{}】预扣费执行失败!", consumptionRequest.getBusinessId());
             }
@@ -553,6 +558,8 @@
         consumptionVo.setBusinessId(consumptionRequest.getBusinessId());
         consumptionVo.setBcode(bcode);
         consumptionVo.setRecordType(recordType);
+        logger.info("扣费业务返回参数实体:"+consumptionRequest.toString());
+        logger.info("扣费业务返回其他参数:bcode:{},recordType:{},reMsg:{},isSuccess:{}",bcode,recordType,reMsg,isSuccess);
         if (isSuccess) {
             return ResultBody.ok().data(consumptionVo).msg(reMsg);
         } else {
@@ -591,12 +598,13 @@
      * 参数验证
      */
     private Boolean VateParams(ConsumptionRequest consumptionRequest) {
+        logger.info("收到扣费请求的参数:"+consumptionRequest.toString());
         if (consumptionRequest != null) {
             //从请求头获取医院和科室id
             String hosId = consumptionRequest.getHospitalId().toString();
             String depId = consumptionRequest.getDepartmentId().toString();
             String doctorId = consumptionRequest.getDoctorId().toString();
-            String diaId = consumptionRequest.getDiaId().toString();
+            String diaId = consumptionRequest.getDiaId();
             if (StringUtils.isNotBlank(consumptionRequest.getBusinessId())
                     && consumptionRequest.getConsumptionCount() > 0
                     && StringUtils.isNotBlank(hosId)
@@ -637,7 +645,7 @@
             } else {
                 returnMap.put("vateRe", false);
                 returnMap.put("vateMsg", "余额获取异常,data为空!");
-                logger.error("医院id:【{}】余额获取异常!", hospitalId);
+                logger.info("医院id:【{}】余额获取异常!", hospitalId);
             }
         } else {
             returnMap.put("vateRe", false);
@@ -656,13 +664,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;
@@ -745,7 +757,7 @@
                 "\",\"date\":\"" + DateUtils.formatDate(new Date(), "yyyy-MM-dd") + "\"}";
         rabbitTemplate.convertAndSend(ConsumptionConstant.EXCHANGE_DATA, ConsumptionConstant.ROUTINGKEY_DATA + envName, context);
 
-        log.error("骨龄评价扣费消息已发送:" + context);
+        log.info("骨龄评价扣费消息已发送:" + context);
     }
 
     /**
@@ -755,11 +767,13 @@
      * @return
      */
     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 {
-            return payManager.getId() > 0;
+            return payManager.getId()!=null;
         }
     }
 
@@ -770,7 +784,9 @@
      * @return
      */
     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