chengf
2025-07-24 0763faf565ee071fa2083dfdb2777e66720d77cf
完善导入白单流水功能2025/07/24
1个文件已删除
8个文件已修改
2个文件已添加
404 ■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/PropertyWhiteListFlowDaoImplMapper.xml 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml 190 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/IImportPropertyWhiteListfFlowServiceSMO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/cmd/payment/PropertyWhiteListFlowCmd.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/smo/impl/IImportPropertyWhiteListfFlowServiceSMOImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/importData/adapt/ImportPropertyWhiteListfFlowQueueDataAdapt.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java
@@ -32,6 +32,35 @@
    private String chargeStart; // 收费起(格式YYYY-MM-DD)
    private String chargeEnd; // 收费止(格式YYYY-MM-DD)
    private String feeYear;
    private Integer row;
    private Integer page;
    public Integer getPage() {
        return page;
    }
    public void setPage(Integer page) {
        this.page = page;
    }
    public Integer getRow() {
        return row;
    }
    public void setRow(Integer row) {
        this.row = row;
    }
    public String getFeeYear() {
        return feeYear;
    }
    public void setFeeYear(String feeYear) {
        this.feeYear = feeYear;
    }
    // 无参构造函数
    public PropertyWhiteListFlowDto() {
    }
java110-db/src/main/resources/mapper/PropertyWhiteListFlowDaoImplMapper.xml
File was deleted
java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml
New file
@@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="propertyWhiteListFlowDaoImplMapper">
    <insert id="savePropertyWhiteListFlow" parameterType="Map">
        INSERT INTO property_white_list_flow
        <trim prefix="(" suffix=")" suffixOverrides=",">
            charge_time,
            <if test="invoiceReceiptNo != null">invoice_receipt_no,</if>
            <if test="roomId != null">room_id,</if>
            <if test="propertyAddress != null">property_address,</if>
            <if test="doorRoomNum != null">door_room_num,</if>
            <if test="secondaryFeeTypeCd != null">secondary_fee_type_cd,</if>
            <if test="chargeAmount != null">charge_amount,</if>
            <if test="charger != null">charger,</if>
            <if test="bankDepositDate != null">bank_deposit_date,</if>
            <if test="bankDepositor != null">bank_depositor,</if>
            <if test="splitBankDepositAmount != null">split_bank_deposit_amount,</if>
            <if test="bankDepositAmount != null">bank_deposit_amount,</if>
            <if test="checkAmount != null">check_amount,</if>
            <if test="whiteListArchiveNo != null">white_list_archive_no,</if>
            <if test="sheetCount != null">sheet_count,</if>
            <if test="financialReceiver != null">financial_receiver,</if>
            <if test="inputTime != null">input_time,</if>
            <if test="inputPerson != null">input_person,</if>
            <if test="orderNo != null">order_no,</if>
            <if test="licensePlate != null">license_plate,</if>
            <if test="category22 != null">category_22,</if>
            <if test="chargeStart != null">charge_start,</if>
            <if test="chargeEnd != null">charge_end</if>
        </trim> VALUES
        <trim prefix="(" suffix=")" suffixOverrides=",">
            #{chargeTime},
            <if test="invoiceReceiptNo != null">#{invoiceReceiptNo},</if>
            <if test="roomId != null">#{roomId},</if>
            <if test="propertyAddress != null">#{propertyAddress},</if>
            <if test="doorRoomNum != null">#{doorRoomNum},</if>
            <if test="secondaryFeeTypeCd != null">#{secondaryFeeTypeCd},</if>
            <if test="chargeAmount != null">#{chargeAmount},</if>
            <if test="charger != null">#{charger},</if>
            <if test="bankDepositDate != null">#{bankDepositDate},</if>
            <if test="bankDepositor != null">#{bankDepositor},</if>
            <if test="splitBankDepositAmount != null">#{splitBankDepositAmount},</if>
            <if test="bankDepositAmount != null">#{bankDepositAmount},</if>
            <if test="checkAmount != null">#{checkAmount},</if>
            <if test="whiteListArchiveNo != null">#{whiteListArchiveNo},</if>
            <if test="sheetCount != null">#{sheetCount},</if>
            <if test="financialReceiver != null">#{financialReceiver},</if>
            <if test="inputTime != null">#{inputTime},</if>
            <if test="inputPerson != null">#{inputPerson},</if>
            <if test="orderNo != null">#{orderNo},</if>
            <if test="licensePlate != null">#{licensePlate},</if>
            <if test="category22 != null">#{category22},</if>
            <if test="chargeStart != null">#{chargeStart},</if>
            <if test="chargeEnd != null">#{chargeEnd}</if>
        </trim>
    </insert>
    <select id="queryPropertyWhiteListFlow" parameterType="Map" resultType="Map">
        SELECT
        id,
        charge_time AS chargeTime,
        invoice_receipt_no AS invoiceReceiptNo,
        room_id AS roomId,
        property_address AS propertyAddress,
        door_room_num AS doorRoomNum,
        secondary_fee_type_cd AS secondaryFeeTypeCd,
        charge_amount AS chargeAmount,
        charger,
        bank_deposit_date AS bankDepositDate,
        bank_depositor AS bankDepositor,
        split_bank_deposit_amount AS splitBankDepositAmount,
        bank_deposit_amount AS bankDepositAmount,
        check_amount AS checkAmount,
        white_list_archive_no AS whiteListArchiveNo,
        sheet_count AS sheetCount,
        financial_receiver AS financialReceiver,
        input_time AS inputTime,
        input_person AS inputPerson,
        order_no AS orderNo,
        license_plate AS licensePlate,
        category_22 AS category22,
        charge_start AS chargeStart,
        charge_end AS chargeEnd
        FROM
        property_white_list_flow
        <where>
            <!-- 收费日期范围查询 -->
            <if test="startChargeTime != null">
                AND charge_time >= #{startChargeTime}
            </if>
            <if test="endChargeTime != null">
                AND charge_time &lt;= #{endChargeTime}
            </if>
            <!-- 房号查询 -->
            <if test="roomId != null and roomId != ''">
                AND room_id = #{roomId}
            </if>
            <!-- 收费内容查询 -->
            <if test="secondaryFeeTypeCd != null and secondaryFeeTypeCd != ''">
                AND secondary_fee_type_cd = #{secondaryFeeTypeCd}
            </if>
            <!-- 收费金额范围查询 -->
            <if test="minChargeAmount != null">
                AND charge_amount >= #{minChargeAmount}
            </if>
            <if test="maxChargeAmount != null">
                AND charge_amount &lt;= #{maxChargeAmount}
            </if>
            <!-- 单号查询 -->
            <if test="orderNo != null and orderNo != ''">
                AND order_no = #{orderNo}
            </if>
            <!-- 车牌号查询(适用于停车费等场景) -->
            <if test="licensePlate != null and licensePlate != ''">
                AND license_plate = #{licensePlate}
            </if>
            <if test="category22 != null and category22 != ''">
                AND category_22 = #{category22}
            </if>
            <if test="feeYear != null and feeYear != ''">
                and YEAR(charge_time) = #{feeYear}
            </if>
        </where>
        <!-- 排序 -->
        <if test="orderBy != null and orderBy != ''">
            ORDER BY ${orderBy}
        </if>
        <if test="orderBy == null">
            ORDER BY charge_time DESC
        </if>
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="countPropertyWhiteListFlow" parameterType="Map" resultType="Map">
        SELECT
        count(1)
        FROM
        property_white_list_flow
        <where>
            <!-- 收费日期范围查询 -->
            <if test="startChargeTime != null">
                AND charge_time >= #{startChargeTime}
            </if>
            <if test="endChargeTime != null">
                AND charge_time &lt;= #{endChargeTime}
            </if>
            <!-- 房号查询 -->
            <if test="roomId != null and roomId != ''">
                AND room_id = #{roomId}
            </if>
            <!-- 收费内容查询 -->
            <if test="secondaryFeeTypeCd != null and secondaryFeeTypeCd != ''">
                AND secondary_fee_type_cd = #{secondaryFeeTypeCd}
            </if>
            <!-- 收费金额范围查询 -->
            <if test="minChargeAmount != null">
                AND charge_amount >= #{minChargeAmount}
            </if>
            <if test="maxChargeAmount != null">
                AND charge_amount &lt;= #{maxChargeAmount}
            </if>
            <!-- 单号查询 -->
            <if test="orderNo != null and orderNo != ''">
                AND order_no = #{orderNo}
            </if>
            <!-- 车牌号查询(适用于停车费等场景) -->
            <if test="licensePlate != null and licensePlate != ''">
                AND license_plate = #{licensePlate}
            </if>
            <if test="category22 != null and category22 != ''">
                AND category_22 = #{category22}
            </if>
            <if test="feeYear != null and feeYear != ''">
                and YEAR(charge_time) = #{feeYear}
            </if>
        </where>
    </select>
