From bfcfa058f81a1b9e9b6b9e406ab82251cd1b51f1 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 22 九月 2021 18:01:31 +0800
Subject: [PATCH] 加入费用批次问题

---
 service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 1 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java b/service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java
index 260e124..5eeb08d 100755
--- a/service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java
+++ b/service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java
@@ -17,6 +17,7 @@
 import com.java110.po.applyRoomDiscountType.ApplyRoomDiscountTypePo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -77,6 +78,14 @@
         Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
         Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈endTime");
         Assert.hasKeyAndValue(reqJson, "applyType", "璇锋眰鎶ユ枃涓湭鍖呭惈applyType");
+        if (!StringUtil.isEmpty(reqJson.getString("startTime"))) {
+            String startTime = reqJson.getString("startTime") + " 00:00:00";
+            reqJson.put("startTime", startTime);
+        }
+        if (!StringUtil.isEmpty(reqJson.getString("endTime"))) {
+            String endTime = reqJson.getString("endTime") + " 23:59:59";
+            reqJson.put("endTime", endTime);
+        }
         ApplyRoomDiscountPo applyRoomDiscountPo = BeanConvertUtil.covertBean(reqJson, ApplyRoomDiscountPo.class);
         ApplyRoomDiscountDto applyRoomDiscountDto = new ApplyRoomDiscountDto();
         applyRoomDiscountDto.setCommunityId(applyRoomDiscountPo.getCommunityId());
