Your Name
2023-08-26 7958f1dddb8a7f4e70d232b07a7703955ecedae0
service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/SaveReturnPayFeeCmd.java
@@ -24,13 +24,15 @@
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.fee.FeeDetailDto;
import com.java110.dto.fee.FeeDto;
import com.java110.dto.returnPayFee.ReturnPayFeeDto;
import com.java110.dto.payFee.ReturnPayFeeDto;
import com.java110.dto.user.UserDto;
import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.fee.IPayFeeDetailV1InnerServiceSMO;
import com.java110.intf.fee.IReturnPayFeeV1InnerServiceSMO;
import com.java110.intf.user.IUserV1InnerServiceSMO;
import com.java110.po.fee.PayFeeDetailPo;
import com.java110.po.returnPayFee.ReturnPayFeePo;
import com.java110.po.payFee.ReturnPayFeePo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
@@ -71,6 +73,9 @@
    @Autowired
    private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
    @Autowired
    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        //Assert.hasKeyAndValue(reqJson, "configId", "请求报文中未包含configId");
@@ -92,6 +97,14 @@
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        String userId = cmdDataFlowContext.getReqHeaders().get("user-id");
        UserDto userDto = new UserDto();
        userDto.setUserId(userId);
        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
        Assert.listOnlyOne(userDtos, "用户不存在");
        FeeDto feeDto = new FeeDto();
        feeDto.setCommunityId(reqJson.getString("communityId"));
        feeDto.setFeeId(reqJson.getString("feeId"));
@@ -100,16 +113,25 @@
        Assert.listOnlyOne(feeDtos, "不存在该费用");
        FeeDetailDto feeDetailDto = new FeeDetailDto();
        feeDetailDto.setDetailId(reqJson.getString("detailId"));
        List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto);
        Assert.listOnlyOne(feeDetailDtos, "未找到需要修改的活动 或多条数据");
        reqJson.put("configId", feeDtos.get(0).getConfigId());
        reqJson.put("feeTypeCd", feeDtos.get(0).getFeeTypeCd());
        ReturnPayFeePo returnPayFeePo = BeanConvertUtil.covertBean(reqJson, ReturnPayFeePo.class);
        returnPayFeePo.setReturnFeeId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
        returnPayFeePo.setState(ReturnPayFeeDto.STATE_WAIT);
        returnPayFeePo.setCycles((reqJson.getDouble("cycles") * -1)+"");
        returnPayFeePo.setReceivableAmount((reqJson.getDouble("receivableAmount") * -1)+"");
        returnPayFeePo.setReceivedAmount((reqJson.getDouble("receivedAmount") * -1)+"");
        returnPayFeePo.setPrimeRate("7"); //退费默认方式为转账
        returnPayFeePo.setCycles((reqJson.getDouble("cycles") * -1) + "");
        returnPayFeePo.setReceivableAmount((reqJson.getDouble("receivableAmount") * -1) + "");
        returnPayFeePo.setReceivedAmount((reqJson.getDouble("receivedAmount") * -1) + "");
        //todo 这里不知道为啥写死为 转账,物业交费是现金 退费为转账时 物业误解,所以暂时屏蔽,如果退款也需要 支付方式 建议退款页面补充
        //returnPayFeePo.setPrimeRate("7"); //退费默认方式为转账
        returnPayFeePo.setPrimeRate(feeDetailDtos.get(0).getPrimeRate());
        returnPayFeePo.setApplyPersonId(userId);
        returnPayFeePo.setApplyPersonName(userDtos.get(0).getName());
        int flag = returnPayFeeV1InnerServiceSMOImpl.saveReturnPayFee(returnPayFeePo);
        if (flag < 1) {
@@ -117,10 +139,7 @@
        }
        reqJson.put("state", "1000");
        FeeDetailDto feeDetailDto = new FeeDetailDto();
        feeDetailDto.setDetailId(reqJson.getString("detailId"));
        List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto);
        Assert.listOnlyOne(feeDetailDtos, "未找到需要修改的活动 或多条数据");
        JSONObject businessReturnPayFee = new JSONObject();
        businessReturnPayFee.putAll(BeanConvertUtil.beanCovertMap(feeDetailDtos.get(0)));