</mapper>
java110-interface/src/main/java/com/java110/intf/IImportPropertyWhiteListfFlowServiceSMO.java
@@ -20,6 +20,9 @@
 **/
@FeignClient(name = "community-service", configuration = {FeignConfiguration.class})
public interface IImportPropertyWhiteListfFlowServiceSMO {
    int savePropertyWhiteListFlow(@RequestBody List<PropertyWhiteListFlowDto> importOwnerRoomDtos);
    int savePropertyWhiteListFlow(@RequestBody PropertyWhiteListFlowDto importOwnerRoomDtos);
    List<PropertyWhiteListFlowDto> queryPropertyWhiteListFlow(@RequestBody PropertyWhiteListFlowDto importOwnerRoomDtos);
    int countPropertyWhiteListFlow(PropertyWhiteListFlowDto white);
}
service-acct/src/main/java/com/java110/acct/cmd/payment/PropertyWhiteListFlowCmd.java
New file
@@ -0,0 +1,53 @@
package com.java110.acct.cmd.payment;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.PropertyWhiteListFlowDto;
import com.java110.dto.payment.PaymentKeyDto;
import com.java110.intf.IImportPropertyWhiteListfFlowServiceSMO;
import com.java110.intf.acct.IPaymentKeyV1InnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.text.ParseException;
import java.util.List;
@Java110Cmd(serviceCode = "payment.propertyWhiteListFlowCmd")
public class PropertyWhiteListFlowCmd extends Cmd{
    @Autowired
    private IImportPropertyWhiteListfFlowServiceSMO importPropertyWhiteListfFlowServiceSMO;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException, ParseException {
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException, ParseException {
        if(!reqJson.containsKey("row")){
            reqJson.put("row",1);
        }
        PropertyWhiteListFlowDto white = BeanConvertUtil.covertBean(reqJson, PropertyWhiteListFlowDto.class);
        int count = importPropertyWhiteListfFlowServiceSMO.countPropertyWhiteListFlow(white);
        if(count == 0){
            ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, null);
            ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
            cmdDataFlowContext.setResponseEntity(responseEntity);
        }
        else{
            List<PropertyWhiteListFlowDto> dtoList = importPropertyWhiteListfFlowServiceSMO.queryPropertyWhiteListFlow(white);
            ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, dtoList);
            ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
            cmdDataFlowContext.setResponseEntity(responseEntity);
        }
    }
}
service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java
@@ -59,7 +59,12 @@
            Assert.hasValue(os[0], (osIndex + 1) + "行收费日期不能为空");
            white = new PropertyWhiteListFlowDto();
            white.setChargeTime(os[0].toString());
            String chargeTime = excelDoubleToDate(os[0].toString());
            String changeStart = os[21] == null ? null : excelDoubleToDate(os[21].toString());
            String changeEnd = os[22] == null ? null : excelDoubleToDate(os[22].toString());
            String bankDepositDate =  os[8] == null ? null : excelDoubleToDate(os[8].toString());
            String inputTime = os[16] == null ? null : excelDoubleToDate(os[16].toString());
            white.setChargeTime(chargeTime);
            white.setInvoiceReceiptNo(os[1] == null ? null : os[1].toString());
            white.setRoomId(os[2] == null ? null : os[2].toString());
            white.setPropertyAddress(os[3] == null ? null : os[3].toString());
