From 7958f1dddb8a7f4e70d232b07a7703955ecedae0 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期六, 26 八月 2023 12:45:33 +0800
Subject: [PATCH] 优化diamante

---
 service-fee/src/main/java/com/java110/fee/api/FeeApi.java |  173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 162 insertions(+), 11 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/api/FeeApi.java b/service-fee/src/main/java/com/java110/fee/api/FeeApi.java
old mode 100644
new mode 100755
index c7eca56..9763f4e
--- a/service-fee/src/main/java/com/java110/fee/api/FeeApi.java
+++ b/service-fee/src/main/java/com/java110/fee/api/FeeApi.java
@@ -4,18 +4,17 @@
 import com.java110.core.base.controller.BaseController;
 import com.java110.core.context.BusinessServiceDataFlow;
 import com.java110.core.factory.DataTransactionFactory;
+import com.java110.core.log.LoggerFactory;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeDto;
-import com.java110.fee.bmo.IQueryFeeByAttr;
-import com.java110.fee.bmo.IQueryOweFee;
-import com.java110.fee.bmo.IQueryParkspaceFee;
+import com.java110.fee.bmo.*;
 import com.java110.fee.smo.IFeeServiceSMO;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.InitConfigDataException;
 import com.java110.utils.exception.InitDataFlowContextException;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -44,6 +43,12 @@
 
     @Autowired
     private IQueryOweFee queryOweFeeImpl;
+
+    @Autowired
+    private IPayOweFee payOweFeeImpl;
+
+    @Autowired
+    private IImportRoomFee importRoomFeeImpl;
 
     @RequestMapping(path = "/service", method = RequestMethod.GET)
     public String serviceGet(HttpServletRequest request) {
@@ -79,8 +84,8 @@
             responseJson = DataTransactionFactory.createBusinessResponseJson(businessServiceDataFlow, ResponseConstant.RESULT_CODE_ERROR, e.getMessage() + e,
                     null);
         } finally {
-            return responseJson.toJSONString();
         }
+        return responseJson.toJSONString();
     }
 
     /**
@@ -159,20 +164,166 @@
 
     /**
      * 鏌ヨ娆犺垂璐圭敤
-     * @path /app/feeApi/listOweFees
+     *
      * @param payObjId    浠樿垂鏂笽D
      * @param communityId 灏忓尯ID
      * @return
+     * @path /app/feeApi/listOweFees
      */
     @RequestMapping(value = "/listOweFees", method = RequestMethod.GET)
