From 9b4433fddf5b401edb0aace8a404ac733b122702 Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期四, 03 四月 2025 14:35:02 +0800
Subject: [PATCH] 添加非密字段显示

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

diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
index 03f8eaf..143545b 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
@@ -4,40 +4,30 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.vci.ubcs.omd.constant.OmdCacheConstant;
 import com.vci.ubcs.omd.dto.AttributeDTO;
 import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO;
 import com.vci.ubcs.omd.entity.Attribute;
 import com.vci.ubcs.omd.entity.BtmType;
-import com.vci.ubcs.omd.entity.BtmTypeAttribute;
 import com.vci.ubcs.omd.mapper.AttributeMapper;
-import com.vci.ubcs.omd.mapper.BtmTypeMapper;
 import com.vci.ubcs.omd.service.IAttributeService;
 import com.vci.ubcs.omd.vo.AttributeVO;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.omd.wrapper.AttributeWrapper;
 import com.vci.ubcs.omd.wrapper.BtmTypeWrapper;
 import com.vci.ubcs.starter.exception.VciBaseException;
-import com.vci.ubcs.starter.util.Map2MPJLambdaUtil;
 import com.vci.ubcs.starter.web.constant.OmdRegExpConstant;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.exception.ServiceException;
-import org.springblade.core.tool.constant.BladeConstant;
-import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.api.R;
 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.annotation.Resource;
 import javax.validation.constraints.NotEmpty;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