@@ -67,16 +72,21 @@
            white.setSecondaryFeeTypeCd(os[5] == null ? null : os[5].toString());
            white.setChargeAmount(os[6] == null ? null : os[6].toString());
            white.setCharger(os[7] == null ? null : os[7].toString());
            white.setBankDepositDate(os[8] == null ? null : os[8].toString());
            white.setSheetCount(os[9] == null ? null : os[9].toString());
            white.setFinancialReceiver(os[10] == null ? null : os[10].toString());
            white.setInputTime(os[11] == null ? null : os[11].toString());
            white.setInputPerson(os[12] == null ? null : os[12].toString());
            white.setOrderNo(os[13] == null ? null : os[13].toString());
            white.setLicensePlate(os[14] == null ? null : os[14].toString());
            white.setCategory22(os[15] == null ? null : os[15].toString());
            white.setChargeStart(os[16] == null ? null : os[16].toString());
            white.setChargeEnd(os[17] == null ? null : os[17].toString());
            white.setBankDepositDate(bankDepositDate);
            white.setBankDepositor(os[9] == null ? null : os[9].toString());
            white.setSplitBankDepositAmount(os[10] == null ? null : os[10].toString());
            white.setBankDepositAmount(os[11] == null ? null : os[11].toString());
            white.setCheckAmount(os[12] == null ? null : os[12].toString());
            white.setWhiteListArchiveNo(os[13] == null ? null : os[13].toString());
            white.setSheetCount(os[14] == null ? null : os[14].toString());
            white.setFinancialReceiver(os[15] == null ? null : os[15].toString());
            white.setInputTime(inputTime);
            white.setInputPerson(os[17] == null ? null : os[17].toString());
            white.setOrderNo(os[18] == null ? null : os[18].toString());
            white.setLicensePlate(os[19] == null ? null : os[19].toString());
            white.setCategory22(os[20] == null ? null : os[20].toString());
            white.setChargeStart(changeStart);
            white.setChargeEnd(changeEnd);
            whiteLists.add(white);
        }
    }
