package com.vci.ubcs.code.applyjtcodeservice.service.impl; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.applyjtcodeservice.mapper.DockingPreViewModelMapper; import com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreMetaAttrService; import com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreViewModelService; import com.vci.ubcs.code.applyjtcodeservice.wrapper.DockingPreMetaAttrWrapper; import com.vci.ubcs.code.applyjtcodeservice.wrapper.DockingPreViewWrapper; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreMetaAttr; import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreViewModel; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreMetaAttrVO; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreViewModelVO; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /*** * 集团模型服务 * @author xiejun * @date 2023-05-23 */ @Service @Slf4j public class DockingPreViewModelServiceImpl extends ServiceImpl implements IDockingPreViewModelService { /*** * 集团分类属性 */ @Resource private DockingPreViewModelMapper dockingPreViewModelMapper; /*** * 集团分类属性查询服务 */ @Resource private IDockingPreMetaAttrService dockingPreMetaAttrService; /** * 根据分类id查询分类视图 * @param classifyId 集团分类id * @param isContainAttr 是否查询属性,true: 是,false,否 * @return 返回分类模型视图集合对象 */ @Override public List selectDockingPreViewModelByClassId(String classifyId, boolean isContainAttr) { log.info("根据分类id->"+classifyId+",查询分类视图statr"); VciBaseUtil.alertNotNull(classifyId,"集团分类主键"); List dockingPreViewModels= dockingPreViewModelMapper.selectList(Wrappers.query().lambda().eq(DockingPreViewModel::getSourceClassifyId,classifyId)); List dockingPreViewModelVOS= DockingPreViewWrapper.build().entityVOs(dockingPreViewModels); if(isContainAttr) { dockingPreViewModelVOS.stream().forEach(dockingPreViewModelVO -> { String viewModelVOOid=dockingPreViewModelVO.getOid(); String sourceClassifyId=dockingPreViewModelVO.getSourceClassifyId(); List dockingPreMetaAttrList=dockingPreMetaAttrService.selectByWrapper(Wrappers.query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,sourceClassifyId).eq(DockingPreMetaAttr::getViewModelId,viewModelVOOid)); List dockingPreMetaAttrVOList= DockingPreMetaAttrWrapper.build().entityVOs(dockingPreMetaAttrList); if(!CollectionUtils.isEmpty(dockingPreMetaAttrVOList)) { dockingPreViewModelVO.setDockingPreMetaAttrVOList(dockingPreMetaAttrVOList); } }); } log.info("根据分类id->"+classifyId+",查询分类视图end"); return dockingPreViewModelVOS; } }