refactor(credit): 重构竞争对手实体的公司名称字段

- 将 CreditCompetitor 实体中的 companyName 字段重命名为 name
- 保留 companyName 字段作为关联查询的临时字段(exist=false)
- 更新控制器中导入逻辑,使用 name 字段进行数据处理
- 修改 XML 映射文件中的查询条件,使用 name 替代 companyName
- 更新导入参数和查询参数类中的字段映射
- 修复专利控制器中的导入验证逻辑
- 调整外部投资企业实体的字段描述文案
This commit is contained in:
2026-01-19 17:26:28 +08:00
parent 12fc77b35c
commit ba683bd578
8 changed files with 31 additions and 26 deletions

View File

@@ -160,7 +160,8 @@ public class CreditCompetitorController extends BaseController {
User loginUser = getLoginUser();
Integer currentUserId = loginUser != null ? loginUser.getUserId() : null;
Integer currentTenantId = loginUser != null ? loginUser.getTenantId() : null;
Map<String, String> urlByCompanyName = ExcelImportSupport.readUrlByKey(file, usedSheetIndex, usedTitleRows, usedHeadRows, "企业名称");
Map<String, String> urlByName = ExcelImportSupport.readUrlByKey(
file, usedSheetIndex, usedTitleRows, usedHeadRows, "企业名称");
final int chunkSize = 500;
final int mpBatchSize = 500;
@@ -171,8 +172,9 @@ public class CreditCompetitorController extends BaseController {
CreditCompetitorImportParam param = list.get(i);
try {
CreditCompetitor item = convertImportParamToEntity(param);
if (!ImportHelper.isBlank(item.getCompanyName())) {
String link = urlByCompanyName.get(item.getCompanyName().trim());
// name 才是持久化字段companyName 为关联查询的临时字段exist=false导入时不应使用。
if (!ImportHelper.isBlank(item.getName())) {
String link = urlByName.get(item.getName().trim());
if (!ImportHelper.isBlank(link)) {
item.setUrl(link.trim());
}
@@ -198,7 +200,7 @@ public class CreditCompetitorController extends BaseController {
}
int excelRowNumber = i + 1 + usedTitleRows + usedHeadRows;
if (ImportHelper.isBlank(item.getCompanyName())) {
if (ImportHelper.isBlank(item.getName())) {
errorMessages.add("" + excelRowNumber + "行:企业名称不能为空");
continue;
}
@@ -214,8 +216,8 @@ public class CreditCompetitorController extends BaseController {
chunkItems,
CreditCompetitor::getId,
CreditCompetitor::setId,
CreditCompetitor::getCompanyName,
CreditCompetitor::getCompanyName,
CreditCompetitor::getName,
CreditCompetitor::getName,
null,
mpBatchSize
),
@@ -223,7 +225,7 @@ public class CreditCompetitorController extends BaseController {
boolean saved = creditCompetitorService.save(rowItem);
if (!saved) {
CreditCompetitor existing = creditCompetitorService.lambdaQuery()
.eq(CreditCompetitor::getCompanyName, rowItem.getCompanyName())
.eq(CreditCompetitor::getName, rowItem.getName())
.one();
if (existing != null) {
rowItem.setId(existing.getId());
@@ -259,8 +261,8 @@ public class CreditCompetitorController extends BaseController {
chunkItems,
CreditCompetitor::getId,
CreditCompetitor::setId,
CreditCompetitor::getCompanyName,
CreditCompetitor::getCompanyName,
CreditCompetitor::getName,
CreditCompetitor::getName,
null,
mpBatchSize
),
@@ -268,7 +270,7 @@ public class CreditCompetitorController extends BaseController {
boolean saved = creditCompetitorService.save(rowItem);
if (!saved) {
CreditCompetitor existing = creditCompetitorService.lambdaQuery()
.eq(CreditCompetitor::getCompanyName, rowItem.getCompanyName())
.eq(CreditCompetitor::getName, rowItem.getName())
.one();
if (existing != null) {
rowItem.setId(existing.getId());
@@ -307,7 +309,7 @@ public class CreditCompetitorController extends BaseController {
List<CreditCompetitorImportParam> templateList = new ArrayList<>();
CreditCompetitorImportParam example = new CreditCompetitorImportParam();
example.setCompanyName("示例科技有限公司");
example.setName("示例科技有限公司");
example.setLegalRepresentative("张三");
example.setRegisteredCapital("5000");
example.setEstablishmentDate("2015-01-01");
@@ -330,7 +332,7 @@ public class CreditCompetitorController extends BaseController {
if (param == null) {
return true;
}
return ImportHelper.isBlank(param.getCompanyName())
return ImportHelper.isBlank(param.getName())
&& ImportHelper.isBlank(param.getLegalRepresentative())
&& ImportHelper.isBlank(param.getRegisteredCapital())
&& ImportHelper.isBlank(param.getEstablishmentDate());
@@ -339,7 +341,7 @@ public class CreditCompetitorController extends BaseController {
private CreditCompetitor convertImportParamToEntity(CreditCompetitorImportParam param) {
CreditCompetitor entity = new CreditCompetitor();
entity.setCompanyName(param.getCompanyName());
entity.setName(param.getName());
entity.setLegalRepresentative(param.getLegalRepresentative());
entity.setRegisteredCapital(param.getRegisteredCapital());
entity.setEstablishmentDate(param.getEstablishmentDate());

View File

@@ -339,9 +339,7 @@ public class CreditPatentController extends BaseController {
if (isImportHeaderRow(param)) {
return true;
}
return ImportHelper.isBlank(param.getRegisterNo())
&& ImportHelper.isBlank(param.getName())
&& ImportHelper.isBlank(param.getPatentApplicant());
return ImportHelper.isBlank(param.getPublicNo());
}
private boolean isImportHeaderRow(CreditPatentImportParam param) {

View File

@@ -31,7 +31,7 @@ public class CreditCompetitor implements Serializable {
private Integer id;
@Schema(description = "企业名称")
private String companyName;
private String name;
@Schema(description = "链接地址")
private String url;
@@ -55,7 +55,11 @@ public class CreditCompetitor implements Serializable {
private String province;
@Schema(description = "企业ID")
private Integer companyId;
private Integer companyId;
@Schema(description = "企业名称")
@TableField(exist = false)
private String companyName;
@Schema(description = "所属企业名称")
@TableField(exist = false)

View File

@@ -33,13 +33,13 @@ public class CreditExternal implements Serializable {
@Schema(description = "被投资企业名称")
private String name;
@Schema(description = "企业状态(如存续、注销等)")
@Schema(description = "状态")
private String statusTxt;
@Schema(description = "链接地址")
private String url;
@Schema(description = "法定代表人姓名")
@Schema(description = "法定代表人")
private String legalRepresentative;
@Schema(description = "注册资本(金额)")

View File

@@ -14,8 +14,8 @@
<if test="param.companyId != null">
AND a.company_id = #{param.companyId}
</if>
<if test="param.companyName != null">
AND a.company_name LIKE CONCAT('%', #{param.companyName}, '%')
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.legalRepresentative != null">
AND a.legal_representative LIKE CONCAT('%', #{param.legalRepresentative}, '%')
@@ -64,6 +64,7 @@
</if>
<if test="param.keywords != null">
AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%')
OR a.name = #{param.keywords}
OR b.name = #{param.keywords}
)
</if>

View File

@@ -13,7 +13,7 @@ public class CreditCompetitorImportParam implements Serializable {
private static final long serialVersionUID = 1L;
@Excel(name = "企业名称")
private String companyName;
private String name;
@Excel(name = "法定代表人")
private String legalRepresentative;

View File

@@ -28,7 +28,7 @@ public class CreditCompetitorParam extends BaseParam {
private Integer id;
@Schema(description = "企业名称")
private String companyName;
private String name;
@Schema(description = "法定代表人")
private String legalRepresentative;

View File

@@ -15,10 +15,10 @@ public class CreditExternalImportParam implements Serializable {
@Excel(name = "被投资企业名称")
private String name;
@Excel(name = "企业状态")
@Excel(name = "状态")
private String statusTxt;
@Excel(name = "法定代表人姓名")
@Excel(name = "法定代表人")
private String legalRepresentative;
@Excel(name = "注册资本")