ny
昨天 b6f169fe43a2b13f351aefc152374fc7f0bc8cb7
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package jnpf.onlinedev.mapper;
 
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import jnpf.base.mapper.SuperMapper;
import jnpf.onlinedev.entity.VisualPersonalEntity;
import jnpf.onlinedev.model.DataInfoVO;
import jnpf.onlinedev.model.personalList.VisualPersConst;
import jnpf.onlinedev.model.personalList.VisualPersonalInfo;
import jnpf.onlinedev.model.personalList.VisualPersonalVo;
import jnpf.util.JsonUtil;
import jnpf.util.StringUtil;
import jnpf.util.UserProvider;
import org.apache.commons.lang3.StringUtils;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
 
/**
 * 列表个性视图:mapper
 *
 * @author JNPF开发平台组
 * @version v5.1.0
 * @copyright 引迈信息技术有限公司
 * @date 2024/11/5 16:51:19
 */
public interface VisualPersonalMapper extends SuperMapper<VisualPersonalEntity> {
 
 
    default List<VisualPersonalEntity> getList(String menuId) {
        QueryWrapper<VisualPersonalEntity> queryWrapper = new QueryWrapper<>();
//        queryWrapper.lambda().select(
//                VisualPersonalEntity::getId,
//                VisualPersonalEntity::getMenuId,
//                VisualPersonalEntity::getType,
//                VisualPersonalEntity::getStatus,
//                VisualPersonalEntity::getFullName
//        );
        queryWrapper.lambda().eq(VisualPersonalEntity::getMenuId, menuId);
        queryWrapper.lambda().eq(VisualPersonalEntity::getCreatorUserId, UserProvider.getUser().getUserId());
        return this.selectList(queryWrapper);
    }
 
    default List<VisualPersonalVo> getListVo(String menuId) {
        List<VisualPersonalVo> listVo = new ArrayList<>();
        //个人视图
        List<VisualPersonalEntity> list = this.getList(menuId);
        VisualPersonalEntity defaultEntity = list.stream().filter(t -> Objects.equals(1, t.getStatus())).findFirst().orElse(null);
        //添加系统视图
        Integer status = ObjectUtil.isEmpty(defaultEntity) ? 1 : 0;
        VisualPersonalVo vo = new VisualPersonalVo();
        vo.setId(VisualPersConst.SYSTEM_ID);
        vo.setFullName(VisualPersConst.SYSTEM_NAME);
        vo.setStatus(status);
        vo.setType(0);
        listVo.add(vo);
        for (VisualPersonalEntity item : list) {
            VisualPersonalVo personalVo = JsonUtil.getJsonToBean(item, VisualPersonalVo.class);
            listVo.add(personalVo);
        }
        return listVo;
    }
 
    default VisualPersonalInfo getInfo(String id) {
        VisualPersonalInfo info = null;
        if (ObjectUtil.isNotEmpty(id) && !VisualPersConst.SYSTEM_ID.equals(id)) {
            VisualPersonalEntity entity = this.selectById(id);
            if (entity != null) {
                info = JsonUtil.getJsonToBean(entity, VisualPersonalInfo.class);
            }
        }
        return info;
    }
 
    default boolean isExistByFullName(String fullName, String id, String menuId) {
        if (VisualPersConst.SYSTEM_NAME.equals(fullName)) return true;
        QueryWrapper<VisualPersonalEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(VisualPersonalEntity::getFullName, fullName);
        if (!StringUtils.isEmpty(id)) {
            queryWrapper.lambda().ne(VisualPersonalEntity::getId, id);
        }
        queryWrapper.lambda().eq(VisualPersonalEntity::getMenuId, menuId);
        return this.selectCount(queryWrapper) > 0 ? true : false;
    }
 
    default void setDataInfoVO(String menuId, DataInfoVO dataInfoVO) {
        List<VisualPersonalVo> listVo = StringUtil.isNotEmpty(menuId) ? this.getListVo(menuId) : new ArrayList<>();
        dataInfoVO.setPersonalList(listVo);
        VisualPersonalVo personalVo = listVo.stream().filter(t -> Objects.equals(1, t.getStatus())).findFirst().orElse(null);
        String id = ObjectUtil.isEmpty(personalVo) ? null : personalVo.getId();
        VisualPersonalInfo info = this.getInfo(id);
        dataInfoVO.setDefaultView(info);
    }
}