-    public ResponseEntity<String> listOweFees(
-            @RequestParam(value = "payObjId") String payObjId,
-            @RequestParam(value = "payObjType") String payObjType,
-            @RequestParam(value = "communityId") String communityId) {
+    public ResponseEntity<String> listOweFees(@RequestParam(value = "payObjId", required = false) String payObjId,
+                                              @RequestParam(value = "payObjType", required = false) String payObjType,
+                                              @RequestParam(value = "ownerId", required = false) String ownerId,
+                                              @RequestParam(value = "communityId") String communityId) {
+        if (StringUtil.isEmpty(payObjId) && StringUtil.isEmpty(ownerId)) {
+            throw new IllegalArgumentException("璐圭敤瀵硅薄鎴栬�呬笟涓讳笉鑳介兘涓虹┖");
+        }
         FeeDto feeDto = new FeeDto();
-        feeDto.setPayerObjId(payObjId);
+        if(!StringUtil.isEmpty(payObjId)) {
+            if (payObjId.contains(",")) {
+                feeDto.setPayerObjIds(payObjId.split(","));
+            } else {
+                feeDto.setPayerObjId(payObjId);
+            }
+        }
         feeDto.setPayerObjType(payObjType);
+        feeDto.setOwnerId(ownerId);
         feeDto.setCommunityId(communityId);
         return queryOweFeeImpl.query(feeDto);
     }
+
+    /**
+     * 鏌ヨ娆犺垂璐圭敤
+     *
+     * @param roomId      鎴垮眿ID
+     * @param communityId 灏忓尯ID
+     * @return
+     * @path /app/feeApi/listAllRoomOweFees
+     */
+    @RequestMapping(value = "/listAllRoomOweFees", method = RequestMethod.GET)
+    public ResponseEntity<String> listAllRoomOweFees(
+            @RequestParam(value = "roomId", required = false) String roomId,
+            @RequestParam(value = "communityId") String communityId) {
+        FeeDto feeDto = new FeeDto();
+        feeDto.setPayerObjId(roomId);
+        feeDto.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
+        feeDto.setCommunityId(communityId);
+        return queryOweFeeImpl.querys(feeDto);
+    }
+
+
+    /**
+     * 鏌ヨ娆犺垂璐圭敤(鎵归噺鏌ヨ)
+     *
+     * @param num         鍋滆溅浣嶆垨鎴垮眿缂栧彿
+     * @param communityId 灏忓尯ID
+     * @return
+     * @path /app/feeApi/getOweFees
+     */
+    @RequestMapping(value = "/getOweFees", method = RequestMethod.GET)
+    public ResponseEntity<String> getOweFees(
+            @RequestParam(value = "payObjType") String payObjType,
+            @RequestParam(value = "communityId") String communityId,
+            @RequestParam(value = "billType") String billType,
+            @RequestParam(value = "row") int row,
+            @RequestParam(value = "page") int page,
+            @RequestParam(value = "num", required = false) String num
+    ) {
+        FeeDto feeDto = new FeeDto();
+        feeDto.setPayerObjId(num);
+        feeDto.setPayerObjType(payObjType);
+        feeDto.setCommunityId(communityId);
+        feeDto.setBillType(billType);
+        feeDto.setRow(row);
+        feeDto.setPage(page);
+        return queryOweFeeImpl.queryAllOwneFee(feeDto);
+    }
+
+    /**
+     * 娆犺垂鎵归噺缂磋垂
+     *
+     * @param reqJson {
+     *                "communityId":"",
+     *                "fees":[
+     *                {
+     *                "feeId":"123123",
+     *                "feePrice":10.00,
+     *                <p>
+     *                }
+     *                <p>
+     *                ]
+     *                }
+     * @return
+     * @path /app/feeApi/payOweFee
+     */
+    @RequestMapping(value = "/payOweFee", method = RequestMethod.POST)
+    public ResponseEntity<String> payOweFee(@RequestBody JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖轰俊鎭�");
+
+        Assert.hasKey(reqJson, "fees", "鏈寘鍚即璐归」鐩�");
+
+        return payOweFeeImpl.pay(reqJson);
+    }
+
+    /**
+     * 璐圭敤瀵煎叆
+     *
+     * @param reqString
+     * @return
+     */
+    @RequestMapping(value = "/importRoomFees", method = RequestMethod.POST)
+    public ResponseEntity<String> importRoomFees(@RequestBody String reqString) {
+
+        JSONObject reqJson = JSONObject.parseObject(reqString);
+        Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖轰俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "feeTypeCd", "鏈寘鍚垂鐢ㄧ被鍨�");
+        Assert.hasKeyAndValue(reqJson, "storeId", "鏈寘鍚晢鎴蜂俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "userId", "鏈寘鍚敤鎴蜂俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "batchId", "鏈寘鍚敤鎴蜂俊鎭�");
+
+        return importRoomFeeImpl.importFee(reqJson);
+    }
+
+    /**
+     * 杞﹁締璐圭敤瀵煎叆
+     * /feeApi/importCarFees
+     * path /app/feeApi/importCarFees
+     *
+     * @param reqString
+     * @return
+     */
+    @RequestMapping(value = "/importCarFees", method = RequestMethod.POST)
+    public ResponseEntity<String> importCarFees(@RequestBody String reqString) {
+
+        JSONObject reqJson = JSONObject.parseObject(reqString);
+        Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖轰俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "feeTypeCd", "鏈寘鍚垂鐢ㄧ被鍨�");
+        Assert.hasKeyAndValue(reqJson, "storeId", "鏈寘鍚晢鎴蜂俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "userId", "鏈寘鍚敤鎴蜂俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "batchId", "鏈寘鍚壒娆′俊鎭�");
+
+        return importRoomFeeImpl.importCarFee(reqJson);
+    }
+
+    /**
+     * 鍚堝悓璐圭敤瀵煎叆
+     * /feeApi/importContractFees
+     * path /app/feeApi/importContractFees
+     *
+     * @param reqString
+     * @return
+     */
+    @RequestMapping(value = "/importContractFees", method = RequestMethod.POST)
+    public ResponseEntity<String> importContractFees(@RequestBody String reqString) {
+
+        JSONObject reqJson = JSONObject.parseObject(reqString);
+        Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖轰俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "feeTypeCd", "鏈寘鍚垂鐢ㄧ被鍨�");
+        Assert.hasKeyAndValue(reqJson, "storeId", "鏈寘鍚晢鎴蜂俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "userId", "鏈寘鍚敤鎴蜂俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "batchId", "鏈寘鍚壒娆′俊鎭�");
+
+        return importRoomFeeImpl.importContractFees(reqJson);
+    }
+
 }

--
Gitblit v1.8.0