From e7c3314727fc06444689c0e6ecab5fea337afeb0 Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Fri, 26 Feb 2021 15:24:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PayManagerController.java |   93 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 69 insertions(+), 24 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PayManagerController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PayManagerController.java
index 85e0f7a..dc029ef 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PayManagerController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PayManagerController.java
@@ -5,15 +5,18 @@
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.common.model.SysUser;
+import com.kidgrow.common.utils.ArithUtils;
 import com.kidgrow.oprationcenter.model.PayManager;
 import com.kidgrow.oprationcenter.model.ProductOrderDetail;
 import com.kidgrow.oprationcenter.service.IPayManagerService;
 import com.kidgrow.oprationcenter.service.IProductOrderDetailService;
+import com.kidgrow.usercenter.feign.SysDepartmentService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
@@ -44,6 +47,8 @@
     private IPayManagerService payManagerService;
     @Autowired
     private IProductOrderDetailService productOrderDetailService;
+    @Autowired
+    private SysDepartmentService sysDepartmentService;
 
     /**
      * 列表
@@ -114,6 +119,29 @@
             return ResultBody.ok().data(true).msg("已开通单次支付功能");
         }
     }
+    /**
+     * 查询一个科室是否有支付功能
+     */
+    @ApiOperation(value = "查询一个科室是否有支付功能")
+    @PostMapping("/departmentIsPayFegin")
+    public ResultBody departmentIsPayFegin(@RequestBody Map<String,Long> map) {
+        Long hospitalId = MapUtils.getLong(map, "hospitalId");
+        if(hospitalId==null){
+            return ResultBody.failed("请输入医院id");
+        }
+        Long departmentId = MapUtils.getLong(map, "departmentId");
+        if(departmentId==null){
+            return ResultBody.failed("请输入部门id");
+        }
+        PayManager payManager=payManagerService.findByObject(hospitalId,departmentId);
+        if (payManager.getId() == null) {
+            return ResultBody.ok().data(false).msg("未开通单次支付功能");
+        }
+        else
+        {
+            return ResultBody.ok().data(true).msg("已开通单次支付功能");
+        }
+    }
 
     /**
      * 新增or更新
@@ -129,39 +157,56 @@
             }
             return ResultBody.failed().msg(errMsg.toString());
         } else {
-            if (payManager.getId()!=null) {
-                //修改支付功能
-                ProductOrderDetail modelDetail=payManagerService.getProductDetail(payManager.getHospitalId(),payManager.getDepartmentId());
-                if(!payManager.getEnabled()&&modelDetail!=null)
-                {
-                    //支付禁用  禁用套餐
-                    modelDetail.setEnabled(false);
-                    modelDetail.setIsDel(true);
-                    if(!productOrderDetailService.saveOrUpdate(modelDetail))
+            int userdCount=-1;
+            if (payManager.getEnabled()) {
+                userdCount=productOrderDetailService.getUserdProduct(payManager.getHospitalId(),payManager.getDepartmentId());
+            }
+            if (userdCount>0) {
+                return ResultBody.failed().msg("该医院已有可用的套餐,不能开通单次支付!");
+            }
+            else
+            {
+                payManager.setPayPrice(ArithUtils.round(payManager.getPayPrice()*100,2));
+                payManager.setPayKidgrow(ArithUtils.round(payManager.getPayKidgrow()*100,2));
+                payManager.setPayCustom(ArithUtils.round(payManager.getPayCustom()*100,2));
+                if (payManager.getId()!=null) {
+                    //修改支付功能
+                    ProductOrderDetail modelDetail=payManagerService.getProductDetail(payManager.getHospitalId(),payManager.getDepartmentId());
+                    if(!payManager.getEnabled()&&modelDetail!=null)
                     {
-                        return ResultBody.failed().msg("套餐修改失败!支付开通修改失败!");
+                        //支付禁用  禁用套餐
+                        modelDetail.setEnabled(false);
+                        modelDetail.setIsDel(true);
+                        if(!productOrderDetailService.saveOrUpdate(modelDetail))
+                        {
+                            return ResultBody.failed().msg("套餐修改失败!支付开通修改失败!");
+                        }
                     }
-                }
-                else if(modelDetail==null)
-                {
+                    else if(modelDetail==null)
+                    {
+                        if(payManager.getEnabled()){
+                            Boolean isResult=payManagerService.saveproductOrder(payManager,sysUser);
+                            if (!isResult) {
+                                return ResultBody.failed().msg("套餐充入失败,支付开通失败!");
+                            }
+                        }
+                    }
+                } else {
                     Boolean isResult=payManagerService.saveproductOrder(payManager,sysUser);
                     if (!isResult) {
-                        return ResultBody.failed().msg("套餐充入失败,支付开通失败!");
+                        return ResultBody.failed().msg("套餐充入失败!支付开通失败!");
                     }
                 }
-            } else {
-                Boolean isResult=payManagerService.saveproductOrder(payManager,sysUser);
-                if (!isResult) {
-                    return ResultBody.failed().msg("套餐充入失败!支付开通失败!");
+                boolean v = payManagerService.saveOrUpdate(payManager);
+                //修改科室的支付功能状态
+                sysDepartmentService.updatePay(payManager.getDepartmentId(),payManager.getEnabled());
+                if (v) {
+                    return ResultBody.ok().data(payManager).msg("保存成功");
+                } else {
+                    return ResultBody.failed().msg("保存失败");
                 }
             }
-            boolean v = payManagerService.saveOrUpdate(payManager);
 
-            if (v) {
-                return ResultBody.ok().data(payManager).msg("保存成功");
-            } else {
-                return ResultBody.failed().msg("保存失败");
-            }
         }
     }
 }

--
Gitblit v1.8.0