From e0395c5454534e7cf657b10045d00e4042dc7e71 Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Mon, 28 Sep 2020 15:51:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/pay_master' into pay_master

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderRecordController.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 7 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderRecordController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderRecordController.java
index 893f8d5..fedef3d 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderRecordController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderRecordController.java
@@ -7,8 +7,10 @@
 import com.kidgrow.common.model.SysOrganization;
 import com.kidgrow.common.model.SysUser;
 import com.kidgrow.common.utils.StringUtils;
+import com.kidgrow.oprationcenter.model.ProductOrderDetail;
 import com.kidgrow.oprationcenter.model.ProductOrderRecord;
 import com.kidgrow.oprationcenter.service.IBusinessRecordsService;
+import com.kidgrow.oprationcenter.service.IProductOrderDetailService;
 import com.kidgrow.oprationcenter.service.IProductOrderRecordService;
 import com.kidgrow.oprationcenter.service.IProductOrderService;
 import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail;
@@ -27,6 +29,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -47,6 +50,8 @@
 public class ProductOrderRecordController extends BaseController {
     @Autowired
     private IProductOrderRecordService productOrderRecordService;
+    @Autowired
+    private IProductOrderDetailService productOrderDetailService;
     @Autowired
     private IBusinessRecordsService businessRecordsService;
     @Autowired
@@ -127,6 +132,14 @@
     }
 
     /**
+     * 查询用户的套餐剩余量
+     */
+    @ApiOperation(value = "查询")
+    @GetMapping("/biUserNowProduct")
+    public ResultBody biUserNowProduct(@RequestParam long hospitalId, Long departmentId) {
+        return productOrderDetailService.biUserNowProduct(hospitalId,departmentId);
+    }
+    /**
      * 查询
      */
     @ApiOperation(value = "查询")
@@ -204,16 +217,48 @@
      * 删除
      */
     @ApiOperation(value = "删除")
+    @Transactional(rollbackFor = Exception.class)
     @DeleteMapping("/{id}")
     public ResultBody delete(@PathVariable Long id) {
-        boolean v = productOrderRecordService.removeById(id);
-        if (v) {
-            if (!businessRecordsService.recordBusinessData("删除订单明细:" + id, id.toString())) {
-                //log.error(String.format("删除订单明细id为:{1}",id));
+        ProductOrderRecord productOrderRecord=productOrderRecordService.getById(id);
+        if (productOrderRecord != null) {
+            Map<String,Object> detailSelect=new HashMap<String,Object>();
+            detailSelect.put("pro_id",productOrderRecord.getProId());
+            detailSelect.put("order_id",productOrderRecord.getOrderId());
+            List<ProductOrderDetail> productOrderDetailList=productOrderDetailService.listByMap(detailSelect);
+            if (productOrderDetailList != null&&productOrderDetailList.size()>0) {
+                ProductOrderDetail productOrderDetail=productOrderDetailList.get(0);
+                if (productOrderDetail.getAilightCount() == productOrderRecord.getAilightCount()&&
+                        productOrderDetail.getRecordCount()==productOrderRecord.getRecordCount()) {
+                    //读片量和报告量都没有改变 可以删除
+                    //删记录
+                    boolean isdel= productOrderRecordService.removeById(id);
+                    //删套餐
+                    boolean isdelDetail=productOrderDetailService.removeById(productOrderDetail.getId());
+                    //写记录
+                    boolean record=businessRecordsService.recordBusinessData("删除订单明细:" + id, id.toString());
+                    log.info(String.format("删除订单明细id为:{1}",id));
+                    if (isdelDetail&&isdel) {
+                        return ResultBody.ok().msg("套餐删除成功!");
+                    }
+                    else
+                    {
+                        return ResultBody.failed().msg("当前套餐删除失败!");
+                    }
+                }
+                else
+                {
+                    return ResultBody.failed().msg("当前套餐已经使用,无法删除!");
+                }
             }
-            return ResultBody.ok().msg("删除成功");
-        } else {
-            return ResultBody.failed().msg("删除失败");
+            else
+            {
+                return ResultBody.failed().msg("无相关套餐记录!");
+            }
+        }
+        else
+        {
+            return ResultBody.failed().msg("不存在该条记录!");
         }
     }
 

--
Gitblit v1.8.0