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