From d2570148ec3884de3af721bd99c4b7acbbdee075 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 09 五月 2023 17:07:26 +0800
Subject: [PATCH] 前端代码提交

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java |  182 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 182 insertions(+), 0 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
new file mode 100644
index 0000000..880efbc
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
@@ -0,0 +1,182 @@
+package com.vci.ubcs.omd.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO;
+import com.vci.ubcs.omd.entity.BtmTypeAttribute;
+import com.vci.ubcs.omd.mapper.BtmTypeAttributeMapper;
+import com.vci.ubcs.omd.service.IAttributeService;
+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.*;
+
+/**
+ * Description: 涓氬姟绫诲瀷鍏宠仈灞炴�х殑鏈嶅姟瀹炵幇绫�
+ *
+ * @author LiHang
+ * @date 2023/4/23
+ */
+@Service
+public class BtmAttributeServiceImpl extends ServiceImpl<BtmTypeAttributeMapper, BtmTypeAttribute> implements IBtmTypeAttributeService {
+
+	@Autowired
+	private IAttributeService attributeService;
+
+	@Override
+	public boolean deleteLogic(@NotEmpty List<Long> ids) {
+		return false;
+	}
+
+	@Override
+	public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) {
+		return false;
+	}
+
+	/**
+	 * 妫�鏌ュ睘鎬у瓨鍦ㄥ苟娣诲姞
+	 *
+	 * @param attributesDTOList 椤甸潰浼犺緭瀵硅薄闆嗗悎
+	 * @return 鍙楀奖鍝嶇殑琛屾暟
+	 */
+	@Override
+	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)) {
+			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;
+			}
+			batchInsert(btmTypeAttributeDOList);
+			return BtmTypeAttributeWrapper.build().listEntityVO(btmTypeAttributeDOList);
+//            btmTypeAttributeDOList.stream().forEachOrdered(s -> {
+//                btmTypeAttributeDOMapper.insert(s);
+//            });
+		}
+		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;
+	}
+
+	/**
+	 * 鎵归噺鎻掑叆
+	 *
+	 * @param records 鏁版嵁瀵硅薄闆嗗悎
+	 */
+	@Override
+	public int batchInsert(List<BtmTypeAttribute> records) {
+		return baseMapper.insertBatchSomeColumn(records);
+	}
+
+	/**
+	 * 涓氬姟绫诲瀷涓婚敭鏌ュ睘鎬�
+	 * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭
+	 * @return 鏌ヨ缁撴灉
+	 */
+	@Override
+	public List<BtmTypeAttributeVO> getAttributeByBtmTypeOid(String btmTypeOid){
+		Func.requireNotNull(btmTypeOid,"涓氬姟绫诲瀷涓婚敭");
+		return BtmTypeAttributeWrapper.build().listEntityVO(
+			Optional.ofNullable(
+				baseMapper.selectList(Wrappers.<BtmTypeAttribute>query().lambda().eq(BtmTypeAttribute::getPkBtmType, btmTypeOid))
+			).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