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