From b06ccd76e50812d81ee689dcd609bb02ac5c4ed4 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期四, 11 八月 2022 14:48:52 +0800
Subject: [PATCH] 1、优化页面展示行问题
---
service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java | 80 +++++++++++++++++++++++-----------------
1 files changed, 46 insertions(+), 34 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java
index dec693f..2f602e1 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java
@@ -24,10 +24,7 @@
import com.java110.intf.acct.IAccountInnerServiceSMO;
import com.java110.intf.acct.ICouponUserDetailV1InnerServiceSMO;
import com.java110.intf.acct.ICouponUserV1InnerServiceSMO;
-import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
-import com.java110.intf.community.IRepairInnerServiceSMO;
-import com.java110.intf.community.IRepairUserInnerServiceSMO;
-import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.community.*;
import com.java110.intf.fee.*;
import com.java110.intf.fee.IFeeAccountDetailServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
@@ -41,7 +38,6 @@
import com.java110.po.owner.RepairUserPo;
import com.java110.po.payFeeDetailDiscount.PayFeeDetailDiscountPo;
import com.java110.utils.constant.FeeFlagTypeConstant;
-import com.java110.utils.constant.FeeStateConstant;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.CmdException;
import com.java110.utils.exception.ListenerExecuteException;
@@ -68,7 +64,7 @@
private IPayFeeV1InnerServiceSMO payFeeV1InnerServiceSMOImpl;
@Autowired
- private IPayFeeDetailNewV1InnerServiceSMO payFeeDetailNewV1InnerServiceSMOImpl;
+ private IPayFeeDetailV1InnerServiceSMO payFeeDetailNewV1InnerServiceSMOImpl;
@Autowired
private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
@@ -113,10 +109,10 @@
private IPayFeeDetailDiscountNewV1InnerServiceSMO payFeeDetailDiscountNewV1InnerServiceSMOImpl;
@Autowired
- private IRepairPoolNewV1InnerServiceSMO repairPoolNewV1InnerServiceSMOImpl;
+ private IRepairPoolV1InnerServiceSMO repairPoolNewV1InnerServiceSMOImpl;
@Autowired
- private IRepairUserNewV1InnerServiceSMO repairUserNewV1InnerServiceSMOImpl;
+ private IRepairUserV1InnerServiceSMO repairUserNewV1InnerServiceSMOImpl;
@Autowired
private ICouponUserV1InnerServiceSMO couponUserV1InnerServiceSMOImpl;
@@ -170,7 +166,8 @@
Date maxEndTime = feeDtos.get(0).getDeadlineTime();
//鍛ㄦ湡鎬ц垂鐢�
if (FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())
- || FeeDto.FEE_FLAG_CYCLE_ONCE.equals(feeConfigDtos.get(0).getFeeFlag())) {
+ || FeeDto.FEE_FLAG_CYCLE_ONCE.equals(feeConfigDtos.get(0).getFeeFlag())
+ || FeeDto.FEE_FLAG_ONCE.equals(feeConfigDtos.get(0).getFeeFlag())) {
try {
maxEndTime = DateUtil.getDateFromString(feeConfigDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A);
} catch (ParseException e) {
@@ -247,7 +244,7 @@
}
for (int columnIndex = 0; columnIndex < jsonArray.size(); columnIndex++) {
JSONObject param = jsonArray.getJSONObject(columnIndex);
- if (!StringUtil.isEmpty(param.getString("acctType")) && param.getString("acctType").equals("2004")) { //绉垎璐︽埛
+ if (AccountDto.ACCT_TYPE_INTEGRAL.equals(param.getString("acctType"))) { //绉垎璐︽埛
//璐︽埛閲戦
BigDecimal amount = new BigDecimal(param.getString("amount"));
//鑾峰彇鏈�澶ф姷鎵gН鍒�
@@ -348,9 +345,6 @@
JSONArray selectDiscounts = paramObj.getJSONArray("selectDiscount");
for (int discountIndex = 0; discountIndex < selectDiscounts.size(); discountIndex++) {
JSONObject param = selectDiscounts.getJSONObject(discountIndex);
- if (!StringUtil.isEmpty(param.getString("ruleId")) && param.getString("ruleId").equals("102020008")) {
- return;
- }
addPayFeeDetailDiscount(paramObj, param);
}
}
@@ -590,32 +584,44 @@
targetEndTime = endCalender.getTime();
paramInJson.put("tmpCycles", cycles.doubleValue());
businessFeeDetail.put("cycles", cycles.doubleValue());
- businessFeeDetail.put("receivableAmount", receivedAmount.doubleValue());
- } else if ("-103".equals(paramInJson.getString("cycles"))) {
- String custEndTime = paramInJson.getString("custEndTime");
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date endDates = null;
- try {
- endDates = format.parse(custEndTime);
- } catch (ParseException e) {
- e.printStackTrace();
+ //澶勭悊 鍙兘杩樺瓨鍦� 瀹炴敹鎵嬪伐鍑忓厤鐨勬儏鍐�
+ if(paramInJson.containsKey("receivableAmount") && !StringUtil.isEmpty(paramInJson.getString("receivableAmount"))){
+ businessFeeDetail.put("receivableAmount", paramInJson.getString("receivableAmount"));
+ }else {
+ businessFeeDetail.put("receivableAmount", receivedAmount.doubleValue());
}
+ } else if ("-103".equals(paramInJson.getString("cycles"))) { //杩欓噷鎸夌即璐圭粨鏉熸椂闂寸即璐�
+ String custEndTime = paramInJson.getString("custEndTime");
+ Date endDates = DateUtil.getDateFromStringB(custEndTime);
Calendar c = Calendar.getInstance();
c.setTime(endDates);
c.add(Calendar.DAY_OF_MONTH, 1);
endDates = c.getTime();//杩欐槸鏄庡ぉ
targetEndTime = endDates;
- BigDecimal receivedAmount1 = new BigDecimal(Double.parseDouble(paramInJson.getString("receivedAmount")));
+ BigDecimal receivedAmount1 = new BigDecimal(Double.parseDouble(paramInJson.getString("receivedAmount")));
cycles = receivedAmount1.divide(feePrice, 4, BigDecimal.ROUND_HALF_EVEN);
paramInJson.put("tmpCycles", cycles.doubleValue());
businessFeeDetail.put("cycles", cycles.doubleValue());
BigDecimal receivedAmount = new BigDecimal(Double.parseDouble(paramInJson.getString("receivedAmount")));
- businessFeeDetail.put("receivableAmount", receivedAmount.doubleValue());
+ //澶勭悊 鍙兘杩樺瓨鍦� 瀹炴敹鎵嬪伐鍑忓厤鐨勬儏鍐�
+ if(paramInJson.containsKey("receivableAmount") && !StringUtil.isEmpty(paramInJson.getString("receivableAmount"))){
+ businessFeeDetail.put("receivableAmount", paramInJson.getString("receivableAmount"));
+ }else {
+ businessFeeDetail.put("receivableAmount", receivedAmount.doubleValue());
+ }
} else {
targetEndTime = computeFeeSMOImpl.getFeeEndTimeByCycles(feeDto, paramInJson.getString("cycles"));//鏍规嵁缂磋垂鍛ㄦ湡璁$畻 缁撴潫鏃堕棿
cycles = new BigDecimal(Double.parseDouble(paramInJson.getString("cycles")));
double tmpReceivableAmount = cycles.multiply(feePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
businessFeeDetail.put("receivableAmount", tmpReceivableAmount);
+
+ //鍑虹閫掑闂澶勭悊
+ if (FeeConfigDto.COMPUTING_FORMULA_RANT_RATE.equals(feeDto.getComputingFormula())) {
+ computeFeeSMOImpl.dealRentRateCycle(feeDto,cycles.doubleValue());
+ if(feeDto.getOweFee()> 0){
+ businessFeeDetail.put("receivableAmount", feeDto.getAmountOwed());
+ }
+ }
}
businessFeeDetail.put("endTime", DateUtil.getFormatTimeString(targetEndTime, DateUtil.DATE_FORMATE_STRING_A));
paramInJson.put("feeInfo", feeDto);
@@ -637,13 +643,7 @@
System.out.println(endCalender);
} else if ("-103".equals(paramInJson.getString("cycles"))) {
String custEndTime = paramInJson.getString("custEndTime");
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date endDates = null;
- try {
- endDates = format.parse(custEndTime);
- } catch (ParseException e) {
- e.printStackTrace();
- }
+ Date endDates = DateUtil.getDateFromStringB(custEndTime);
Calendar c = Calendar.getInstance();
c.setTime(endDates);
c.add(Calendar.DAY_OF_MONTH, 1);
@@ -670,9 +670,21 @@
if (FeeDto.FEE_FLAG_CYCLE.equals(feeInfo.getFeeFlag())) {
maxEndTime = feeInfo.getConfigEndTime();
}
+
+ if(FeeDto.FEE_FLAG_CYCLE_ONCE.equals(feeInfo.getFeeFlag())){
+ maxEndTime = feeInfo.getMaxEndTime();
+ }
+
+ //濡傛灉闂存瓏鎬ц垂鐢ㄦ病鏈夎缃粨鏉熸椂闂� 鍒欏彇璐圭敤椤圭殑
+ if (maxEndTime == null) {
+ maxEndTime = feeInfo.getConfigEndTime();
+ }
+
//鍒ゆ柇 缁撴潫鏃堕棿 鏄惁澶т簬 璐圭敤椤� 缁撴潫鏃堕棿锛岃繖閲� 瀹归敊涓�涓嬶紝濡傛灉 璐圭敤缁撴潫鏃堕棿澶т簬 璐圭敤椤圭粨鏉熸椂闂� 30澶� 璧版姤閿� 灞炰簬澶氱即璐�
- if (feeInfo.getEndTime().getTime() - maxEndTime.getTime() > 30 * 24 * 60 * 60 * 1000L) {
- throw new IllegalArgumentException("缂磋垂瓒呰繃浜� 璐圭敤椤圭粨鏉熸椂闂�");
+ if(maxEndTime != null) {
+ if (feeInfo.getEndTime().getTime() - maxEndTime.getTime() > 30 * 24 * 60 * 60 * 1000L) {
+ throw new IllegalArgumentException("缂磋垂瓒呰繃浜� 璐圭敤椤圭粨鏉熸椂闂�");
+ }
}
Map feeMap = BeanConvertUtil.beanCovertMap(feeInfo);
feeMap.put("startTime", DateUtil.getFormatTimeString(feeInfo.getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
@@ -693,7 +705,7 @@
calendar.add(Calendar.DAY_OF_MONTH, -5);
maxEndTime = calendar.getTime();
if (feeInfo.getEndTime().after(maxEndTime)) {
- businessFee.put("state", FeeStateConstant.END);
+ businessFee.put("state", FeeDto.STATE_FINISH);
businessFee.put("endTime", maxEndTime);
}
}
--
Gitblit v1.8.0