From 4ce807bb99088dc6f41262046830fc872e772be4 Mon Sep 17 00:00:00 2001
From: cgf <2156125618@qq.com>
Date: 星期二, 02 九月 2025 14:23:33 +0800
Subject: [PATCH] 折扣已完成现有需求2025/08/09
---
service-fee/src/main/java/com/java110/fee/cmd/feeConfig/UpdateFeeConfigCmd.java | 75 ++++++++++++++++++++++++++++++++-----
1 files changed, 64 insertions(+), 11 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/feeConfig/UpdateFeeConfigCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/feeConfig/UpdateFeeConfigCmd.java
index bc944c0..73034d1 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/feeConfig/UpdateFeeConfigCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/feeConfig/UpdateFeeConfigCmd.java
@@ -2,15 +2,19 @@
import com.alibaba.fastjson.JSONObject;
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.dto.fee.FeeConfigDto;
-import com.java110.fee.smo.impl.FeeConfigInnerServiceSMOImpl;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.payFee.PayFeeRuleDto;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.fee.IPayFeeConfigV1InnerServiceSMO;
+import com.java110.intf.fee.IPayFeeRuleV1InnerServiceSMO;
+import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
import com.java110.po.fee.PayFeeConfigPo;
+import com.java110.po.fee.PayFeePo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
@@ -20,7 +24,7 @@
import java.util.List;
@Java110Cmd(serviceCode = "feeConfig.updateFeeConfig")
-public class UpdateFeeConfigCmd extends AbstractServiceCmdListener {
+public class UpdateFeeConfigCmd extends Cmd {
@Autowired
private IPayFeeConfigV1InnerServiceSMO payFeeConfigV1InnerServiceSMOImpl;
@@ -28,9 +32,14 @@
@Autowired
private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+ @Autowired
+ private IPayFeeRuleV1InnerServiceSMO payFeeRuleV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IPayFeeV1InnerServiceSMO payFeeV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
Assert.hasKeyAndValue(reqJson, "configId", "璐圭敤椤笽D涓嶈兘涓虹┖");
Assert.hasKeyAndValue(reqJson, "feeTypeCd", "蹇呭~锛岃閫夋嫨璐圭敤绫诲瀷");
Assert.hasKeyAndValue(reqJson, "feeName", "蹇呭~锛岃濉啓鏀惰垂椤圭洰");
@@ -42,12 +51,10 @@
Assert.hasKeyAndValue(reqJson, "additionalAmount", "蹇呭~锛岃濉啓闄勫姞璐圭敤");
Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖篒D");
Assert.hasKeyAndValue(reqJson, "billType", "蹇呭~锛岃濉啓鍑鸿处绫诲瀷");
-
-
-
}
@Override
+ @Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
FeeConfigDto feeConfigDto = new FeeConfigDto();
feeConfigDto.setCommunityId(reqJson.getString("communityId"));
@@ -58,13 +65,59 @@
businessFeeConfig.putAll(reqJson);
businessFeeConfig.put("isDefault", feeConfigDtos.get(0).getIsDefault());
PayFeeConfigPo payFeeConfigPo = BeanConvertUtil.covertBean(businessFeeConfig, PayFeeConfigPo.class);
-
+ if("NA".equals(payFeeConfigPo.getState())){
+ payFeeConfigPo.setState("N");
+ }
int flag = payFeeConfigV1InnerServiceSMOImpl.updatePayFeeConfig(payFeeConfigPo);
-
if (flag < 1) {
throw new CmdException("淇敼璐圭敤椤瑰け璐�");
}
-
cmdDataFlowContext.setResponseEntity(ResultVo.success());
+
+ //todo 缁撴潫璐圭敤
+ finishFee(reqJson,feeConfigDtos);
+
+ //todo 淇敼璐圭敤鏍囪瘑
+ if (!reqJson.containsKey("feeFlag")) {
+ return;
+ }
+ String feeFlag = reqJson.getString("feeFlag");
+ //todo 璇存槑娌℃湁淇敼璐圭敤椤规爣璇�
+ if (feeFlag.equals(feeConfigDtos.get(0).getFeeFlag())) {
+ return;
+ }
+
+ // todo 妫�鏌ユ槸鍚︿负璐﹀崟妯″紡锛屼篃灏辨槸鍦� poy_fee_rule 涓槸鍚︽湁鏁版嵁锛岃繖閲屾湁鏁版嵁涓嶈淇敼
+ PayFeeRuleDto payFeeRuleDto = new PayFeeRuleDto();
+ payFeeRuleDto.setConfigId(feeConfigDtos.get(0).getConfigId());
+ payFeeRuleDto.setCommunityId(reqJson.getString("communityId"));
+ int count = payFeeRuleV1InnerServiceSMOImpl.queryPayFeeRulesCount(payFeeRuleDto);
+ if (count > 0) {
+ return;
+ }
+
+ PayFeePo payFeePo = new PayFeePo();
+ payFeePo.setConfigId(feeConfigDtos.get(0).getConfigId());
+ payFeePo.setFeeFlag(reqJson.getString("feeFlag"));
+
+ payFeeV1InnerServiceSMOImpl.updatePayFee(payFeePo);
+ }
+
+ /**
+ * 缁撴潫璐圭敤
+ * @param reqJson
+ * @param feeConfigDtos
+ */
+ private void finishFee(JSONObject reqJson, List<FeeConfigDto> feeConfigDtos) {
+ String state = reqJson.getString("state");
+ if(!"NA".equals(state)){
+ return;
+ }
+ PayFeePo payFeePo = new PayFeePo();
+ payFeePo.setConfigId(feeConfigDtos.get(0).getConfigId());
+ payFeePo.setState(FeeDto.STATE_FINISH);
+
+ payFeeV1InnerServiceSMOImpl.updatePayFee(payFeePo);
+
}
}
--
Gitblit v1.8.0