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