feat(import): 实现Excel导入时链接地址自动提取功能
- 修改CreditAdministrativeLicense相关类将"许可类型"字段描述改为"许可类别" - 在多个实体类(CreditBreachOfTrust、CreditCompetitor、CreditCourtAnnouncement等)中新增url字段用于存储链接地址 - 重构CreditCompany实体类调整字段顺序和位置 - 在各个控制器中实现Excel导入时链接地址的自动提取和填充逻辑 - 新增readKeyValueByHeaders方法支持从指定列读取键值对数据 - 新增readUrlByKey方法支持从超链接或独立列提取URL地址 - 优化Excel导入流程增加链接地址批量处理功能 - 修复EasyPOI无法读取单元格超链接地址的问题
This commit is contained in:
@@ -23,6 +23,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 竞争对手控制器
|
||||
@@ -150,6 +151,7 @@ public class CreditCompetitorController extends BaseController {
|
||||
List<CreditCompetitorImportParam> list = importResult.getData();
|
||||
int usedTitleRows = importResult.getTitleRows();
|
||||
int usedHeadRows = importResult.getHeadRows();
|
||||
int usedSheetIndex = importResult.getSheetIndex();
|
||||
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return fail("未读取到数据,请确认模板表头与示例格式一致", null);
|
||||
@@ -158,6 +160,7 @@ 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, "企业名称");
|
||||
|
||||
final int chunkSize = 500;
|
||||
final int mpBatchSize = 500;
|
||||
@@ -168,6 +171,12 @@ 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());
|
||||
if (!ImportHelper.isBlank(link)) {
|
||||
item.setUrl(link.trim());
|
||||
}
|
||||
}
|
||||
|
||||
if (item.getCompanyId() == null && companyId != null) {
|
||||
item.setCompanyId(companyId);
|
||||
|
||||
Reference in New Issue
Block a user