From 3579af2945dd38d841a23cd340acd474bb63773a Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期四, 04 五月 2023 18:02:01 +0800
Subject: [PATCH] 业务类型与DDL服务相关的添加

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 92 insertions(+), 8 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
index 94cbe3d..880efbc 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
@@ -9,16 +9,15 @@
 import com.vci.ubcs.omd.service.IBtmTypeAttributeService;
 import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
 import com.vci.ubcs.omd.wrapper.BtmTypeAttributeWrapper;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import javax.validation.constraints.NotEmpty;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * Description: 涓氬姟绫诲瀷鍏宠仈灞炴�х殑鏈嶅姟瀹炵幇绫�
@@ -49,7 +48,7 @@
 	 * @return 鍙楀奖鍝嶇殑琛屾暟
 	 */
 	@Override
-	public int checkAndInsert(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now) {
+	public List<BtmTypeAttributeVO> checkAndInsert(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now) {
 		List<String> attributeIdList = new ArrayList<>();
 		List<BtmTypeAttribute> btmTypeAttributeDOList = new ArrayList<>();
 		if (!CollectionUtils.isEmpty(attributesDTOList)) {
@@ -61,14 +60,62 @@
 			//妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪
 			boolean exists = attributeService.checkAttributeExists(attributeIdList);
 			if (!exists){
-				return -1;
+				return null;
 			}
-			return batchInsert(btmTypeAttributeDOList);
+			batchInsert(btmTypeAttributeDOList);
+			return BtmTypeAttributeWrapper.build().listEntityVO(btmTypeAttributeDOList);
 //            btmTypeAttributeDOList.stream().forEachOrdered(s -> {
 //                btmTypeAttributeDOMapper.insert(s);
 //            });
 		}
-		return 0;
+		return null;
+	}
+
+	/**
+	 * 妫�鏌ュ睘鎬у瓨鍦ㄥ苟鍒犻櫎
+	 *
+	 * @param records 涓婚敭闆嗗悎
+	 * @return 鍙楀奖鍝嶇殑琛屾暟
+	 */
+	@Override
+	public int checkAndRemove(List<String> records) {
+		if (CollectionUtils.isEmpty(records)){
+			return 0;
+		}
+		return baseMapper.batchDelete(records);
+	}
+
+	/**
+	 * 妫�鏌ュ睘鎬у瓨鍦ㄥ苟娣诲姞
+	 *
+	 * @param btmTypeOid        涓氬姟绫诲瀷涓婚敭
+	 * @param attributesDTOList 椤甸潰浼犺緭瀵硅薄闆嗗悎
+	 * @param creator           鍒涘缓浜�
+	 * @param now               ts鏃堕棿鎴�
+	 * @return 鍙楀奖鍝嶇殑琛屾暟
+	 */
+	@Override
+	public List<BtmTypeAttributeVO> checkAndUpdate(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now) {
+		List<String> attributeIdList = new ArrayList<>();
+		List<BtmTypeAttribute> btmTypeAttributeDOList = new ArrayList<>();
+		if (!CollectionUtils.isEmpty(attributesDTOList)) {
+			attributesDTOList.stream().forEachOrdered(s -> {
+				attributeService.checkAttribute(s);
+				btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now));
+				attributeIdList.add(s.getId().toLowerCase().trim());
+			});
+			//妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪
+			boolean exists = attributeService.checkAttributeExists(attributeIdList);
+			if (!exists){
+				return null;
+			}
+			baseMapper.batchUpdate(btmTypeAttributeDOList);
+			return BtmTypeAttributeWrapper.build().listEntityVO(btmTypeAttributeDOList);
+//            btmTypeAttributeDOList.stream().forEachOrdered(s -> {
+//                btmTypeAttributeDOMapper.insert(s);
+//            });
+		}
+		return null;
 	}
 
 	/**
@@ -95,4 +142,41 @@
 			).orElseGet(ArrayList::new)
 		);
 	}
+
+	/**
+	 * 鏍规嵁涓氬姟绫诲瀷涓婚敭鑾峰彇鍏宠仈鐨勬墍鏈夊睘鎬у璞�
+	 *
+	 * @param oidCollection 涓氬姟绫诲瀷涓婚敭闆嗗悎
+	 * @return 鎵�鏈夌殑灞炴�у璞★紝鍖呮嫭绯荤粺鍐呯疆灞炴�э紝key鏄笟鍔$被鍨嬩富閿紝value鏄寘鍚殑灞炴��
+	 * @throws VciBaseException 涓氬姟绫诲瀷涓嶅瓨鍦紝鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑哄紓甯�
+	 */
+	@Override
+	public List<BtmTypeAttributeVO> batchListHasAttributesByBtmTypeOidCollection(Collection<String> oidCollection) throws VciBaseException {
+		VciBaseUtil.alertNotNull(oidCollection,"涓氬姟绫诲瀷涓婚敭");
+		List<BtmTypeAttribute> doList = baseMapper.selectList(Wrappers.<BtmTypeAttribute>query().lambda().in(BtmTypeAttribute::getPkBtmType, oidCollection));
+		return BtmTypeAttributeWrapper.build().listEntityVO(doList);
+	}
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷涓殑鎸囧畾灞炴��
+	 *
+	 * @param id                    涓氬姟绫诲瀷鐨勪富閿�
+	 * @param attributeIdCollection 灞炴�х殑id,鑻ヤ负绌哄垯鑾峰彇鍏ㄩ儴
+	 * @return 灞炴�х殑鏁版嵁瀵硅薄
+	 */
+	@Override
+	public List<BtmTypeAttribute> selectByBtmTypeIdAndAttributeIds(String id, Collection<String> attributeIdCollection) {
+		return baseMapper.selectByBtmTypeIdAndAttributeIds(id,attributeIdCollection);
+	}
+
+	/**
+	 * 閫氳繃涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉拌幏鍙栧叧鑱旂殑灞炴��
+	 *
+	 * @param idList 涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉伴泦鍚�
+	 * @return 鍖呭惈鐨勫睘鎬�
+	 */
+	@Override
+	public List<BtmTypeAttribute> selectByBtmTypeIds(List<String> idList) {
+		return baseMapper.selectByBtmTypeIds(idList);
+	}
 }

--
Gitblit v1.9.3