wuxw
2022-07-19 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54
service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
@@ -13,7 +13,12 @@
import com.java110.fee.bmo.IImportRoomFee;
import com.java110.fee.listener.fee.UpdateFeeInfoListener;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.fee.*;
import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO;
import com.java110.intf.fee.IImportFeeInnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.po.fee.FeeAttrPo;
@@ -27,7 +32,7 @@
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@@ -95,6 +100,20 @@
        String storeId = reqJson.getString("storeId");
        String userId = reqJson.getString("userId");
        String feeName = reqJson.getString("feeName");
        String batchId = reqJson.getString("batchId");
        JSONArray importRoomFees = reqJson.getJSONArray("importRoomFees");
        List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class);
        if (tmpImportRoomFees == null || tmpImportRoomFees.size() < 1) {
            throw new IllegalArgumentException("未包含导入费用");
        }
        if (StringUtil.isEmpty(feeName)) {
            feeName = tmpImportRoomFees.get(0).getFeeName();
        }
        if (StringUtil.isEmpty(feeName)) {
            feeName = IMPORT_FEE_NAME;
@@ -103,6 +122,7 @@
        FeeConfigDto feeConfigDto = new FeeConfigDto();
        feeConfigDto.setFeeTypeCd(feeTypeCd);
        feeConfigDto.setFeeName(feeName);
        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
        feeConfigDto.setCommunityId(communityId);
        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
        // 根据费用大类 判断是否有存在 费用导入收入项
@@ -113,11 +133,6 @@
        } else {
            feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId());
        }
        JSONArray importRoomFees = reqJson.getJSONArray("importRoomFees");
        List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class);
        for (ImportRoomFee tmpImportRoomFee : tmpImportRoomFees) {
            tmpImportRoomFee.setCommunityId(communityId);
@@ -136,6 +151,9 @@
        ownerDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
        for (ImportRoomFee importRoomFee : tmpImportRoomFees) {
            if(StringUtil.isEmpty(importRoomFee.getRoomId())){
                throw new IllegalArgumentException("房屋不存在,"+importRoomFee.getFloorNum()+"-"+importRoomFee.getUnitNum()+"-"+importRoomFee.getRoomNum());
            }
            for (OwnerDto tmpOwnerDto : ownerDtos) {
                if (importRoomFee.getRoomId().equals(tmpOwnerDto.getRoomId())) {
                    importRoomFee.setOwnerId(tmpOwnerDto.getOwnerId());
@@ -172,6 +190,7 @@
            payFeePo.setFeeTypeCd(feeTypeCd);
            payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
            payFeePo.setAmount(importRoomFee.getAmount());
            payFeePo.setBatchId(batchId);
            //payFeePo.setStartTime(importRoomFee.getStartTime());
            payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
@@ -293,6 +312,7 @@
        String storeId = reqJson.getString("storeId");
        String userId = reqJson.getString("userId");
        String feeName = reqJson.getString("feeName");
        String batchId = reqJson.getString("batchId");
        if (StringUtil.isEmpty(feeName)) {
            feeName = IMPORT_FEE_NAME;
@@ -300,6 +320,7 @@
        FeeConfigDto feeConfigDto = new FeeConfigDto();
        feeConfigDto.setFeeTypeCd(feeTypeCd);
        feeConfigDto.setFeeName(feeName);
        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
        feeConfigDto.setCommunityId(communityId);
        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
        // 根据费用大类 判断是否有存在 费用导入收入项
@@ -350,6 +371,7 @@
            payFeePo.setFeeTypeCd(feeTypeCd);
            payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
            payFeePo.setAmount(importCarFee.getAmount());
            payFeePo.setBatchId(batchId);
            //payFeePo.setStartTime(importRoomFee.getStartTime());
            payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
@@ -469,6 +491,7 @@
        String storeId = reqJson.getString("storeId");
        String userId = reqJson.getString("userId");
        String feeName = reqJson.getString("feeName");
        String batchId = reqJson.getString("batchId");
        if (StringUtil.isEmpty(feeName)) {
            feeName = IMPORT_FEE_NAME;
@@ -476,6 +499,7 @@
        FeeConfigDto feeConfigDto = new FeeConfigDto();
        feeConfigDto.setFeeTypeCd(feeTypeCd);
        feeConfigDto.setFeeName(feeName);
        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
        feeConfigDto.setCommunityId(communityId);
        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
        // 根据费用大类 判断是否有存在 费用导入收入项
@@ -524,6 +548,7 @@
            payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
            payFeePo.setAmount(importCarFee.getAmount());
            payFeePo.setStartTime(importCarFee.getStartTime());
            payFeePo.setBatchId(batchId);
            //payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            payFeePos.add(payFeePo);
@@ -632,10 +657,10 @@
        PayFeeConfigPo payFeeConfigPo = BeanConvertUtil.covertBean(feeConfigDto, PayFeeConfigPo.class);
        payFeeConfigPo.setAdditionalAmount("0");
        payFeeConfigPo.setBillType(FeeConfigDto.BILL_TYPE_MONTH);
        payFeeConfigPo.setComputingFormula("4004");
        payFeeConfigPo.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
        payFeeConfigPo.setEndTime(DateUtil.getLastTime());
        payFeeConfigPo.setFeeFlag("2006012");
        payFeeConfigPo.setIsDefault("T");
        payFeeConfigPo.setIsDefault("F");
        payFeeConfigPo.setPaymentCd("2100");
        payFeeConfigPo.setFeeName(feeConfigDto.getFeeName());
        payFeeConfigPo.setSquarePrice("0");