package com.java110.fee.cmd.feeConfig;
|
|
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.Cmd;
|
import com.java110.core.event.cmd.CmdEvent;
|
import com.java110.dto.fee.FeeConfigDto;
|
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
|
import com.java110.intf.fee.IFeeInnerServiceSMO;
|
import com.java110.intf.fee.IPayFeeConfigV1InnerServiceSMO;
|
import com.java110.po.fee.PayFeeConfigPo;
|
import com.java110.utils.exception.CmdException;
|
import com.java110.utils.util.Assert;
|
import com.java110.utils.util.BeanConvertUtil;
|
import com.java110.vo.ResultVo;
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@Java110Cmd(serviceCode = "feeConfig.deleteFeeConfig")
|
public class DeleteFeeConfigCmd extends Cmd {
|
|
@Autowired
|
private IPayFeeConfigV1InnerServiceSMO payFeeConfigV1InnerServiceSMOImpl;
|
|
@Autowired
|
private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
|
|
@Autowired
|
private IFeeInnerServiceSMO feeInnerServiceSMO;
|
|
@Override
|
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
|
|
Assert.hasKeyAndValue(reqJson, "configId", "费用项ID不能为空");
|
Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID");
|
FeeConfigDto feeConfigDto = new FeeConfigDto();
|
feeConfigDto.setCommunityId(reqJson.getString("communityId"));
|
feeConfigDto.setConfigId(reqJson.getString("configId"));
|
feeConfigDto.setIsDefault("T");
|
int feeCount = feeConfigInnerServiceSMOImpl.queryFeeConfigsCount(feeConfigDto);
|
if (feeCount > 0) {
|
throw new IllegalArgumentException("该费用项目不能删除");
|
}
|
int validCount = feeInnerServiceSMO.countValidPayFeeByConfigId(reqJson.getString("configId"));
|
if (validCount > 0) {
|
throw new CmdException("关联生效中费用,无法修改,请撤销关联费用后重试!");
|
}
|
}
|
|
@Override
|
@Java110Transactional
|
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
|
PayFeeConfigPo payFeeConfigPo = BeanConvertUtil.covertBean(reqJson, PayFeeConfigPo.class);
|
|
int flag = payFeeConfigV1InnerServiceSMOImpl.deletePayFeeConfig(payFeeConfigPo);
|
|
if (flag < 1) {
|
throw new CmdException("删除费用项失败");
|
}
|
|
cmdDataFlowContext.setResponseEntity(ResultVo.success());
|
}
|
}
|