From 03667bac27b0766d1921185f09f432ad9a2f7b78 Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Mon, 13 Jul 2020 10:02:43 +0800
Subject: [PATCH] 修改扣费业务,医院id 科室id 医生id从请求参数中获取.
---
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java | 53 +++++++++++++++++++++++------------------------------
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java | 1 +
2 files changed, 24 insertions(+), 30 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 8873eda..d23d235 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
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.constant.ConsumptionConstant;
-import com.kidgrow.common.constant.SecurityConstants;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.service.impl.SuperServiceImpl;
@@ -21,8 +20,6 @@
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-//import org.springframework.amqp.rabbit.annotation.RabbitListener;
-//import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +29,9 @@
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
+
+//import org.springframework.amqp.rabbit.annotation.RabbitListener;
+//import org.springframework.amqp.rabbit.core.RabbitTemplate;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -114,7 +114,7 @@
//2.没有扣费,检查是否已经预扣费
if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.BEFORE_DEDUCTION)) {
//3.没有预扣,查询余额
- if (VateUserNowProduct(consumptionRequest.getConsumptionCount())) {
+ if (VateUserNowProduct(consumptionRequest.getConsumptionCount(),consumptionRequest.getHospitalId(),consumptionRequest.getDepartmentId())) {
//4.余额充足 获取要扣的套餐 写预扣费记录
if (beforeConsumption(consumptionRequest)) {
//预扣费成功
@@ -170,14 +170,14 @@
if (VateParams(consumptionRequest)) {
//先获取这个业务关联的扣费记录
List<ConsumptionRecord> consumptionRecordList = GetBusinessConsumptionList(consumptionRequest.getBusinessId());
- Long hospitalId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER));
+ Long hospitalId = consumptionRequest.getHospitalId();
//1.先检查是否已经扣费
if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.DEDUCTION)) {
//2.没有扣费,检查是否已经预扣费
if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.BEFORE_DEDUCTION)) {
//2.1.没有预扣,查询余额
- if (VateUserNowProduct(consumptionRequest.getConsumptionCount())) {
+ if (VateUserNowProduct(consumptionRequest.getConsumptionCount(),hospitalId,consumptionRequest.getDepartmentId())) {
//2.2.余额充足 获取要扣的套餐 写预扣费记录
if (beforeConsumption(consumptionRequest)) {
//预扣费成功
@@ -378,7 +378,7 @@
//2.没有扣费,检查是否已经预扣费
if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.BEFORE_DEDUCTION)) {
//3.没有预扣,查询余额
- if (VateUserNowProduct(consumptionRequest.getConsumptionCount())) {
+ if (VateUserNowProduct(consumptionRequest.getConsumptionCount(),consumptionRequest.getHospitalId(),consumptionRequest.getDepartmentId())) {
//4.余额充足 获取要扣的套餐 写预扣费记录
if (!beforeConsumption(consumptionRequest)) {
//预扣费执行失败
@@ -439,7 +439,7 @@
productOrderDetail.setAilightCount(productOrderDetail.getAilightCount() - consumptionRequest.getConsumptionCount());
} else {
//要是被别人已经用了,就要重新找套餐
- productOrderDetail = deductionDepartmentProduct(consumptionRequest.getConsumptionCount());
+ productOrderDetail = deductionDepartmentProduct(consumptionRequest.getConsumptionCount(),consumptionRequest.getHospitalId(),consumptionRequest.getDepartmentId());
if (productOrderDetail == null) {
logger.info("业务编号:【{}】无可用套餐!", consumptionRequest.getBusinessId());
return false;
@@ -472,7 +472,7 @@
}
}
//消息队列通知
- MessageToBI();
+ MessageToBI(consumptionRequest);
//已经扣费
logger.info("业务编号:【{}】该业务已经扣费!", consumptionRequest.getBusinessId());
return true;
@@ -514,9 +514,7 @@
* @return
*/
private Boolean beforeConsumption(ConsumptionRequest consumptionRequest) {
- Long hospitalId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER));
-
- ProductOrderDetail productOrderDetail = deductionDepartmentProduct(consumptionRequest.getConsumptionCount());
+ ProductOrderDetail productOrderDetail = deductionDepartmentProduct(consumptionRequest.getConsumptionCount(),consumptionRequest.getHospitalId(),consumptionRequest.getDepartmentId());
if (productOrderDetail != null) {
ConsumptionRecord consumptionRecord = new ConsumptionRecord();
consumptionRecord.setBusinessCode(ConsumptionConstant.BUSINESS_CODE_IS_BEFORE_DEDUCTION);
@@ -527,10 +525,10 @@
if (SaveConsumptionRecord(consumptionRecord)) {
return true;
} else {
- logger.info("医院id:【{}】预扣费执行失败!", hospitalId);
+ logger.info("医院id:【{}】预扣费执行失败!", consumptionRequest.getHospitalId());
}
} else {
- logger.info("医院id:【{}】套餐获取失败!", hospitalId);
+ logger.info("医院id:【{}】套餐获取失败!", consumptionRequest.getHospitalId());
}
return false;
}
@@ -541,12 +539,14 @@
private Boolean VateParams(ConsumptionRequest consumptionRequest) {
if (consumptionRequest != null) {
//从请求头获取医院和科室id
- String hosId = httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER);
- String depId = httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER);
+ String hosId = consumptionRequest.getHospitalId().toString();
+ String depId = consumptionRequest.getDepartmentId().toString();
+ String doctorId = consumptionRequest.getDoctorId().toString();
if (StringUtils.isNotBlank(consumptionRequest.getBusinessId())
&& consumptionRequest.getConsumptionCount() > 0
&& StringUtils.isNotBlank(hosId)
- && StringUtils.isNotBlank(depId)) {
+ && StringUtils.isNotBlank(depId)
+ && StringUtils.isNotBlank(doctorId)) {
return true;
} else {
logger.info("扣费请求参数不完整!");
@@ -562,9 +562,7 @@
* @param consumptionCount 要扣的数量
* @return
*/
- private Boolean VateUserNowProduct(int consumptionCount) {
- Long hospitalId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER));
- Long departmentId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER));
+ private Boolean VateUserNowProduct(int consumptionCount,Long hospitalId,Long departmentId) {
ResultBody biUserPro = productOrderDetailService.biUserNowProduct(hospitalId, departmentId);
if (biUserPro.getCode() == 0) {
if (StringUtils.isNotBlank(biUserPro.getData().toString())) {
@@ -589,9 +587,7 @@
* @param consumCount 要使用的数量
* @return
*/
- private ProductOrderDetail deductionDepartmentProduct(int consumCount) {
- Long hospitalId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER));
- Long departmentId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER));
+ private ProductOrderDetail deductionDepartmentProduct(int consumCount,Long hospitalId,Long departmentId) {
UserProductDetail userProductDetail = productOrderDetailService.getUserProductDetail(hospitalId, departmentId);
//合并集合
userProductDetail.getProductOrderJoinDetailListShare().addAll(userProductDetail.getProductOrderJoinDetailsListDep());
@@ -675,15 +671,12 @@
* @return
*/
@RabbitListener(queues = "BoneAgeEvaluationData")
- private void MessageToBI()
+ private void MessageToBI(ConsumptionRequest consumptionRequest)
{
- Long hospitalId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER));
- Long departmentId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER));
- Long doctorId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.DOCTOR_ID_HEADER));
//发消息到队列
- String context = "{\"hospitalId\":\"" + hospitalId +
- "\",\"departmentId\":\"" + departmentId +
- "\",\"doctorId\":\"" + doctorId +
+ String context = "{\"hospitalId\":\"" + consumptionRequest.getHospitalId() +
+ "\",\"departmentId\":\"" + consumptionRequest.getDepartmentId() +
+ "\",\"doctorId\":\"" + consumptionRequest.getDoctorId() +
"\",\"date\":\"" + DateUtils.formatDate(new Date(),"yyyy-MM-dd")+"\"}";
rabbitTemplate.convertAndSend(ConsumptionConstant.EXCHANGE_DATA, ConsumptionConstant.ROUTINGKEY_DATA, context);
}
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 fd3bbaf..e21b4b8 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
@@ -103,6 +103,7 @@
* @param params
* @return
*/
+
@Override
public PageResult<GroupProductDetail> groupList(Map<String, Object> params) {
Page<GroupProductDetail> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
--
Gitblit v1.8.0