java110 2 lat temu
rodzic
commit
547d47c761

+ 8 - 8
service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java

@@ -143,15 +143,15 @@ public class PayBatchFeeCmd extends Cmd {
                 throw new IllegalArgumentException("费用项不存在");
             }
             Date maxEndTime = feeDtos.get(0).getDeadlineTime();
-            if (!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) {
-                    logger.error("比较费用日期失败", e);
-                }
-                Date newDate = DateUtil.stepMonth(endTime, paramInObj.getInteger("cycles") - 1);
+            //周期性费用
+            if (maxEndTime == null || FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())) {
+                maxEndTime = DateUtil.getDateFromStringA(feeConfigDtos.get(0).getEndTime());
+            }
+
+            if (maxEndTime != null && endTime != null && !FeeDto.FEE_FLAG_ONCE.equals(feeConfigDtos.get(0).getFeeFlag())) {
+                Date newDate = DateUtil.stepMonth(endTime, reqJson.getDouble("cycles").intValue());
                 if (newDate.getTime() > maxEndTime.getTime()) {
-                    throw new IllegalArgumentException("缴费周期超过 缴费结束时间");
+                    throw new IllegalArgumentException("缴费周期超过 缴费结束时间,请用按结束时间方式缴费");
                 }
             }