From b88a288f4f787b509463678e3cd9ccfa3f37014b Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期三, 11 三月 2026 12:01:05 +0800
Subject: [PATCH] 导入测试

---
 service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeePreCmd.java |   65 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 8 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeePreCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeePreCmd.java
index 6b6a96c..33c9969 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeePreCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeePreCmd.java
@@ -19,9 +19,10 @@
 import com.java110.dto.fee.FeeDetailDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.fee.ComputeDiscountDto;
-import com.java110.intf.acct.IAccountDetailInnerServiceSMO;
-import com.java110.intf.acct.IAccountInnerServiceSMO;
-import com.java110.intf.acct.ICouponUserV1InnerServiceSMO;
+import com.java110.dto.payment.PaymentPoolDto;
+import com.java110.dto.payment.PaymentPoolValueDto;
+import com.java110.dto.wechat.SmallWeChatDto;
+import com.java110.intf.acct.*;
 import com.java110.intf.community.ICommunityV1InnerServiceSMO;
 import com.java110.intf.community.IRepairUserInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
@@ -30,7 +31,10 @@
 import com.java110.po.account.AccountDetailPo;
 import com.java110.po.account.AccountPo;
 import com.java110.utils.cache.CommonCache;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.constant.WechatConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.util.*;
@@ -46,6 +50,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 绫昏〃杩帮細鍒犻櫎
@@ -67,6 +72,12 @@
 
     @Autowired
     private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
+    @Autowired
+    private IPaymentPoolV1InnerServiceSMO paymentPoolV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IPaymentPoolValueV1InnerServiceSMO paymentPoolValueV1InnerServiceSMOImpl;
 
     @Autowired
     private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
@@ -192,12 +203,13 @@
         //todo 璁$畻搴旀敹
         BigDecimal receivableAmount = new BigDecimal(feePriceAll.get("feePrice").toString());
         BigDecimal cycles = new BigDecimal(Double.parseDouble(reqJson.getString("cycles")));
-        double tmpReceivableAmount = cycles.multiply(receivableAmount).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
-
+        double tmpReceivableAmount = cycles.multiply(receivableAmount).setScale(4, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+        tmpReceivableAmount = MoneyUtil.computePriceScale(tmpReceivableAmount, feeDto.getScale(), Integer.parseInt(feeDto.getDecimalPlace()));
 
         JSONObject paramOut = new JSONObject();
         paramOut.put("receivableAmount", tmpReceivableAmount);
-        paramOut.put("oId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oId));
+        SmallWeChatDto smallWeChatDto = get(reqJson.getString("communityId"));
+        paramOut.put("oId", smallWeChatDto.getOrderPre() + GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oId));
 
 
         //瀹炴敹閲戦
@@ -236,6 +248,43 @@
         reqJson.putAll(paramOut);
         CommonCache.setValue("payFeePre" + paramOut.getString("oId"), reqJson.toJSONString(), 24 * 60 * 60);
         cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    public SmallWeChatDto get(String community){
+        SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
+        //鐢变簬瀵屾湁鏀粯鏂瑰紡瑕佷粠鏁版嵁搴撻噷闈㈠彇鍊硷紝鎵�浠ユ澶勮鏌ヨ
+        PaymentPoolDto paymentPoolDto = new PaymentPoolDto();
+//        paymentPoolDto.setCommunityId(community);
+        paymentPoolDto.setPage(1);
+        paymentPoolDto.setRow(10);
+        List<PaymentPoolDto> paymentPoolDtos = paymentPoolV1InnerServiceSMOImpl.queryPaymentPools(paymentPoolDto);
+        List<PaymentPoolDto> collect = paymentPoolDtos.stream().filter(e -> e.getPaymentType().equals("FUIOU")).collect(Collectors.toList());
+        PaymentPoolValueDto paymentPoolValueDto = new PaymentPoolValueDto();
+        paymentPoolValueDto.setPpId(collect.get(0).getPpId());
+        paymentPoolValueDto.setCommunityId(community);
+        List<PaymentPoolValueDto> values =  paymentPoolValueV1InnerServiceSMOImpl.queryPaymentPoolValues(paymentPoolValueDto);
+        Map<String, List<PaymentPoolValueDto>> payMap = values.stream().collect(Collectors.groupingBy(PaymentPoolValueDto::getColumnKey));
+        if(payMap.containsKey("FUIOU_APP_ID")){
+            smallWeChatDto.setAppId(payMap.get("FUIOU_APP_ID").get(0).getColumnValue());
+        }else{
+            smallWeChatDto.setAppId(MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, "appId"));
+        }
+        if(payMap.containsKey("FUIOU_MCHNT_KEY")){
+            smallWeChatDto.setAppSecret(payMap.get("FUIOU_MCHNT_KEY").get(0).getColumnValue());
+        }else{
+            smallWeChatDto.setAppSecret(MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, "appSecret"));
+        }
+        if(payMap.containsKey("FUIOU_MERCHANT_ID")){
+            smallWeChatDto.setMchId(payMap.get("FUIOU_MERCHANT_ID").get(0).getColumnValue());
+        }else{
+            smallWeChatDto.setMchId(MappingCache.getValue(MappingConstant.WECHAT_STORE_DOMAIN, "mchId"));
+        }
+        if(payMap.containsKey("FUIOU_ORDER_PRE")){
+            smallWeChatDto.setOrderPre(payMap.get("FUIOU_ORDER_PRE").get(0).getColumnValue());
+        }else{
+            smallWeChatDto.setOrderPre("1066");
+        }
+        return smallWeChatDto;
     }
 
     private String getObjName(FeeDto feeDto) {
@@ -296,7 +345,7 @@
         accountDto.setAcctIds(acctIds.toArray(new String[acctIds.size()]));
         List<AccountDto> accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
 
-        if (accountDtos == null || accountDtos.size() < 1) {
+        if (ListUtil.isNull(accountDtos)) {
             reqJson.put("deductionAmount", 0.0);
             return 0.0;
         }
@@ -327,7 +376,7 @@
                     dedAmount = dedAmount.subtract(amount);
                 }
                 money = money.add(cashMoney);
-            } else if (AccountDto.ACCT_TYPE_INTEGRAL.equals(tmpAccountDto.getAcctType()) && compare > 0) { //绉垎璐︽埛
+            } else if ("2004".equals(tmpAccountDto.getAcctType()) && compare > 0) { //绉垎璐︽埛
                 //绉垎璐︽埛鏈�澶т娇鐢ㄧН鍒�
                 String maximumNumber = CommunitySettingFactory.getValue(reqJson.getString("communityId"), MAXIMUM_NUMBER);
                 BigDecimal maxNumber = new BigDecimal(maximumNumber);

--
Gitblit v1.8.0