@@ -86,12 +95,16 @@
         //鑾峰彇鏈濉啓鐨勫紑濮嬫椂闂�
         Date startDate = simpleDateFormat.parse(applyRoomDiscountPo.getStartTime());
         if (applyRoomDiscountDtos.size() == 0) {
+            //绌虹疆鎴夸紭鎯犲彲鐢�
+            applyRoomDiscountPo.setInUse("0");
             return saveApplyRoomDiscountBMOImpl.save(applyRoomDiscountPo);
         } else if (applyRoomDiscountDtos.size() > 0) {
             //鍙栧嚭缁撴潫鏃堕棿
             String endTime = applyRoomDiscountDtos.get(0).getEndTime();
             Date finishTime = simpleDateFormat.parse(endTime);
             if (startDate.getTime() - finishTime.getTime() >= 0) {
+                //绌虹疆鎴夸紭鎯犲彲鐢�
+                applyRoomDiscountPo.setInUse("0");
                 return saveApplyRoomDiscountBMOImpl.save(applyRoomDiscountPo);
             } else {
                 throw new UnsupportedOperationException("璇ユ椂闂存宸茬粡鐢宠杩囩┖缃埧锛岃閲嶆柊杈撳叆绌虹疆鎴跨敵璇峰紑濮嬪拰缁撴潫鏃堕棿");
@@ -110,14 +123,43 @@
      * @path /app/applyRoomDiscount/updateApplyRoomDiscount
      */
     @RequestMapping(value = "/updateApplyRoomDiscount", method = RequestMethod.POST)
-    public ResponseEntity<String> updateApplyRoomDiscount(@RequestBody JSONObject reqJson,@RequestHeader(value = "user-id") String userId) {
+    public ResponseEntity<String> updateApplyRoomDiscount(@RequestBody JSONObject reqJson, @RequestHeader(value = "user-id") String userId) {
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
         Assert.hasKeyAndValue(reqJson, "state", "璇锋眰鎶ユ枃涓湭鍖呭惈楠屾埧鐘舵��");
         Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈寮�濮嬫椂闂�");
         Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈缁撴潫鏃堕棿");
         Assert.hasKeyAndValue(reqJson, "checkRemark", "璇锋眰鎶ユ枃涓湭鍖呭惈楠屾埧璇存槑");
         Assert.hasKeyAndValue(reqJson, "ardId", "ardId涓嶈兘涓虹┖");
+        ApplyRoomDiscountDto applyRoomDiscountDto = new ApplyRoomDiscountDto();
+        applyRoomDiscountDto.setArdId(reqJson.getString("ardId"));
+        //鏌ヨ鎴垮眿浼樻儬鐢宠淇℃伅
+        List<ApplyRoomDiscountDto> applyRoomDiscountDtos = applyRoomDiscountInnerServiceSMOImpl.queryApplyRoomDiscounts(applyRoomDiscountDto);
+        Assert.listOnlyOne(applyRoomDiscountDtos, "鏌ヨ鎴垮眿浼樻儬淇℃伅閿欒锛�");
+        //鑾峰彇鎴垮眿浼樻儬瀹℃牳鐘舵��
+        String state = applyRoomDiscountDtos.get(0).getState();
+        if (!StringUtil.isEmpty(state) && !state.equals("1")) {
+            throw new IllegalArgumentException("璇ユ埧灞嬪凡楠岃繃鎴匡紝鏃犳硶鍐嶆杩涜楠屾埧锛�");
+        }
         reqJson.put("checkUserId", userId);
+        ApplyRoomDiscountPo applyRoomDiscountPo = BeanConvertUtil.covertBean(reqJson, ApplyRoomDiscountPo.class);
+        return updateApplyRoomDiscountBMOImpl.update(applyRoomDiscountPo);
+    }
+
+    /**
+     * 淇敼浼樻儬鐢宠
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /applyRoomDiscount/editApplyRoomDiscount
+     * @path /app/applyRoomDiscount/editApplyRoomDiscount
+     */
+    @RequestMapping(value = "/editApplyRoomDiscount", method = RequestMethod.POST)
+    public ResponseEntity<String> editApplyRoomDiscount(@RequestBody JSONObject reqJson, @RequestHeader(value = "user-id") String userId) {
+        Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
+        Assert.hasKeyAndValue(reqJson, "state", "璇锋眰鎶ユ枃涓湭鍖呭惈楠屾埧鐘舵��");
+        Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈寮�濮嬫椂闂�");
+        Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈缁撴潫鏃堕棿");
+        Assert.hasKeyAndValue(reqJson, "ardId", "ardId涓嶈兘涓虹┖");
         ApplyRoomDiscountPo applyRoomDiscountPo = BeanConvertUtil.covertBean(reqJson, ApplyRoomDiscountPo.class);
         return updateApplyRoomDiscountBMOImpl.update(applyRoomDiscountPo);
     }
@@ -139,6 +181,16 @@
         Assert.hasKeyAndValue(reqJson, "reviewRemark", "璇锋眰鎶ユ枃涓湭鍖呭惈楠屾埧璇存槑");
 //        Assert.hasKeyAndValue(reqJson, "discountId", "璇锋眰鎶ユ枃涓湭鍖呭惈鎶樻墸");
         Assert.hasKeyAndValue(reqJson, "ardId", "ardId涓嶈兘涓虹┖");
+        ApplyRoomDiscountDto applyRoomDiscountDto = new ApplyRoomDiscountDto();
+        applyRoomDiscountDto.setArdId(reqJson.getString("ardId"));
+        //鏌ヨ鎴垮眿浼樻儬鐢宠淇℃伅
+        List<ApplyRoomDiscountDto> applyRoomDiscountDtos = applyRoomDiscountInnerServiceSMOImpl.queryApplyRoomDiscounts(applyRoomDiscountDto);
+        Assert.listOnlyOne(applyRoomDiscountDtos, "鏌ヨ鎴垮眿浼樻儬淇℃伅閿欒锛�");
+        //鑾峰彇鎴垮眿浼樻儬瀹℃牳鐘舵��
+        String state = applyRoomDiscountDtos.get(0).getState();
+        if (!StringUtil.isEmpty(state) && !state.equals("2")) {
+            throw new IllegalArgumentException("璇ユ埧灞嬪凡瀹℃牳杩囷紝鏃犳硶鍐嶆杩涜瀹℃牳锛�");
+        }
         reqJson.put("reviewUserId", userId);
         ApplyRoomDiscountPo applyRoomDiscountPo = BeanConvertUtil.covertBean(reqJson, ApplyRoomDiscountPo.class);
         return updateApplyRoomDiscountBMOImpl.update(applyRoomDiscountPo);

--
Gitblit v1.8.0