From 6e13e0fa577df5511157a7841617106bd2f5c0b2 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期一, 20 三月 2023 16:03:05 +0800
Subject: [PATCH] 1、优化采购批次相关内容2、优化访客停车白名单下发3、新增权限组排序4、优化设备相关5、优化页面相关展示bug

---
 service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/UpdateReturnPayFeeCmd.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 93 insertions(+), 25 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/UpdateReturnPayFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/UpdateReturnPayFeeCmd.java
index 602a6df..86b2ff8 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/UpdateReturnPayFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/UpdateReturnPayFeeCmd.java
@@ -25,7 +25,6 @@
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.RoomDto;
 import com.java110.dto.account.AccountDto;
-import com.java110.dto.communitySpacePerson.CommunitySpacePersonDto;
 import com.java110.dto.fee.FeeDetailDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.feeDiscount.FeeDiscountDto;
@@ -33,6 +32,7 @@
 import com.java110.dto.feeDiscount.FeeDiscountSpecDto;
 import com.java110.dto.onlinePay.OnlinePayDto;
 import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.dto.payFeeConfigDiscount.PayFeeConfigDiscountDto;
 import com.java110.dto.payFeeDetailDiscount.PayFeeDetailDiscountDto;
@@ -43,11 +43,14 @@
 import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.*;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.po.account.AccountPo;
 import com.java110.po.accountDetail.AccountDetailPo;
 import com.java110.po.fee.PayFeeDetailPo;
 import com.java110.po.fee.PayFeePo;
+import com.java110.po.feeReceipt.FeeReceiptPo;
+import com.java110.po.feeReceiptDetail.FeeReceiptDetailPo;
 import com.java110.po.onlinePay.OnlinePayPo;
 import com.java110.po.payFeeDetailDiscount.PayFeeDetailDiscountPo;
 import com.java110.po.returnPayFee.ReturnPayFeePo;
@@ -121,6 +124,9 @@
     private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
 
     @Autowired
+    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+
+    @Autowired
     private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
 
     @Autowired
@@ -131,6 +137,15 @@
 
     @Autowired
     private IOnlinePayV1InnerServiceSMO onlinePayV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeReceiptDetailInnerServiceSMO feeReceiptDetailInnerServiceSMOImpl;
+
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
 
     private static final String SPEC_RATE = "89002020980015"; //璧犻�佹湀浠�
 
@@ -143,20 +158,17 @@
         Assert.hasKeyAndValue(reqJson, "returnFeeId", "returnFeeId涓嶈兘涓虹┖");
         Assert.hasKeyAndValue(reqJson, "state", "state涓嶈兘涓虹┖");
         Assert.hasKeyAndValue(reqJson, "feeId", "feeId涓嶈兘涓虹┖");
-
         if (reqJson.containsKey("cycles")) {
             String cycles = reqJson.getString("cycles");
             if (!cycles.startsWith("-")) {
                 throw new IllegalArgumentException("閫�璐瑰懆鏈熷繀椤昏礋鏁�");// 杩欓噷蹇呴』浼犲叆璐熸暟锛屽惁鍒欒垂鐢ㄨ嚜鍔ㄧ浉鍔犱笉浼氶��璐�
             }
         }
-
         FeeDetailDto feeDetailDto = new FeeDetailDto();
         feeDetailDto.setDetailId(reqJson.getString("detailId"));
         feeDetailDto.setFeeId(reqJson.getString("feeId"));
         feeDetailDto.setCommunityId(reqJson.getString("communityId"));
         List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto);
-
         Assert.listOnlyOne(feeDetailDtos, "涓嶅瓨鍦ㄧ即璐硅褰�");
         reqJson.put("feeDetailDto", feeDetailDtos.get(0));
     }
@@ -164,10 +176,8 @@
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
         FeeDetailDto feeDetailDto = (FeeDetailDto) reqJson.get("feeDetailDto");
         updateReturnPayFee(reqJson);
