java110
2023-03-29 0b04f664887c73e90bf684a4e69c0fdbfe26349d
service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/ListReturnPayFeesCmd.java
@@ -18,25 +18,28 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
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.dto.feeAccountDetail.FeeAccountDetailDto;
import com.java110.dto.payFeeDetailDiscount.PayFeeDetailDiscountDto;
import com.java110.intf.fee.IFeeAccountDetailServiceSMO;
import com.java110.intf.fee.IPayFeeDetailDiscountInnerServiceSMO;
import com.java110.intf.fee.IReturnPayFeeInnerServiceSMO;
import com.java110.intf.fee.IReturnPayFeeV1InnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import com.java110.vo.api.returnPayFee.ApiReturnPayFeeDataVo;
import com.java110.vo.api.returnPayFee.ApiReturnPayFeeVo;
import org.springframework.beans.factory.annotation.Autowired;
import com.java110.dto.returnPayFee.ReturnPayFeeDto;
import java.util.List;
import java.util.ArrayList;
import org.springframework.http.ResponseEntity;
import org.springframework.http.HttpStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:查询
@@ -49,17 +52,23 @@
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "returnPayFee.listReturnPayFees")
public class ListReturnPayFeesCmd extends AbstractServiceCmdListener {
public class ListReturnPayFeesCmd extends Cmd {
  private static Logger logger = LoggerFactory.getLogger(ListReturnPayFeesCmd.class);
    private static Logger logger = LoggerFactory.getLogger(ListReturnPayFeesCmd.class);
    @Autowired
    private IReturnPayFeeInnerServiceSMO returnPayFeeInnerServiceSMOImpl;
    @Autowired
    private IFeeAccountDetailServiceSMO feeAccountDetailServiceSMOImpl;
    @Autowired
    private IPayFeeDetailDiscountInnerServiceSMO payFeeDetailDiscountInnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        super.validatePageInfo(reqJson);
        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
    }
    @Override
@@ -69,37 +78,28 @@
        int count = returnPayFeeInnerServiceSMOImpl.queryReturnPayFeesCount(returnPayFeeDto);
        List<ReturnPayFeeDto> returnPayFeeDtos = null;
        List<ReturnPayFeeDto> returnPayFeeDtos = new ArrayList<>();
        List<ApiReturnPayFeeDataVo> returnPayFees;
        if (count > 0) {
            //注意这里处理 记得测试退费逻辑
            returnPayFeeDtos = returnPayFeeInnerServiceSMOImpl.queryReturnPayFees(returnPayFeeDto);
            //List<ReturnPayFeeDto> returnPayFeeDtoList = new ArrayList<>();
//            for (ReturnPayFeeDto returnPayFee : returnPayFeeDtos) {
//                //获取付款方标识
//                String payerObjType = returnPayFee.getPayerObjType();
//                if (!StringUtil.isEmpty(payerObjType) && payerObjType.equals("3333")) { //房屋
//                    returnPayFeeDto.setReturnFeeId(returnPayFee.getReturnFeeId());
//                    List<ReturnPayFeeDto> returnPayFeeList = returnPayFeeInnerServiceSMOImpl.queryRoomReturnPayFees(returnPayFeeDto);
//                    if (returnPayFeeList == null || returnPayFeeList.size() < 1) {
//                        continue;
//                    }
//                    //returnPayFeeDtoList.add(returnPayFeeList.get(0));
//                    BeanConvertUtil.covertBean(returnPayFeeList.get(0), returnPayFee);
//                } else if (!StringUtil.isEmpty(payerObjType) && payerObjType.equals("6666")) { //车辆
//                    returnPayFeeDto.setReturnFeeId(returnPayFee.getReturnFeeId());
//                    List<ReturnPayFeeDto> returnPayFeeList = returnPayFeeInnerServiceSMOImpl.queryCarReturnPayFees(returnPayFeeDto);
//                    if (returnPayFeeList == null || returnPayFeeList.size() < 1) {
//                        continue;
//                    }
//                    BeanConvertUtil.covertBean(returnPayFeeList.get(0), returnPayFee);
//                    //returnPayFeeDtoList.add(returnPayFeeList.get(0));
//                } else {
//                    continue;
//                }
//            }
            List<ReturnPayFeeDto> returnPayFeeList = returnPayFeeInnerServiceSMOImpl.queryReturnPayFees(returnPayFeeDto);
            for (ReturnPayFeeDto returnPayFee : returnPayFeeList) {
                FeeAccountDetailDto feeAccountDetailDto = new FeeAccountDetailDto();
                feeAccountDetailDto.setDetailId(returnPayFee.getDetailId());
                List<FeeAccountDetailDto> feeAccountDetailDtos = feeAccountDetailServiceSMOImpl.queryFeeAccountDetails(feeAccountDetailDto);
                if (feeAccountDetailDtos != null && feeAccountDetailDtos.size() > 0) {
                    returnPayFee.setFeeAccountDetailDtoList(feeAccountDetailDtos);
                }
                PayFeeDetailDiscountDto payFeeDetailDiscountDto = new PayFeeDetailDiscountDto();
                payFeeDetailDiscountDto.setDetailId(returnPayFee.getDetailId());
                List<PayFeeDetailDiscountDto> payFeeDetailDiscountDtos = payFeeDetailDiscountInnerServiceSMOImpl.queryPayFeeDetailDiscounts(payFeeDetailDiscountDto);
                if (payFeeDetailDiscountDtos != null && payFeeDetailDiscountDtos.size() > 0) {
                    returnPayFee.setPayFeeDetailDiscountDtoList(payFeeDetailDiscountDtos);
                }
                returnPayFeeDtos.add(returnPayFee);
            }
            returnPayFees = BeanConvertUtil.covertBeanList(returnPayFeeDtos, ApiReturnPayFeeDataVo.class);
        } else {
            returnPayFees = new ArrayList<>();