xiejun
2023-08-12 a19d26e88360c9760b2286bac4dfb1710fd2fa21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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<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;
    }
}