java110
2021-01-14 cc6fef254e09b5b69db8386ea77bd449fab9232f
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
@@ -15,6 +15,7 @@
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.ListenerExecuteException;
import com.java110.utils.util.Assert;
@@ -59,6 +60,14 @@
    @Autowired
    private IComputeFeeSMO computeFeeSMOImpl;
    //域
    public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
    //键
    public static final String TOTAL_FEE_PRICE = "TOTAL_FEE_PRICE";
    //键
    public static final String RECEIVED_AMOUNT_SWITCH = "RECEIVED_AMOUNT_SWITCH";
    @Override
    public ResponseEntity<String> query(FeeDto feeDto) {
@@ -74,8 +83,7 @@
        }
        List<FeeDto> tmpFeeDtos = new ArrayList<>();
        for (FeeDto tmpFeeDto : feeDtos) {
            computeFeeSMOImpl.computeOweFee(tmpFeeDto);//计算欠费金额
            computeFeeSMOImpl.computeEveryOweFee(tmpFeeDto);//计算欠费金额
            //如果金额为0 就排除
            if (tmpFeeDto.getFeePrice() > 0 && tmpFeeDto.getEndTime().getTime() <= DateUtil.getCurrentDate().getTime()) {
                tmpFeeDtos.add(tmpFeeDto);
@@ -145,9 +153,58 @@
        }
        double feePrice = computeFeeSMOImpl.getFeePrice(feeDto);
        feeDto.setFeePrice(feePrice);
        //应收款取值
        String val = MappingCache.getValue(DOMAIN_COMMON, TOTAL_FEE_PRICE);
        feeDto.setVal(val);
        String received_amount_switch = MappingCache.getValue(DOMAIN_COMMON, RECEIVED_AMOUNT_SWITCH);
        if (StringUtil.isEmpty(received_amount_switch)) {
            feeDto.setReceivedAmountSwitch("1");//默认启用实收款输入框
        } else {
            feeDto.setReceivedAmountSwitch(received_amount_switch);
        }
        return ResultVo.createResponseEntity(feeDto);
    }
    @Override
    public ResponseEntity<String> querys(FeeDto feeDto) {
        RoomDto roomDto = new RoomDto();
        roomDto.setCommunityId(feeDto.getCommunityId());
        roomDto.setRoomId(feeDto.getPayerObjId());
        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
        //查询费用信息arrearsEndTime
        FeeDto tmpFeeDto = null;
        List<RoomDto> tmpRoomDtos = new ArrayList<>();
        for (RoomDto tmpRoomDto : roomDtos) {
            tmpFeeDto = new FeeDto();
            tmpFeeDto.setArrearsEndTime(DateUtil.getCurrentDate());
            tmpFeeDto.setState(FeeDto.STATE_DOING);
            tmpFeeDto.setPayerObjId(tmpRoomDto.getRoomId());
            tmpFeeDto.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
            List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
            if (feeDtos == null || feeDtos.size() < 1) {
                feeDtos = new ArrayList<>();
                return ResultVo.createResponseEntity(feeDtos);
            }
            List<FeeDto> tmpFeeDtos = new ArrayList<>();
            for (FeeDto tempFeeDto : feeDtos) {
                computeFeeSMOImpl.computeEveryOweFee(tempFeeDto);//计算欠费金额
                //如果金额为0 就排除
                if (tempFeeDto.getFeePrice() > 0 && tempFeeDto.getEndTime().getTime() <= DateUtil.getCurrentDate().getTime()) {
                    tmpFeeDtos.add(tmpFeeDto);
                }
            }
            if (tmpFeeDtos.size() < 1) {
                continue;
            }
            tmpRoomDto.setFees(tmpFeeDtos);
            tmpRoomDtos.add(tmpRoomDto);
        }
        return ResultVo.createResponseEntity(tmpRoomDtos);
    }
    private boolean freshFeeDtoParam(FeeDto feeDto) {
        if (StringUtil.isEmpty(feeDto.getPayerObjId())) {