refactor: 优化importEntityBatch方法签名

- 修改返回值类型从void改为int,与项目其他批量方法保持一致
- 更新JavaDoc注释,描述行为而不是实现细节
- 在XML中添加importEntityBatch的完整实现
- 使用ON DUPLICATE KEY UPDATE实现存在则更新,不存在则插入的功能

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
wkc
2026-02-08 16:18:30 +08:00
parent 894e376c9e
commit 161b2c880f
2 changed files with 47 additions and 3 deletions

View File

@@ -25,12 +25,12 @@ public interface CcdiEnterpriseBaseInfoMapper extends BaseMapper<CcdiEnterpriseB
int insertBatch(List<CcdiEnterpriseBaseInfo> list);
/**
* 批量导入实体中介数据(使用ON DUPLICATE KEY UPDATE)
* 批量导入实体中介数据(存在则更新,不存在则插入)
*
* @param list 实体中介列表
* @return 无返回值
* @return 影响行数
*/
void importEntityBatch(@Param("list") List<CcdiEnterpriseBaseInfo> list);
int importEntityBatch(@Param("list") List<CcdiEnterpriseBaseInfo> list);
/**
* 批量更新实体中介

View File

@@ -26,6 +26,50 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</insert>
<!-- 批量导入实体中介数据(存在则更新,不存在则插入) -->
<insert id="importEntityBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
INSERT INTO ccdi_enterprise_base_info (
social_credit_code, enterprise_name, enterprise_type, enterprise_nature,
industry_class, industry_name, establish_date, register_address,
legal_representative, legal_cert_type, legal_cert_no,
shareholder1, shareholder2, shareholder3, shareholder4, shareholder5,
status, risk_level, ent_source, data_source,
created_by, updated_by, create_time, update_time
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.socialCreditCode}, #{item.enterpriseName}, #{item.enterpriseType}, #{item.enterpriseNature},
#{item.industryClass}, #{item.industryName}, #{item.establishDate}, #{item.registerAddress},
#{item.legalRepresentative}, #{item.legalCertType}, #{item.legalCertNo},
#{item.shareholder1}, #{item.shareholder2}, #{item.shareholder3}, #{item.shareholder4}, #{item.shareholder5},
#{item.status}, #{item.riskLevel}, #{item.entSource}, #{item.dataSource},
#{item.createdBy}, #{item.updatedBy}, #{item.createTime}, #{item.updateTime}
)
</foreach>
ON DUPLICATE KEY UPDATE
enterprise_name = VALUES(enterprise_name),
enterprise_type = VALUES(enterprise_type),
enterprise_nature = VALUES(enterprise_nature),
industry_class = VALUES(industry_class),
industry_name = VALUES(industry_name),
establish_date = VALUES(establish_date),
register_address = VALUES(register_address),
legal_representative = VALUES(legal_representative),
legal_cert_type = VALUES(legal_cert_type),
legal_cert_no = VALUES(legal_cert_no),
shareholder1 = VALUES(shareholder1),
shareholder2 = VALUES(shareholder2),
shareholder3 = VALUES(shareholder3),
shareholder4 = VALUES(shareholder4),
shareholder5 = VALUES(shareholder5),
status = VALUES(status),
risk_level = VALUES(risk_level),
ent_source = VALUES(ent_source),
data_source = VALUES(data_source),
updated_by = VALUES(updated_by),
update_time = VALUES(update_time)
</insert>
<!-- 批量更新实体中介 -->
<update id="updateBatch" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">