service-community/src/main/java/com/java110/community/smo/impl/IImportPropertyWhiteListfFlowServiceSMOImpl.java
@@ -15,7 +15,9 @@
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
 * 小区服务内部类
@@ -28,20 +30,23 @@
    protected SqlSessionTemplate sqlSessionTemplate;
    @Override
    public int savePropertyWhiteListFlow(@RequestBody List<PropertyWhiteListFlowDto> importOwnerRoomDtos) {
    public int savePropertyWhiteListFlow(@RequestBody PropertyWhiteListFlowDto importOwnerRoomDto) {
        return sqlSessionTemplate.insert("propertyWhiteListFlowDaoImplMapper.savePropertyWhiteListFlow",BeanConvertUtil.beanCovertMap(importOwnerRoomDto));
    }
        int successCount = 0;
        if (importOwnerRoomDtos == null || importOwnerRoomDtos.size() < 1) {
    @Override
    public List<PropertyWhiteListFlowDto> queryPropertyWhiteListFlow(PropertyWhiteListFlowDto importOwnerRoomDtos) {
        importOwnerRoomDtos.setPage((importOwnerRoomDtos.getPage()-1)* importOwnerRoomDtos.getRow());
        return sqlSessionTemplate.selectList("propertyWhiteListFlowDaoImplMapper.queryPropertyWhiteListFlow",BeanConvertUtil.beanCovertMap(importOwnerRoomDtos));
    }
    public int countPropertyWhiteListFlow(PropertyWhiteListFlowDto importOwnerRoomDtos) {
        List<Map> businessPaymentPoolConfigInfos = sqlSessionTemplate.selectList("propertyWhiteListFlowDaoImplMapper.countPropertyWhiteListFlow", BeanConvertUtil.beanCovertMap(importOwnerRoomDtos));
        if (businessPaymentPoolConfigInfos.size() < 1) {
            return 0;
        }
        // 1.0 查看 楼栋是否存在
        for (PropertyWhiteListFlowDto importOwnerRoomDto : importOwnerRoomDtos) {
            successCount += sqlSessionTemplate.insert("propertyWhiteListFlowDaoImplMapper.savePropertyWhiteListFlow",BeanConvertUtil.beanCovertMap(importOwnerRoomDto));
        }
        return successCount;
        return Integer.parseInt(businessPaymentPoolConfigInfos.get(0).get("count(1)").toString());
    }
}
service-community/src/main/resources/application.yml
@@ -1,3 +1,3 @@
spring:
  profiles:
    active: dev
    active: devlocal
service-job/src/main/java/com/java110/job/importData/adapt/ImportPropertyWhiteListfFlowQueueDataAdapt.java
@@ -1,8 +1,10 @@
package com.java110.job.importData.adapt;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.PropertyWhiteListFlowDto;
import com.java110.dto.importData.ImportOwnerRoomDto;
import com.java110.dto.log.AssetImportLogDetailDto;
import com.java110.intf.IImportPropertyWhiteListfFlowServiceSMO;
import com.java110.intf.community.IImportOwnerRoomInnerServiceSMO;
import com.java110.job.importData.DefaultImportData;
import com.java110.job.importData.IImportDataAdapt;
@@ -22,7 +24,7 @@
    @Autowired
    private IImportOwnerRoomInnerServiceSMO importOwnerRoomInnerServiceSMOImpl;
    private IImportPropertyWhiteListfFlowServiceSMO importPropertyWhiteListfFlowServiceSMOImpl;
    @Override
@@ -53,8 +55,8 @@
     */
    private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto) {
        JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent());
        ImportOwnerRoomDto importOwnerRoomDto = BeanConvertUtil.covertBean(data, ImportOwnerRoomDto.class);
        int flag = importOwnerRoomInnerServiceSMOImpl.saveOwnerRoom(importOwnerRoomDto);
        PropertyWhiteListFlowDto whites = BeanConvertUtil.covertBean(data, PropertyWhiteListFlowDto.class);
        int flag = importPropertyWhiteListfFlowServiceSMOImpl.savePropertyWhiteListFlow(whites);
        if (flag < 1) {
            throw new IllegalArgumentException("导入失败");
        }
service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java
@@ -208,6 +208,9 @@
        }
        payFeePo.setUserId(importRoomFee.getUserId());
        payFeePo.setIncomeObjId(importRoomFee.getStoreId());
        FeeConfigDto payFeePo1 = new FeeConfigDto();
        payFeePo1.setFeeTypeCd(importRoomFee.getFeeTypeCd());
        List<FeeConfigDto> feeConfigDtos1 = payFeeConfigV1InnerServiceSMOImpl.queryPayFeeConfigs(payFeePo1);
        payFeePo.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd());
        payFeePo.setFeeFlag(feeConfigDtos.get(0).getFeeFlag());
        payFeePo.setAmount(importRoomFee.getAmount());
springboot/src/main/resources/application.yml
@@ -1,3 +1,3 @@
spring:
  profiles:
    active:  debug
    active:  dev