-
         //閫�璐瑰鏍搁�氳繃
         if ("1100".equals(reqJson.getString("state"))) {
             //鍒ゆ柇閫�璐瑰懆鏈熸槸鍚︿负璐熸暟濡傛灉涓嶆槸 鎶涘嚭寮傚父
@@ -175,9 +185,8 @@
             reqJson.put("state", "1300");
             reqJson.put("startTime", DateUtil.getFormatTimeString(feeDetailDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
             reqJson.put("endTime", DateUtil.getFormatTimeString(feeDetailDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
-            reqJson.put("payOrderId",feeDetailDto.getPayOrderId());
+            reqJson.put("payOrderId", feeDetailDto.getPayOrderId());
             addFeeDetail(reqJson);
-
             reqJson.put("state", "1100");
             String receivableAmount = (String) reqJson.get("receivableAmount");
             String receivedAmount = (String) reqJson.get("receivedAmount");
@@ -190,7 +199,6 @@
             FeeDto feeDto = new FeeDto();
             feeDto.setFeeId((String) reqJson.get("feeId"));
             List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
-
             Assert.listOnlyOne(feeDtos, "璐圭敤涓嶅瓨鍦�");
             FeeDto feeDto1 = feeDtos.get(0);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -214,6 +222,8 @@
                 reqJson.put("state", "2008001");
             }
             updateFee(reqJson);
+            reqJson.put("feeName", feeDto1.getFeeName());
+//            dealFeeReceipt(reqJson);
             //妫�鏌ユ槸鍚︽湁浼樻儬
             PayFeeDetailDiscountDto payFeeDetailDiscountDto = new PayFeeDetailDiscountDto();
             payFeeDetailDiscountDto.setCommunityId(feeDto1.getCommunityId());
@@ -248,7 +258,7 @@
                         Date startTime = DateUtil.getDateFromStringA(reqJson.getString("startTime"));
                         FeeDiscountSpecDto feeDiscountSpecDto = new FeeDiscountSpecDto();
                         feeDiscountSpecDto.setDiscountId(payFeeConfigDiscount.getDiscountId());
-                        feeDiscountSpecDto.setSpecId(SPEC_RATE);
+                        feeDiscountSpecDto.setSpecId(SPEC_RATE); //璧犻�佽鍒�
                         //鏌ヨ鎵撴姌瑙勬牸
                         List<FeeDiscountSpecDto> feeDiscountSpecDtos = feeDiscountSpecInnerServiceSMOImpl.queryFeeDiscountSpecs(feeDiscountSpecDto);
                         Assert.listOnlyOne(feeDiscountSpecDtos, "鏌ヨ鎵撴姌瑙勬牸琛ㄩ敊璇紒");
@@ -257,7 +267,7 @@
                         BigDecimal value = new BigDecimal(specValue);
                         FeeDiscountSpecDto feeDiscountSpec = new FeeDiscountSpecDto();
                         feeDiscountSpec.setDiscountId(payFeeConfigDiscount.getDiscountId());
-                        feeDiscountSpec.setSpecId(SPEC_MONTH);
+                        feeDiscountSpec.setSpecId(SPEC_MONTH); //鏈堜唤
                         List<FeeDiscountSpecDto> feeDiscountSpecs = feeDiscountSpecInnerServiceSMOImpl.queryFeeDiscountSpecs(feeDiscountSpec);
                         Assert.listOnlyOne(feeDiscountSpecs, "鏌ヨ鎵撴姌瑙勬牸琛ㄩ敊璇紒");
                         //鑾峰彇鏈堜唤
@@ -345,7 +355,6 @@
             }
             //鎻愪氦绾夸笂閫�璐�
             returnOnlinePayMoney(feeDetailDto);
-
         }
         //涓嶉�氳繃
         if ("1200".equals(reqJson.getString("state"))) {
@@ -375,14 +384,10 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void updateReturnPayFee(JSONObject paramInJson) {
-
         ReturnPayFeeDto returnPayFeeDto = new ReturnPayFeeDto();
         returnPayFeeDto.setReturnFeeId(paramInJson.getString("returnFeeId"));
         List<ReturnPayFeeDto> returnPayFeeDtos = returnPayFeeInnerServiceSMOImpl.queryReturnPayFees(returnPayFeeDto);
-
         Assert.listOnlyOne(returnPayFeeDtos, "鏈壘鍒伴渶瑕佷慨鏀圭殑娲诲姩 鎴栧鏉℃暟鎹�");
-
-
         JSONObject businessReturnPayFee = new JSONObject();
         businessReturnPayFee.putAll(BeanConvertUtil.beanCovertMap(returnPayFeeDtos.get(0)));
         businessReturnPayFee.putAll(paramInJson);
@@ -394,12 +399,10 @@
     }
 
     public void updateFeeDetail(JSONObject paramInJson) {
-
         FeeDetailDto feeDetailDto = new FeeDetailDto();
         feeDetailDto.setDetailId(paramInJson.getString("detailId"));
         List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto);
         Assert.listOnlyOne(feeDetailDtos, "鏈壘鍒伴渶瑕佷慨鏀圭殑娲诲姩 鎴栧鏉℃暟鎹�");
-
         JSONObject businessReturnPayFee = new JSONObject();
         businessReturnPayFee.putAll(BeanConvertUtil.beanCovertMap(feeDetailDtos.get(0)));
         businessReturnPayFee.putAll(paramInJson);
@@ -410,9 +413,7 @@
         }
     }
 
-
     public void addFeeDetail(JSONObject paramInJson) {
-
         JSONObject businessReturnPayFee = new JSONObject();
         businessReturnPayFee.putAll(paramInJson);
         businessReturnPayFee.put("detailId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
@@ -429,6 +430,77 @@
         int flag = payFeeV1InnerServiceSMOImpl.updatePayFee(payFeePo);
         if (flag < 1) {
             throw new CmdException("鏇存柊鏁版嵁澶辫触");
+        }
+    }
+
+    //鏀舵嵁鐩稿叧鎿嶄綔
+    public void dealFeeReceipt(JSONObject paramInJson) {
+        //娣诲姞鏀舵嵁
+        FeeReceiptPo feeReceiptPo = new FeeReceiptPo();
+        feeReceiptPo.setReceiptId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_receiptId));
+        feeReceiptPo.setCommunityId(paramInJson.getString("communityId"));
+        feeReceiptPo.setObjType(paramInJson.getString("payerObjType")); //鏀舵嵁瀵硅薄 3333 鎴垮眿 6666 杞︿綅杞﹁締
+        feeReceiptPo.setObjId(paramInJson.getString("payerObjId")); //瀵硅薄ID
+        feeReceiptPo.setObjName(paramInJson.getString("payerObjName")); //瀵硅薄鍚嶇О
+        double receivedAmount = unum(paramInJson.getString("receivedAmount"));
+        feeReceiptPo.setAmount(String.valueOf(receivedAmount)); //鎬婚噾棰�
+        feeReceiptPo.setRemark("閫�璐规敹鎹�");
+        String payObjId = "";
+        String payObjName = "";
+        String roomArea = "";
+        if (!StringUtil.isEmpty(paramInJson.getString("payerObjType")) && paramInJson.getString("payerObjType").equals("3333")) { //鎴垮眿
+            OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+            ownerRoomRelDto.setRoomId(paramInJson.getString("payerObjId"));
+            List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+            Assert.listOnlyOne(ownerRoomRelDtos, "鏌ヨ鎴垮眿閿欒锛�");
+            OwnerDto ownerDto = new OwnerDto();
+            ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
+            ownerDto.setOwnerTypeCd("1001"); //1001 涓氫富鏈汉 1002 瀹跺涵鎴愬憳
+            List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+            Assert.listOnlyOne(ownerDtos, "鏌ヨ涓氫富淇℃伅閿欒锛�");
+            payObjId = ownerDtos.get(0).getOwnerId();
+            payObjName = ownerDtos.get(0).getName();
+        } else if (!StringUtil.isEmpty(paramInJson.getString("payerObjType")) && paramInJson.getString("payerObjType").equals("6666")) { //杞﹁締
+            OwnerCarDto ownerCarDto = new OwnerCarDto();
+            ownerCarDto.setCarId(paramInJson.getString("payerObjId"));
+            List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+            Assert.listOnlyOne(ownerCarDtos, "鏌ヨ涓氫富杞﹁締閿欒锛�");
+            OwnerDto ownerDto = new OwnerDto();
+            ownerDto.setOwnerId(ownerCarDtos.get(0).getOwnerId());
+            ownerDto.setOwnerTypeCd("1001"); //1001 涓氫富鏈汉 1002 瀹跺涵鎴愬憳
+            List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+            Assert.listOnlyOne(ownerDtos, "鏌ヨ涓氫富淇℃伅閿欒锛�");
+            payObjId = ownerDtos.get(0).getOwnerId();
+            payObjName = ownerDtos.get(0).getName();
+        }
+        feeReceiptPo.setPayObjId(payObjId); //浠樿垂浜篿d
+        feeReceiptPo.setPayObjName(payObjName); //浠樿垂浜哄鍚�
+        int i = feeReceiptInnerServiceSMOImpl.saveFeeReceipt(feeReceiptPo);
+        if (i < 1) {
+            throw new CmdException("娣诲姞鏀舵嵁澶辫触");
+        }
+        //娣诲姞鏀舵嵁璇︽儏
+        FeeReceiptDetailPo feeReceiptDetailPo = new FeeReceiptDetailPo();
+        feeReceiptDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+        feeReceiptDetailPo.setReceiptId(feeReceiptPo.getReceiptId()); //鏀舵嵁id
+        feeReceiptDetailPo.setFeeId(paramInJson.getString("feeId")); //璐圭敤id
+        feeReceiptDetailPo.setFeeName(paramInJson.getString("feeName"));
+        if (!StringUtil.isEmpty(paramInJson.getString("payerObjType")) && paramInJson.getString("payerObjType").equals("3333")) { //鎴垮眿
+            RoomDto roomDto = new RoomDto();
+            roomDto.setRoomId(paramInJson.getString("payerObjId"));
+            List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+            Assert.listOnlyOne(roomDtos, "鏌ヨ鎴垮眿閿欒锛�");
+            roomArea = roomDtos.get(0).getRoomArea();
+        }
+        feeReceiptDetailPo.setArea(roomArea); //闈㈢Н/鐢ㄩ噺
+        feeReceiptDetailPo.setStartTime(paramInJson.getString("startTime"));
+        feeReceiptDetailPo.setEndTime(paramInJson.getString("endTime"));
+        feeReceiptDetailPo.setAmount(feeReceiptPo.getAmount());
+        feeReceiptDetailPo.setCycle(paramInJson.getString("cycles"));
+        feeReceiptDetailPo.setCommunityId(paramInJson.getString("communityId"));
+        int flag = feeReceiptDetailInnerServiceSMOImpl.saveFeeReceiptDetail(feeReceiptDetailPo);
+        if (flag < 1) {
+            throw new CmdException("娣诲姞鏀舵嵁璇︽儏澶辫触");
         }
     }
 
@@ -459,18 +531,15 @@
      * @param feeDetailDto
      */
     private void returnOnlinePayMoney(FeeDetailDto feeDetailDto) {
-
-        if(StringUtil.isEmpty(feeDetailDto.getPayOrderId())){
+        if (StringUtil.isEmpty(feeDetailDto.getPayOrderId())) {
             return;
         }
-
         OnlinePayDto onlinePayDto = new OnlinePayDto();
         onlinePayDto.setOrderId(feeDetailDto.getPayOrderId());
         List<OnlinePayDto> onlinePayDtos = onlinePayV1InnerServiceSMOImpl.queryOnlinePays(onlinePayDto);
         if (onlinePayDtos == null || onlinePayDtos.size() < 1) {
             return;
         }
-
         OnlinePayPo onlinePayPo = new OnlinePayPo();
         onlinePayPo.setOrderId(onlinePayDtos.get(0).getOrderId());
         onlinePayPo.setPayId(onlinePayDtos.get(0).getPayId());
@@ -478,5 +547,4 @@
         onlinePayPo.setRefundFee(feeDetailDto.getReceivedAmount());
         onlinePayV1InnerServiceSMOImpl.updateOnlinePay(onlinePayPo);
     }
-
 }

--
Gitblit v1.8.0