From ba345976f0a6a67bcb20627e33251ded000a3d8f Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期六, 25 五月 2024 22:40:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++------------------
1 files changed, 35 insertions(+), 18 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
index a8ffb74..fe24a1a 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
@@ -1,16 +1,13 @@
package com.vci.ubcs.ddl.service.impl;
-
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
import com.vci.ubcs.ddl.enums.BusinessTypeEnum;
import com.vci.ubcs.ddl.enums.ModifyTableTaskEnum;
-import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessStrategy;
import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessor;
import com.vci.ubcs.ddl.processor.dll.DllMapperProcessor;
-import com.vci.ubcs.ddl.processor.dll.DllMapperProcessorStrategy;
import com.vci.ubcs.ddl.properties.DdlPropertise;
import com.vci.ubcs.ddl.service.IDdlService;
import com.vci.ubcs.omd.cache.BtmTypeCache;
@@ -36,6 +33,7 @@
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.NotNull;
+import java.rmi.ServerException;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
@@ -64,13 +62,15 @@
/**
* ddl鏁版嵁鎿嶄綔鏈嶅姟
*/
- private final DdlMapperProcessor ddlMapper = DdlMapperProcessStrategy.getProcessor();
+ @Autowired
+ private DdlMapperProcessor ddlMapper;
/**
* dll鏁版嵁鎿嶄綔鏈嶅姟
*/
- private final DllMapperProcessor dllMapper = DllMapperProcessorStrategy.getProcessor();
+ @Autowired
+ private DllMapperProcessor dllMapper;
private static final String YES = "Y";
@@ -764,9 +764,9 @@
if (StringUtils.isNotBlank(s.getModifyAttributes()) || StringUtils.isNotBlank(s.getDeleteAttributes())) {
//闇�瑕佸幓鍒ゆ柇鏄惁鍙互鏇存敼
if (checkTableHasDataByTableName(s.getTableName())) {
- //鏈夋暟鎹殑璇濓紝寰楅渶瑕佸垽鏂睘鎬ф槸鍚﹀彲浠ヤ慨鏀�
+ //鏈夋暟鎹殑璇濓紝寰楅渶瑕佸垽鏂睘鎬ф槸鍚﹀彲浠ュ垹闄�
if (StringUtils.isNotBlank(s.getDeleteAttributes())) {
- s.setHandleResult("琛ㄦ牸瀛樺湪鏁版嵁锛屼笉鍏佽鍒犻櫎瀛楁");
+ s.setHandleResult("琛ㄦ牸瀛樺湪鏁版嵁锛屼笉鍏佽鍒犻櫎"+ s.getDeleteAttributes() +"瀛楁");
return;
}
List<DdlTableInDataBaseBO> columnInDbList = selectTableColumnInfo(s.getTableName());
@@ -975,27 +975,44 @@
* @return 鎵ц缁撴灉
*/
@Override
- public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) {
- //try {
+ public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) throws ServerException {
+ try {
List<ModifyAttributeInfo> changedList = new ArrayList<>();
if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) {
List<BtmTypeVO> btmTypeList = ddlDTO.getBtmTypeList();
- //putBtm(btmTypeList.toArray(new BtmTypeVO[0]));
+ putBtm(btmTypeList.toArray(new BtmTypeVO[0]));
changedList.addAll(checkDifferent(btmTypeList, null));
- //removeBtm(btmTypeList.toArray(new BtmTypeVO[0]));
+ removeBtm(btmTypeList.toArray(new BtmTypeVO[0]));
}
if (!CollectionUtils.isEmpty(ddlDTO.getLinkTypeList())) {
List<LinkTypeVO> linkTypeList = ddlDTO.getLinkTypeList();
- //putLink(linkTypeList.toArray(new LinkTypeVO[0]));
+ putLink(linkTypeList.toArray(new LinkTypeVO[0]));
changedList.addAll(checkDifferent(null,linkTypeList));
- //removeLink(linkTypeList.toArray(new LinkTypeVO[0]));
+ removeLink(linkTypeList.toArray(new LinkTypeVO[0]));
}
- R<List<ModifyAttributeInfo>> result = R.success("鏁版嵁搴撴搷浣滄垚鍔�");
+ String msg = "鏁版嵁搴撴搷浣滄垚鍔�";
+ R<List<ModifyAttributeInfo>> result = new R<>();
+ if((!changedList.isEmpty())&&Func.isEmpty(changedList.get(0).getHandleResult())){
+ result = R.success(msg);
+ }else {
+ result = R.fail(changedList.get(0).getHandleResult());
+ }
result.setData(changedList);
return result;
- //} catch (ServiceException e) {
- //throw new RuntimeException(e.getMessage());
-// }
+ } catch (Exception e) {
+ try {
+ // 寤鸿〃澶辫触鏈夊紓甯革紝鎹曡幏鍚庤繑鍥烇紝骞堕噴鏀剧嚎绋嬩腑鐨勫唴瀹�
+ if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) {
+ removeBtm(ddlDTO.getBtmTypeList().toArray(new BtmTypeVO[0]));
+ }
+ if (!CollectionUtils.isEmpty(ddlDTO.getLinkTypeList())) {
+ removeLink(ddlDTO.getLinkTypeList().toArray(new LinkTypeVO[0]));
+ }
+ return R.fail(e.getMessage());
+ }catch (ServiceException e2){
+ return R.fail(e.getMessage());
+ }
+ }
}
/**
@@ -1056,7 +1073,7 @@
BtmTypeAttributeVO attributeVO = new BtmTypeAttributeVO();
attributeVO.setId(col.getId().toLowerCase());
attributeVO.setName(col.getName());
- attributeVO.setNullableFlag(col.getNullableFlag());
+ attributeVO.setNullableFlag(StringUtils.equals(col.getNullableFlag(), BooleanEnum.TRUE.getValue()));
attributeVO.setAttributeLength(col.getAttributeLength());
attributeVO.setPrecisionLength(col.getPrecisionLength());
attributeVO.setScaleLength(col.getScaleLength());
--
Gitblit v1.9.3