ZQN
2024-06-17 b1ff19545212508d3f65741ab889f0b6df82a511
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package com.project.approval.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import cn.hutool.core.convert.Convert;
import com.project.common.utils.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.transaction.annotation.Transactional;
import com.project.approval.domain.vo.ApprovalNodeVo;
import com.project.approval.domain.bo.editBo.ApprovalNodeBo;
import com.project.approval.domain.bo.queryBo.ApprovalNodeQueryBo;
import com.project.approval.domain.ApprovalNode;
import com.project.approval.mapper.ApprovalNodeMapper;
import com.project.approval.service.IApprovalNodeService;
 
import java.util.Collection;
import java.util.List;
 
/**
 * 流程节点Service业务层处理
 *
 * @author manton
 */
@Service
@RequiredArgsConstructor(onConstructor_ = @Autowired)
public class ApprovalNodeServiceImpl extends ServiceImpl<ApprovalNodeMapper, ApprovalNode> implements IApprovalNodeService {
 
 
 
    @Override//列表查询
    public List<ApprovalNodeVo> queryList(ApprovalNodeQueryBo bo)
    {
        QueryWrapper<ApprovalNode> qw = getQw(bo);
        List<ApprovalNode> list = this.list(qw);
        return Convert.toList(ApprovalNodeVo.class , list);
    }
 
    @Override//id查询
    public ApprovalNodeVo queryById(Long nodeId)
    {
        ApprovalNode db = this.baseMapper.selectById(nodeId);
        return Convert.convert(ApprovalNodeVo.class , db);
    }
 
 
    @Override//添加
    @Transactional
    public Boolean insertByBo(ApprovalNodeBo bo)
    {
        ApprovalNode add = Convert.convert(ApprovalNode.class, bo);
        validEntityBeforeSave(add);
        return this.save(add);
    }
 
    @Override//修改
    @Transactional
    public Boolean updateByBo(ApprovalNodeBo bo)
    {
        ApprovalNode update = Convert.convert(ApprovalNode.class, bo);
        validEntityBeforeSave(update);
        return this.updateById(update);
    }
 
    @Override//删除
    @Transactional
    public Boolean deleteByIds(Collection<Long> ids)
    {
 
        //做一些业务上的校验,判断是否需要校验
 
        return this.removeByIds(ids);
    }
 
 
//-------------------------------------------------------------------------------------
 
    //保存前校验
    private void validEntityBeforeSave(ApprovalNode entity)
    {
        //做一些数据校验,如唯一约束
    }
 
    //获取查询参数
    private QueryWrapper<ApprovalNode> getQw(ApprovalNodeQueryBo bo)
    {
        QueryWrapper<ApprovalNode> qw = Wrappers.query();
 
            qw.like(StringUtils.isNotEmpty(bo.getNodeName()), "node_name", bo.getNodeName());
            qw.eq(StringUtils.isNotEmpty(bo.getNodeCode()), "node_code", bo.getNodeCode());
            qw.eq(bo.getNodeClassId() != null, "node_class_id", bo.getNodeClassId());
            qw.like(StringUtils.isNotEmpty(bo.getNodeClassName()), "node_class_name", bo.getNodeClassName());
            qw.eq(bo.getNodeType() != null, "node_type", bo.getNodeType());
            qw.eq(bo.getAboutId() != null, "about_id", bo.getAboutId());
            qw.eq(StringUtils.isNotEmpty(bo.getApproveExpression()), "approve_expression", bo.getApproveExpression());
            qw.eq(bo.getApproveAction() != null, "approve_action", bo.getApproveAction());
            qw.eq(bo.getSortNum() != null, "sort_num", bo.getSortNum());
        if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){
            if ("acs".equals(bo.getIsAsc())) {
                qw.orderByAsc(bo.getOrderByColumn());
            } else if ("desc".equals(bo.getIsAsc())) {
                qw.orderByDesc(bo.getOrderByColumn());
            }
        }
        return qw;
    }
}