|
@@ -37,6 +37,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
+import javax.xml.soap.Text;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -501,7 +502,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
if (pawDTO.getReferenceType().equals("private")) {
|
|
if (pawDTO.getReferenceType().equals("private")) {
|
|
|
|
|
|
- //同步独立表单库数据
|
|
|
|
|
|
+ //新增独立表单库数据
|
|
this.insertDLTabAsync(pawDTO);
|
|
this.insertDLTabAsync(pawDTO);
|
|
|
|
|
|
//获取私有引用项目的wbs树的所有节点、元素表、独立表(type=10)
|
|
//获取私有引用项目的wbs树的所有节点、元素表、独立表(type=10)
|
|
@@ -604,8 +605,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
List<WbsTreePrivate> insertData2 = new ArrayList<>();
|
|
List<WbsTreePrivate> insertData2 = new ArrayList<>();
|
|
//私有-电签匹配数据、默认信息数据
|
|
//私有-电签匹配数据、默认信息数据
|
|
List<TextdictInfo> insertData3 = new ArrayList<>();
|
|
List<TextdictInfo> insertData3 = new ArrayList<>();
|
|
- //电签缓存数据
|
|
|
|
- List<TextdictInfo> textDictInfosAll = null;
|
|
|
|
|
|
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
List<WbsTree> addListData = new ArrayList<>();
|
|
List<WbsTree> addListData = new ArrayList<>();
|
|
@@ -651,20 +650,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
.eq(WbsTreePrivate::getStatus, 1)
|
|
.eq(WbsTreePrivate::getStatus, 1)
|
|
);
|
|
);
|
|
|
|
|
|
- //查询所有电签位置配置信息
|
|
|
|
- //List<TextdictInfo> textDictInfosAll = textdictInfoMapper.selectList(Wrappers.<TextdictInfo>query().lambda());
|
|
|
|
- textDictInfosAll = bladeRedis.get("textDictInfos:");
|
|
|
|
- if (ObjectUtils.isEmpty(textDictInfosAll)) {
|
|
|
|
- //获取所有电签配置信息
|
|
|
|
- textDictInfosAll = textdictInfoMapper.selectList(Wrappers.<TextdictInfo>query().lambda());
|
|
|
|
-
|
|
|
|
- if (textDictInfosAll.size() > 0) {
|
|
|
|
- //存入Redis
|
|
|
|
- bladeRedis.set("textDictInfos:", textDictInfosAll);
|
|
|
|
- //过期时间
|
|
|
|
- bladeRedis.expire("textDictInfos:", 3600);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ //查询对应电签位置配置信息的pKeyIds
|
|
|
|
+ List<Long> pIdsDL = wbsTreePrivates.stream().filter(f -> f.getType().equals(10) || f.getType().equals(2)).collect(Collectors.toList()).stream().map(WbsTreePrivate::getPKeyId).collect(Collectors.toList());
|
|
|
|
+ String pKeyIds = StringUtils.join(pIdsDL, ",");
|
|
|
|
+ String sql = "select `id`,`name`,`type`,tab_id,col_key,sig_role_id,is_deleted,sig_role_name,col_name,pyzbx,pyzby from m_textdict_info where tab_id in (" + pKeyIds + ") and is_deleted = 0";
|
|
|
|
+ List<TextdictInfo> textDictInfosAll = jdbcTemplate.query(sql, new BeanPropertyRowMapper<TextdictInfo>(TextdictInfo.class));
|
|
|
|
|
|
for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
|
|
for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
|
|
if (wbsTreePrivate.getType() == 1 || wbsTreePrivate.getType() == 2) {
|
|
if (wbsTreePrivate.getType() == 1 || wbsTreePrivate.getType() == 2) {
|
|
@@ -701,7 +691,10 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- addListData.forEach(tree -> {
|
|
|
|
|
|
+ //只同步独立库中有关联过清表的元素表type=10,以及原始方式的元素表type=2,节点信息type=1
|
|
|
|
+ List<WbsTreePrivate> collect = addListData.stream().filter(f -> f.getType().equals(1) || f.getType().equals(2) || (f.getHtmlUrl() != null && f.getType().equals(10))).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ collect.forEach(tree -> {
|
|
WbsTreePrivate wbsTreePrivate = BeanUtil.copyProperties(tree, WbsTreePrivate.class);
|
|
WbsTreePrivate wbsTreePrivate = BeanUtil.copyProperties(tree, WbsTreePrivate.class);
|
|
if (wbsTreePrivate != null) {
|
|
if (wbsTreePrivate != null) {
|
|
wbsTreePrivate.setPKeyId(SnowFlakeUtil.getId());
|
|
wbsTreePrivate.setPKeyId(SnowFlakeUtil.getId());
|
|
@@ -709,10 +702,12 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
wbsTreePrivate.setFullName(wbsTreePrivate.getNodeName());
|
|
wbsTreePrivate.setFullName(wbsTreePrivate.getNodeName());
|
|
wbsTreePrivate.setInitTableId(ObjectUtil.isNotEmpty(tree.getInitTableId()) ? String.valueOf(tree.getInitTableId()) : null);
|
|
wbsTreePrivate.setInitTableId(ObjectUtil.isNotEmpty(tree.getInitTableId()) ? String.valueOf(tree.getInitTableId()) : null);
|
|
|
|
|
|
|
|
+ wbsTreePrivate.setHtmlUrl(ObjectUtil.isNotEmpty(tree.getHtmlUrl()) ? tree.getHtmlUrl() : null);
|
|
|
|
+
|
|
if (tree.getType() == 10) { //独立表单数据
|
|
if (tree.getType() == 10) { //独立表单数据
|
|
wbsTreePrivate.setWbsId(null);
|
|
wbsTreePrivate.setWbsId(null);
|
|
wbsTreePrivate.setWbsType(null);
|
|
wbsTreePrivate.setWbsType(null);
|
|
- } else {
|
|
|
|
|
|
+ } else { //非独立库形式
|
|
wbsTreePrivate.setWbsId(pawDTO.getPrimaryKeyId());
|
|
wbsTreePrivate.setWbsId(pawDTO.getPrimaryKeyId());
|
|
wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
|
|
wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
|
|
}
|
|
}
|
|
@@ -724,10 +719,12 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
textDictInfoData.forEach((k, v) -> {
|
|
textDictInfoData.forEach((k, v) -> {
|
|
if (tree.getPKeyId().equals(k)) {
|
|
if (tree.getPKeyId().equals(k)) {
|
|
for (TextdictInfo textdictInfo : v) {
|
|
for (TextdictInfo textdictInfo : v) {
|
|
- textdictInfo.setTabId(String.valueOf(wbsTreePrivate.getPKeyId()));
|
|
|
|
- textdictInfo.setId(SnowFlakeUtil.getId());
|
|
|
|
|
|
+ TextdictInfo obj = BeanUtil.copyProperties(textdictInfo, TextdictInfo.class);
|
|
|
|
+ assert obj != null;
|
|
|
|
+ obj.setTabId(String.valueOf(wbsTreePrivate.getPKeyId()));
|
|
|
|
+ obj.setId(SnowFlakeUtil.getId());
|
|
|
|
+ insertData3.add(obj);
|
|
}
|
|
}
|
|
- insertData3.addAll(v);
|
|
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -754,13 +751,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
this.insertBatch(insertData2, 1000);
|
|
this.insertBatch(insertData2, 1000);
|
|
|
|
|
|
//电签
|
|
//电签
|
|
- textDictInfoService.saveBatch(insertData3, 1000);
|
|
|
|
- assert textDictInfosAll != null;
|
|
|
|
- textDictInfosAll.addAll(insertData3);
|
|
|
|
- //更新Redis
|
|
|
|
- bladeRedis.set("textDictInfos:", textDictInfosAll);
|
|
|
|
- //更新过期时间
|
|
|
|
- bladeRedis.expire("textDictInfos:", 3600);
|
|
|
|
|
|
+ textDictInfoService.insertBatch(insertData3, 1000);
|
|
|
|
|
|
//修改质检关联信息
|
|
//修改质检关联信息
|
|
if (pawDTO.getWbsType() == 1) {
|
|
if (pawDTO.getWbsType() == 1) {
|
|
@@ -820,12 +811,13 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
return wbsTreePrivateService.updateBatchByIds2(wbsTreePrivates, wbsTreePrivatesAllNow, projectId, primaryKeyId);
|
|
return wbsTreePrivateService.updateBatchByIds2(wbsTreePrivates, wbsTreePrivatesAllNow, projectId, primaryKeyId);
|
|
}
|
|
}
|
|
|
|
|
|
- //同步独立表单库数据
|
|
|
|
|
|
+ //新增独立表单库数据
|
|
private void insertDLTabAsync(WbsTreeContractDTO pawDTO) {
|
|
private void insertDLTabAsync(WbsTreeContractDTO pawDTO) {
|
|
//获取当前引用项目的独立表
|
|
//获取当前引用项目的独立表
|
|
List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateService.getBaseMapper().selectList(Wrappers.<WbsTreePrivate>lambdaQuery()
|
|
List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateService.getBaseMapper().selectList(Wrappers.<WbsTreePrivate>lambdaQuery()
|
|
.eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId())
|
|
.eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId())
|
|
.eq(WbsTreePrivate::getType, 10)
|
|
.eq(WbsTreePrivate::getType, 10)
|
|
|
|
+ .isNotNull(WbsTreePrivate::getHtmlUrl)
|
|
);
|
|
);
|
|
|
|
|
|
//获取当前项目独立表
|
|
//获取当前项目独立表
|
|
@@ -834,13 +826,22 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
.eq(WbsTreePrivate::getType, 10)
|
|
.eq(WbsTreePrivate::getType, 10)
|
|
);
|
|
);
|
|
|
|
|
|
|
|
+ //同步htmlURL丢失问题
|
|
|
|
+ this.syncDLHtmlUrlLost(wbsTreePrivates, wbsTreePrivatesNew);
|
|
|
|
+
|
|
|
|
+ //去重
|
|
Iterator<WbsTreePrivate> iterator = wbsTreePrivates.iterator();
|
|
Iterator<WbsTreePrivate> iterator = wbsTreePrivates.iterator();
|
|
while (iterator.hasNext()) {
|
|
while (iterator.hasNext()) {
|
|
WbsTreePrivate next = iterator.next();
|
|
WbsTreePrivate next = iterator.next();
|
|
for (WbsTreePrivate wbsTreePrivate : wbsTreePrivatesNew) {
|
|
for (WbsTreePrivate wbsTreePrivate : wbsTreePrivatesNew) {
|
|
if (next.getNodeName().equals(wbsTreePrivate.getNodeName()) && next.getTableType().equals(wbsTreePrivate.getTableType())) {
|
|
if (next.getNodeName().equals(wbsTreePrivate.getNodeName()) && next.getTableType().equals(wbsTreePrivate.getTableType())) {
|
|
- //去重,获取新增的独立表
|
|
|
|
- iterator.remove();
|
|
|
|
|
|
+ //如果当前独立库的元素表的htmlUrl==null,那么需要重新赋值,解决无法找到清表问题
|
|
|
|
+ if (ObjectUtil.isEmpty(wbsTreePrivate.getHtmlUrl())) {
|
|
|
|
+ wbsTreePrivate.setHtmlUrl(next.getHtmlUrl());
|
|
|
|
+ } else {
|
|
|
|
+ //去重,获取新增的独立表
|
|
|
|
+ iterator.remove();
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -854,41 +855,55 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
Long id = SnowFlakeUtil.getId();
|
|
Long id = SnowFlakeUtil.getId();
|
|
wbsTreePrivateNew.setPKeyId(id);
|
|
wbsTreePrivateNew.setPKeyId(id);
|
|
wbsTreePrivateNew.setProjectId(pawDTO.getProjectId());
|
|
wbsTreePrivateNew.setProjectId(pawDTO.getProjectId());
|
|
|
|
+ wbsTreePrivateNew.setHtmlUrl(wbsTreePrivate.getHtmlUrl());
|
|
|
|
+ wbsTreePrivateNew.setExcelId(wbsTreePrivate.getExcelId());
|
|
|
|
+ wbsTreePrivateNew.setIsLinkTable(wbsTreePrivate.getIsLinkTable());
|
|
wbsTreePrivatesNewAdd.add(wbsTreePrivateNew);
|
|
wbsTreePrivatesNewAdd.add(wbsTreePrivateNew);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if (wbsTreePrivatesNewAdd.size() > 0) {
|
|
if (wbsTreePrivatesNewAdd.size() > 0) {
|
|
//新增独立表
|
|
//新增独立表
|
|
- wbsTreePrivateService.saveBatch(wbsTreePrivatesNewAdd, 1000);
|
|
|
|
|
|
+ wbsTreePrivateService.insertBatch(wbsTreePrivatesNewAdd, 1000);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Async
|
|
@Async
|
|
- public boolean insertTextDictInfoAsync(List<WbsTreePrivate> wbsTreePrivateOldTables, List<WbsTreePrivate> wbsTreePrivateNewTables) {
|
|
|
|
- List<TextdictInfo> redisValue = bladeRedis.get("textDictInfos:");
|
|
|
|
- if (ObjectUtils.isEmpty(redisValue)) {
|
|
|
|
- //获取所有电签配置信息
|
|
|
|
- redisValue = textdictInfoMapper.selectList(Wrappers.<TextdictInfo>query().lambda());
|
|
|
|
-
|
|
|
|
- if (redisValue.size() > 0) {
|
|
|
|
- //存入Redis
|
|
|
|
- bladeRedis.set("textDictInfos:", redisValue);
|
|
|
|
- //过期时间
|
|
|
|
- bladeRedis.expire("textDictInfos:", 3600);
|
|
|
|
|
|
+ public void syncDLHtmlUrlLost(List<WbsTreePrivate> wbsTreePrivates, List<WbsTreePrivate> wbsTreePrivatesNew) {
|
|
|
|
+ //获取当前项目的所有htmlUrl为null的独立表信息
|
|
|
|
+ List<WbsTreePrivate> collect = wbsTreePrivatesNew.stream().filter(f -> f.getHtmlUrl() == null).collect(Collectors.toList());
|
|
|
|
+ if (collect.size() > 0) {
|
|
|
|
+ for (WbsTreePrivate wbsTreePrivateOld : wbsTreePrivates) {
|
|
|
|
+ for (WbsTreePrivate treePrivateNew : collect) {
|
|
|
|
+ if (wbsTreePrivateOld.getId().equals(treePrivateNew.getId())
|
|
|
|
+ && ObjectUtil.isNotEmpty(wbsTreePrivateOld.getHtmlUrl())
|
|
|
|
+ && ObjectUtil.isEmpty(treePrivateNew.getHtmlUrl())) {
|
|
|
|
+ //更新HTMLUrl
|
|
|
|
+ wbsTreePrivateService.update(Wrappers.<WbsTreePrivate>lambdaUpdate()
|
|
|
|
+ .set(WbsTreePrivate::getHtmlUrl, wbsTreePrivateOld.getHtmlUrl())
|
|
|
|
+ .eq(WbsTreePrivate::getPKeyId, treePrivateNew.getPKeyId())
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ @Async
|
|
|
|
+ public boolean insertTextDictInfoAsync(List<WbsTreePrivate> wbsTreePrivateOldTables, List<WbsTreePrivate> wbsTreePrivateNewTables) {
|
|
//wbsTreePrivateOldTables=原始引用的元素表+独立表 wbsTreePrivateNewTables=现在项目树的元素表+独立表
|
|
//wbsTreePrivateOldTables=原始引用的元素表+独立表 wbsTreePrivateNewTables=现在项目树的元素表+独立表
|
|
Map<Long, List<TextdictInfo>> textDictInfoData = new HashMap<>();
|
|
Map<Long, List<TextdictInfo>> textDictInfoData = new HashMap<>();
|
|
if (wbsTreePrivateOldTables.size() > 0) {
|
|
if (wbsTreePrivateOldTables.size() > 0) {
|
|
|
|
+ //只同步了独立库的元素表电签信息,type=2以前的节点下同步形式,现在type=10为独立库
|
|
|
|
+ List<Long> pIdsDL = wbsTreePrivateOldTables.stream().filter(f -> f.getType().equals(10) || f.getType().equals(2)).collect(Collectors.toList()).stream().map(WbsTreePrivate::getPKeyId).collect(Collectors.toList());
|
|
|
|
+ String ids = StringUtils.join(pIdsDL, ",");
|
|
|
|
+ String sql = "select `id`,`name`,`type`,tab_id,col_key,sig_role_id,is_deleted,sig_role_name,col_name,pyzbx,pyzby from m_textdict_info where tab_id in (" + ids + ") and is_deleted = 0";
|
|
|
|
+ List<TextdictInfo> textDictInfos = jdbcTemplate.query(sql, new BeanPropertyRowMapper<TextdictInfo>(TextdictInfo.class));
|
|
|
|
+
|
|
for (WbsTreePrivate wbsTreePrivate : wbsTreePrivateOldTables) {
|
|
for (WbsTreePrivate wbsTreePrivate : wbsTreePrivateOldTables) {
|
|
//私有引用-电签匹配数据、默认信息数据,根据元素表pKeyId,获取电签位置匹配信息、编辑默认信息
|
|
//私有引用-电签匹配数据、默认信息数据,根据元素表pKeyId,获取电签位置匹配信息、编辑默认信息
|
|
- //List<TextdictInfo> collect = redisValue.stream().filter(f -> f.getTabId().equals(String.valueOf(wbsTreePrivate.getPKeyId()))).collect(Collectors.toList());
|
|
|
|
- //不清楚为什么上面走内存,无法判断,所以直接查询
|
|
|
|
- List<TextdictInfo> collect = textdictInfoMapper.selectList(Wrappers.<TextdictInfo>lambdaQuery().eq(TextdictInfo::getTabId, String.valueOf(wbsTreePrivate.getPKeyId())));
|
|
|
|
-
|
|
|
|
|
|
+ List<TextdictInfo> collect = textDictInfos.stream().filter(f -> f.getTabId().equals(String.valueOf(wbsTreePrivate.getPKeyId()))).collect(Collectors.toList());
|
|
if (collect.size() > 0) {
|
|
if (collect.size() > 0) {
|
|
textDictInfoData.put(wbsTreePrivate.getId(), collect);
|
|
textDictInfoData.put(wbsTreePrivate.getId(), collect);
|
|
}
|
|
}
|
|
@@ -902,19 +917,26 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
textDictInfoData.forEach((k, v) -> {
|
|
textDictInfoData.forEach((k, v) -> {
|
|
if (wbsTreePrivateNewTable.getId().equals(k)) {
|
|
if (wbsTreePrivateNewTable.getId().equals(k)) {
|
|
for (TextdictInfo textdictInfo : v) {
|
|
for (TextdictInfo textdictInfo : v) {
|
|
- textdictInfo.setTabId(String.valueOf(wbsTreePrivateNewTable.getPKeyId()));
|
|
|
|
- textdictInfo.setId(SnowFlakeUtil.getId());
|
|
|
|
- insertData.add(textdictInfo);
|
|
|
|
|
|
+ TextdictInfo obj = BeanUtil.copyProperties(textdictInfo, TextdictInfo.class);
|
|
|
|
+ assert obj != null;
|
|
|
|
+ obj.setTabId(String.valueOf(wbsTreePrivateNewTable.getPKeyId()));
|
|
|
|
+ obj.setId(SnowFlakeUtil.getId());
|
|
|
|
+ insertData.add(obj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
//判断是否存在
|
|
//判断是否存在
|
|
|
|
+ List<Long> pIdsDLNew = wbsTreePrivateNewTables.stream().filter(f -> f.getType().equals(10) || f.getType().equals(2)).collect(Collectors.toList()).stream().map(WbsTreePrivate::getPKeyId).collect(Collectors.toList());
|
|
|
|
+ String ids = StringUtils.join(pIdsDLNew, ",");
|
|
|
|
+ String sql = "select `id`,`name`,`type`,tab_id,col_key,sig_role_id,is_deleted,sig_role_name,col_name,pyzbx,pyzby from m_textdict_info where tab_id in (" + ids + ") and is_deleted = 0";
|
|
|
|
+ List<TextdictInfo> textDictInfosNew = jdbcTemplate.query(sql, new BeanPropertyRowMapper<TextdictInfo>(TextdictInfo.class));
|
|
|
|
+
|
|
Iterator<TextdictInfo> iterator = insertData.iterator();
|
|
Iterator<TextdictInfo> iterator = insertData.iterator();
|
|
while (iterator.hasNext()) {
|
|
while (iterator.hasNext()) {
|
|
TextdictInfo textDictInfo = iterator.next();
|
|
TextdictInfo textDictInfo = iterator.next();
|
|
- redisValue.stream().filter(f ->
|
|
|
|
|
|
+ textDictInfosNew.stream().filter(f ->
|
|
//判断每张表TabId的每个位置ColKey、类型Type唯一
|
|
//判断每张表TabId的每个位置ColKey、类型Type唯一
|
|
f.getColKey().equals(textDictInfo.getColKey())
|
|
f.getColKey().equals(textDictInfo.getColKey())
|
|
&& f.getType().equals(textDictInfo.getType())
|
|
&& f.getType().equals(textDictInfo.getType())
|
|
@@ -923,13 +945,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
}
|
|
}
|
|
|
|
|
|
if (insertData.size() > 0) {
|
|
if (insertData.size() > 0) {
|
|
- textDictInfoService.saveBatch(insertData, 1000);
|
|
|
|
-
|
|
|
|
- //更新Redis
|
|
|
|
- redisValue.addAll(insertData);
|
|
|
|
- bladeRedis.set("textDictInfos:", redisValue);
|
|
|
|
- //更新过期时间
|
|
|
|
- bladeRedis.expire("textDictInfos:", 3600);
|
|
|
|
|
|
+ textDictInfoService.insertBatch(insertData, 1000);
|
|
}
|
|
}
|
|
|
|
|
|
return true;
|
|
return true;
|