@@ -52,9 +42,6 @@
 public class AttributeServiceImpl extends ServiceImpl<AttributeMapper, Attribute>  implements IAttributeService {
 
 	private final String REGEXP = "^[A-Za-z]+$";
-
-	@Resource
-	private BtmTypeMapper btmTypeMapper;
 
 	@Override
 	public boolean deleteLogic(@NotEmpty List<Long> ids) {
@@ -86,29 +73,47 @@
 	 */
 	@Override
 	public boolean submit(AttributeDTO dto) {
-		if (Pattern.compile(REGEXP).matcher(dto.getId()).matches()){
-			throw new VciBaseException("灞炴�у悕绉皗0}鍙兘鏄嫳鏂�",new Object[]{dto.getId()});
+		VciBaseUtil.alertNotNull(dto.getId(),"灞炴�х紪鍙�",dto.getName(),"灞炴�у悕绉�",dto.getTypeKey(),"灞炴�х被鍨�",dto.getMaxLength(),"灞炴�ч暱搴�");
+		String msg = checkAttributeId(dto.getId(),dto.getOid());
+		if (StringUtils.isNotBlank(msg)){
+			throw new VciBaseException(msg);
 		}
-		LambdaQueryWrapper<Attribute> wrapper = Wrappers.<Attribute>query().lambda().eq(Attribute::getId, dto.getId());
-		Long count = baseMapper.selectCount((Func.isEmpty(dto.getId())) ? wrapper : wrapper.notIn(Attribute::getId, dto.getId()));
-		if (count > 0L) {
-			throw new ServiceException("灞炴�у悕宸插瓨鍦�!");
-		}
-		Attribute omdAttribute = BeanUtil.copy(dto, Attribute.class);
+		Attribute attribute = AttributeWrapper.build().copyBeforeSave(dto);
 		CacheUtil.clear(OmdCacheConstant.ATTR_CACHE);
-		return saveOrUpdate(omdAttribute);
+		return saveOrUpdate(attribute);
+	}
+
+	/**
+	 * 鍏冩暟鎹殑ID鏍¢獙
+	 * @param id 缂栧彿鍊�
+	 * @param oid 鏁版嵁涓婚敭
+	 * @return 鏍¢獙缁撴灉
+	 */
+	private String checkAttributeId(String id, String oid) {
+		if (!Pattern.compile(REGEXP).matcher(id).matches()){
+			return "灞炴�х紪鍙�"+id+"鍙兘鏄嫳鏂�";
+		}
+		Long count = baseMapper.checkIdExist(id.toLowerCase(Locale.ROOT),oid);
+		if (count > 0L) {
+			return "灞炴�х紪鍙�"+id+"(涓嶅尯鍒嗗ぇ灏忓啓)宸插瓨鍦�!";
+		}
+		return null;
 	}
 
 	/**
 	 * 鍒犻櫎
 	 *
-	 * @param ids 涓婚敭闆嗗悎
+	 * @param oids 涓婚敭闆嗗悎
 	 * @return 鎵ц缁撴灉
 	 */
 	@Override
-	public boolean removeAttrs(String ids) {
-		List<Long> idList = Func.toLongList(ids);
-		return !deleteLogic(idList) && removeByIds(idList);
+	public boolean removeAttrs(String oids) {
+		List<String> oidList = Func.toStrList(",", oids);
+		List<Attribute> list = list(Wrappers.<Attribute>query().lambda().in(Attribute::getOid, oidList));
+		if (!CollectionUtils.isEmpty(list)){
+			baseMapper.delete(Wrappers.<Attribute>query().lambda().in(Attribute::getOid,list.stream().map(Attribute::getOid).collect(Collectors.toList())));
+		}
+		return true;
 	}
 
 	/**
@@ -120,15 +125,10 @@
 	@Override
 	public List<BtmTypeVO> applyRange(String oid) {
 		List<BtmType> btmTypes = baseMapper.selectApplyRange(oid);
-		if (!CollectionUtils.isEmpty(btmTypes)){
-			return btmTypes.stream().map(btm -> {
-				BtmTypeVO vo = new BtmTypeVO();
-				vo.setId(btm.getId());
-				vo.setName(btm.getName());
-				return vo;
-			}).collect(Collectors.toList());
+		if (CollectionUtils.isEmpty(btmTypes)){
+			return null;
 		}
-		return null;
+		return BtmTypeWrapper.build().listEntityVO(btmTypes);
 	}
 
 	/**
@@ -144,7 +144,7 @@
 		if (CollectionUtils.isEmpty(existAttributeVOList)) {
 			throw new VciBaseException("浣跨敤鐨勫睘鎬ч兘鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉");
 		} else {
-			Set<String> existAttributeOidSet = (existAttributeVOList.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase().trim(), t -> t))).keySet();
+			Set<String> existAttributeOidSet = (existAttributeVOList.stream().collect(Collectors.toMap(s -> s.getId().trim(), t -> t))).keySet();
 			keyCollections.stream().forEach(s -> {
 				if (!existAttributeOidSet.contains(s)) {
 					throw new VciBaseException("浣跨敤鐨勫睘鎬0}鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", new Object[]{s});
@@ -173,7 +173,7 @@
 	}
 
 	/**
-	 * 鏍规嵁缂栧彿闆嗗悎鑾峰彇灞炴�ф暟鎹璞�
+	 * 鏍规嵁缂栧彿闆嗗悎鑾峰彇灞炴�ф暟鎹璞�,鍏朵腑榛樿鐨勫睘鎬у簲褰撳墧闄�
 	 * @param attributeIdCollection 灞炴�х殑缂栧彿闆嗗悎
 	 * @return 灞炴�ф暟鎹璞″垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
 	 * @throws VciBaseException mybatis鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
@@ -252,4 +252,20 @@
 		}
 		return pass;
 	}
+
+	/**
+	 * 鍗曚釜鍒犻櫎
+	 *
+	 * @param oid 涓婚敭
+	 * @return 鎵ц缁撴灉
+	 */
+	@Override
+	public R remove(String oid) {
+		List<BtmTypeVO> vos = applyRange(oid);
+		if (CollectionUtils.isEmpty(vos)){
+			 return R.status(removeAttrs(oid));
+		}else {
+			return R.fail("璇ュ睘鎬у凡琚娇鐢紝涓嶅厑璁稿垹闄�");
+		}
+	}
 }

--
Gitblit v1.9.3