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