From e940b53f9d8fd9056aee2870e41a6e7932b2e8d6 Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Mon, 24 Aug 2020 17:21:41 +0800
Subject: [PATCH] 1.修改获取余额的时候,将预扣费算作有效的bug 2.医院管理 增加了显示医院编号
---
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java | 33 +++++++++++-----
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ConsumptionRecordMapper.xml | 16 ++++++++
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html | 1
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/ConsumptionRecordMapper.java | 6 +++
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java | 21 ++++++----
5 files changed, 57 insertions(+), 20 deletions(-)
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/ConsumptionRecordMapper.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/ConsumptionRecordMapper.java
index 2b1214e..938143a 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/ConsumptionRecordMapper.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/ConsumptionRecordMapper.java
@@ -37,4 +37,10 @@
* @return
*/
List<ConsumptionRecord> findList(@Param("p") Map<String, Object> params);
+ /**
+ * 查询有效预扣费
+ * @param DetailList 有效的套餐
+ * @return
+ */
+ List<ConsumptionRecord> findDetailList(List<Long> DetailList);
}
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 bd63eb9..1a3955b 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
@@ -115,7 +115,8 @@
//2.没有扣费,检查是否已经预扣费
if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.BEFORE_DEDUCTION)) {
//3.没有预扣,查询余额
- if (VateUserNowProduct(consumptionRequest.getConsumptionCount(),consumptionRequest.getHospitalId(),consumptionRequest.getDepartmentId())) {
+ Map<String,Object> vateMap=VateUserNowProduct(consumptionRequest.getConsumptionCount(),consumptionRequest.getHospitalId(),consumptionRequest.getDepartmentId());
+ if (Boolean.parseBoolean(vateMap.get("vateRe").toString())) {
//4.余额充足 获取要扣的套餐 写预扣费记录
if (beforeConsumption(consumptionRequest)) {
//预扣费成功
@@ -128,9 +129,9 @@
bcode = ConsumptionConstant.BUSINESS_CODE_ERROR;
}
} else {
- //余额不足
+ //余额不足 或获取异常
isSuccess = false;
- reMsg = "余额不足或获取失败!";
+ reMsg = vateMap.get("vateMsg").toString();
bcode = ConsumptionConstant.BUSINESS_CODE_FAIL;
}
} else {
@@ -178,7 +179,8 @@
//2.没有扣费,检查是否已经预扣费
if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.BEFORE_DEDUCTION)) {
//2.1.没有预扣,查询余额
- if (VateUserNowProduct(consumptionRequest.getConsumptionCount(),hospitalId,consumptionRequest.getDepartmentId())) {
+ Map<String,Object> vateMap=VateUserNowProduct(consumptionRequest.getConsumptionCount(),hospitalId,consumptionRequest.getDepartmentId());
+ if (Boolean.parseBoolean(vateMap.get("vateRe").toString())) {
//2.2.余额充足 获取要扣的套餐 写预扣费记录
if (beforeConsumption(consumptionRequest)) {
//预扣费成功
@@ -193,7 +195,7 @@
} else {
//余额不足
isSuccess = false;
- reMsg = "余额不足或获取失败!";
+ reMsg = vateMap.get("vateMsg").toString();
bcode = ConsumptionConstant.BUSINESS_CODE_FAIL;
return ResultReturn(consumptionRequest, bcode,ConsumptionConstant.BEFORE_DEDUCTION, reMsg, isSuccess);
}
@@ -379,7 +381,8 @@
//2.没有扣费,检查是否已经预扣费
if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.BEFORE_DEDUCTION)) {
//3.没有预扣,查询余额
- if (VateUserNowProduct(consumptionRequest.getConsumptionCount(),consumptionRequest.getHospitalId(),consumptionRequest.getDepartmentId())) {
+ Map<String,Object> vateMap=VateUserNowProduct(consumptionRequest.getConsumptionCount(),consumptionRequest.getHospitalId(),consumptionRequest.getDepartmentId());
+ if (Boolean.parseBoolean(vateMap.get("vateRe").toString())) {
//4.余额充足 获取要扣的套餐 写预扣费记录
if (!beforeConsumption(consumptionRequest)) {
//预扣费执行失败
@@ -394,7 +397,7 @@
}
} else {
//余额不足
- reMsg = "余额不足或获取失败!";
+ reMsg = vateMap.get("vateMsg").toString();
bcode = ConsumptionConstant.BUSINESS_CODE_FAIL;
return ResultReturn(consumptionRequest, bcode,ConsumptionConstant.BEFORE_DEDUCTION, reMsg, isSuccess);
}
@@ -563,24 +566,32 @@
* @param consumptionCount 要扣的数量
* @return
*/
- private Boolean VateUserNowProduct(int consumptionCount,Long hospitalId,Long departmentId) {
+ private Map<String,Object> VateUserNowProduct(int consumptionCount,Long hospitalId,Long departmentId) {
+ Map<String,Object> returnMap=new HashMap<>();
ResultBody biUserPro = productOrderDetailService.biUserNowProduct(hospitalId, departmentId);
if (biUserPro.getCode() == 0) {
if (StringUtils.isNotBlank(biUserPro.getData().toString())) {
//余额
int userAICount = Integer.parseInt(biUserPro.getData().toString());
if (userAICount >= consumptionCount) {
- return true;
+ returnMap.put("vateRe",true);
+ returnMap.put("vateMsg","余额足够!");
} else {
+ returnMap.put("vateRe",false);
+ returnMap.put("vateMsg","余额不足!");
logger.info("医院id:【{}】余额不足!", hospitalId);
}
} else {
+ returnMap.put("vateRe",false);
+ returnMap.put("vateMsg","余额获取异常,data为空!");
logger.error("医院id:【{}】余额获取异常!", hospitalId);
}
- } else {
+ }else {
+ returnMap.put("vateRe",false);
+ returnMap.put("vateMsg","余额获取异常,Code非0!");
logger.info("医院id:【{}】余额获取异常,返回非0!", hospitalId);
}
- return false;
+ return returnMap;
}
/**
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
index 413a1fa..9f7c20a 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
@@ -2,7 +2,6 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.kidgrow.common.constant.ConsumptionConstant;
import com.kidgrow.common.model.*;
import com.kidgrow.common.service.impl.SuperServiceImpl;
import com.kidgrow.common.utils.DateUtils;
@@ -315,18 +314,22 @@
int depCount = productOrderJoinDetailsListDep.stream().collect(Collectors.summingInt(ProductOrderJoinDetail::getAilightCount));
//可用的总量
userAICount = shareCount + depCount;
+
+ //共享套餐里面的detailid
+ List<Long> shareDetailId = productOrderJoinDetailListShare.stream().map(m -> m.getId()).collect(Collectors.toList());
+ //私有套餐里面的detailid
+ List<Long> depDetailId = productOrderJoinDetailsListDep.stream().map(m -> m.getId()).collect(Collectors.toList());
+
+ //获取所有有效的套餐id
+ List<Long> nowDetailList=shareDetailId;
+ nowDetailList.addAll(depDetailId);
+ //查询已预扣 未退还 未扣费的数据
+ List<ConsumptionRecord> consumptionRecordList = consumptionRecordMapper.findDetailList(nowDetailList);
//计算预扣费的总量
- Map<String, Object> selectMap = new HashMap<>();
- selectMap.put("recordType", ConsumptionConstant.BEFORE_DEDUCTION);
- List<ConsumptionRecord> consumptionRecordList = consumptionRecordMapper.findList(selectMap);;
if (consumptionRecordList.size() > 0) {
- //共享套餐里面的detailid
- List<Long> shareDetailId = productOrderJoinDetailListShare.stream().map(m -> m.getId()).collect(Collectors.toList());
- //私有套餐里面的detailid
- List<Long> depDetailId = productOrderJoinDetailsListDep.stream().map(m -> m.getId()).collect(Collectors.toList());
//共享套餐里面预扣费总数
int shareConCount = consumptionRecordList.stream().filter(f -> shareDetailId.contains(f.getProOrderDetailId())).collect(Collectors.summingInt(ConsumptionRecord::getConsumptionCount));
- //共享套餐里面预扣费总数
+ //私有套餐里面预扣费总数
int depConCount = consumptionRecordList.stream().filter(f -> depDetailId.contains(f.getProOrderDetailId())).collect(Collectors.summingInt(ConsumptionRecord::getConsumptionCount));
userAICount -= (shareConCount + depConCount);
}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ConsumptionRecordMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ConsumptionRecordMapper.xml
index 18f8617..2c00aa4 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ConsumptionRecordMapper.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ConsumptionRecordMapper.xml
@@ -60,4 +60,20 @@
<include refid="where"/>
order by id desc
</select>
+ <!--定义根据-ConsumptionRecord当作查询条件返回对象集合-->
+ <select id="findDetailList" resultType="com.kidgrow.oprationcenter.model.ConsumptionRecord">
+ SELECT * FROM `consumption_record`
+ where record_type=1
+ and update_time is null
+ <where>
+ <if test="DetailList!=null and DetailList.size()>0">
+ and pro_order_detail_id in
+ <foreach item="item" index="index" collection="DetailList" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ </where>
+ and pro_order_detail_id in (1,1)
+ order by id desc
+ </select>
</mapper>
\ No newline at end of file
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html
index eac4af8..dfffdb2 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html
@@ -75,6 +75,7 @@
headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
page: true,
cols: [[
+ { field: 'hospitalId', width: 180, title: '医院编号', fixed: 'left' },
{ field: 'hospitalName', width: 250, title: '医院名称', fixed: 'left' },
{ field: 'departmentName', width: 100, title: '科室/部门', fixed: 'left' },
{
--
Gitblit v1.8.0