From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能
---
service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java | 44 ++++++++++++++++++++++++++++----------------
1 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java
index 3b2134e..c8aaa05 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java
@@ -5,7 +5,7 @@
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.log.LoggerFactory;
@@ -39,6 +39,7 @@
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -50,7 +51,7 @@
import java.util.Map;
@Java110Cmd(serviceCode = "fee.payBatchFee")
-public class PayBatchFeeCmd extends AbstractServiceCmdListener {
+public class PayBatchFeeCmd extends Cmd {
private static Logger logger = LoggerFactory.getLogger(PayBatchFeeCmd.class);
@@ -131,16 +132,20 @@
feeConfigDto.setConfigId(feeDto.getConfigId());
feeConfigDto.setCommunityId(paramInObj.getString("communityId"));
List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
- if (feeConfigDtos != null && feeConfigDtos.size() == 1) {
+ if (feeConfigDtos == null || feeConfigDtos.size() != 1) {
+ throw new IllegalArgumentException("璐圭敤椤逛笉瀛樺湪");
+ }
+ Date maxEndTime = feeDtos.get(0).getDeadlineTime();
+ if (FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())) {
try {
- Date configEndTime = DateUtil.getDateFromString(feeConfigDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A);
- Date newDate = DateUtil.stepMonth(endTime, paramInObj.getInteger("cycles") - 1);
- if (newDate.getTime() > configEndTime.getTime()) {
- throw new IllegalArgumentException("缂磋垂鍛ㄦ湡瓒呰繃 缂磋垂缁撴潫鏃堕棿");
- }
- } catch (Exception e) {
+ 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 (newDate.getTime() > maxEndTime.getTime()) {
+ throw new IllegalArgumentException("缂磋垂鍛ㄦ湡瓒呰繃 缂磋垂缁撴潫鏃堕棿");
}
}
}
@@ -150,6 +155,7 @@
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
JSONArray fees = reqJson.getJSONArray("fees");
JSONObject paramInObj = null;
+ JSONArray datas = new JSONArray();
for (int feeIndex = 0; feeIndex < fees.size(); feeIndex++) {
try {
paramInObj = fees.getJSONObject(feeIndex);
@@ -158,7 +164,10 @@
logger.error("澶勭悊寮傚父", e);
throw new CmdException(e.getMessage());
}
+ datas.add(paramInObj.getString("detailId"));
}
+
+ cmdDataFlowContext.setResponseEntity(ResultVo.createResponseEntity(datas));
}
private void doDeal(JSONObject paramObj, String communityId, ICmdDataFlowContext cmdDataFlowContext) throws Exception {
@@ -393,8 +402,12 @@
feeInfo.setState(FeeDto.STATE_FINISH);
}
feeInfo.setEndTime(endCalender.getTime());
+ Date maxEndTime = feeInfo.getDeadlineTime();
+ if(FeeDto.FEE_FLAG_CYCLE.equals(feeInfo.getFeeFlag())){
+ maxEndTime = feeInfo.getConfigEndTime();
+ }
//鍒ゆ柇 缁撴潫鏃堕棿 鏄惁澶т簬 璐圭敤椤� 缁撴潫鏃堕棿锛岃繖閲� 瀹归敊涓�涓嬶紝濡傛灉 璐圭敤缁撴潫鏃堕棿澶т簬 璐圭敤椤圭粨鏉熸椂闂� 30澶� 璧版姤閿� 灞炰簬澶氱即璐�
- if (feeInfo.getEndTime().getTime() - feeInfo.getConfigEndTime().getTime() > 30 * 24 * 60 * 60 * 1000L) {
+ if (feeInfo.getEndTime().getTime() - maxEndTime.getTime() > 30 * 24 * 60 * 60 * 1000L) {
throw new IllegalArgumentException("缂磋垂瓒呰繃浜� 璐圭敤椤圭粨鏉熸椂闂�");
}
Map feeMap = BeanConvertUtil.beanCovertMap(feeInfo);
@@ -411,16 +424,15 @@
// 鍛ㄦ湡鎬ф敹璐广�佺即璐瑰悗锛屽埌鏈熸棩鏈熷湪璐圭敤椤圭粓姝㈡棩鏈熷悗锛屽垯璁剧疆缂磋垂鐘舵�佺粨鏉燂紝璁剧疆缁撴潫鏃ユ湡涓鸿垂鐢ㄩ」缁堟鏃ユ湡
- if (FeeFlagTypeConstant.CYCLE.equals(feeInfo.getFeeFlag())) {
+ if (!FeeFlagTypeConstant.ONETIME.equals(feeInfo.getFeeFlag())) {
//杩欓噷 瀹归敊浜斿ぉ鏃堕棿
- Date configEndTime = feeInfo.getConfigEndTime();
Calendar calendar = Calendar.getInstance();
- calendar.setTime(configEndTime);
+ calendar.setTime(maxEndTime);
calendar.add(Calendar.DAY_OF_MONTH, -5);
- configEndTime = calendar.getTime();
- if (feeInfo.getEndTime().after(configEndTime)) {
+ maxEndTime = calendar.getTime();
+ if (feeInfo.getEndTime().after(maxEndTime)) {
businessFee.put("state", FeeStateConstant.END);
- businessFee.put("endTime", feeInfo.getConfigEndTime());
+ businessFee.put("endTime", maxEndTime);
}
}
--
Gitblit v1.8.0