龚焕茏
2024-03-21 e17e3b7f70fa5abc8341e64f1ffce5813bae4bc3
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package org.dromara.demo.service.impl;
 
import jakarta.transaction.Transactional;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.demo.domain.bo.TargetManageBo;
import org.dromara.demo.domain.vo.TargetManageVo;
import org.dromara.demo.domain.TargetManage;
import org.dromara.demo.mapper.TargetManageMapper;
import org.dromara.demo.service.ITargetManageService;
 
import java.util.List;
import java.util.Map;
import java.util.Collection;
 
/**
 * 【请填写功能名称】Service业务层处理
 *
 * @author Lion Li
 * @date 2024-02-20
 */
@RequiredArgsConstructor
@Service
public class TargetManageServiceImpl implements ITargetManageService {
 
    private final TargetManageMapper baseMapper;
 
    /**
     * 查询【请填写功能名称】
     */
    @Override
    public TargetManageVo queryById(Long tgId){
        return baseMapper.selectVoById(tgId);
    }
 
    /**
     * 查询【请填写功能名称】列表
     */
    @Override
    public TableDataInfo<TargetManageVo> queryPageList(TargetManageBo bo, PageQuery pageQuery) {
        LambdaQueryWrapper<TargetManage> lqw = buildQueryWrapper(bo);
        Page<TargetManageVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
        List<TargetManageVo> targetManageVoss= baseMapper.selectTargetManageInfo(bo);
        result.setRecords(targetManageVoss);
        result.setTotal(targetManageVoss.size());
        return TableDataInfo.build(result);
    }
 
    /**
     * 查询【请填写功能名称】列表
     */
    @Override
    public List<TargetManageVo> queryList(TargetManageBo bo) {
        LambdaQueryWrapper<TargetManage> lqw = buildQueryWrapper(bo);
        return baseMapper.selectVoList(lqw);
    }
 
    private LambdaQueryWrapper<TargetManage> buildQueryWrapper(TargetManageBo bo) {
        Map<String, Object> params = bo.getParams();
        LambdaQueryWrapper<TargetManage> lqw =  new LambdaQueryWrapper<>();
        lqw.eq(bo.getTgStatus() != null, TargetManage::getTgStatus, bo.getTgStatus());
        lqw.eq(bo.getTgType() != null, TargetManage::getTgType, bo.getTgType());
        lqw.eq(bo.getTgCreateTime() != null, TargetManage::getTgCreateTime, bo.getTgCreateTime());
        lqw.eq(bo.getUserId() != null, TargetManage::getUserId, bo.getUserId());
        lqw.like(StringUtils.isNotBlank(bo.getTgName()), TargetManage::getTgName, bo.getTgName());
        return lqw;
    }
 
    /**
     * 新增【请填写功能名称】
     */
    @Override
    public Boolean insertByBo(TargetManageBo bo) {
        TargetManage add = MapstructUtils.convert(bo, TargetManage.class);
        validEntityBeforeSave(add);
        boolean flag = baseMapper.insert(add) > 0;
        if (flag) {
            bo.setTgId(add.getTgId());
        }
        return flag;
    }
 
    /**
     * 修改【请填写功能名称】
     */
    @Override
    public Boolean updateByBo(TargetManageBo bo) {
        TargetManage update = MapstructUtils.convert(bo, TargetManage.class);
        validEntityBeforeSave(update);
        return baseMapper.updateById(update) > 0;
    }
 
    /**
     * 保存前的数据校验
     */
    private void validEntityBeforeSave(TargetManage entity){
        //TODO 做一些数据校验,如唯一约束
    }
 
    /**
     * 批量删除【请填写功能名称】
     */
    @Override
    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
        if(isValid){
            //TODO 做一些业务上的校验,判断是否需要校验
        }
        return baseMapper.deleteBatchIds(ids) > 0;
    }
 
    @Override
    @Transactional
    public void updateStatus(Long id) {
        TargetManage targetManage = baseMapper.selectOne(new LambdaQueryWrapper<TargetManage>().eq(TargetManage::getTgId, id));
        if(targetManage.getTgStatus()==1){
            targetManage.setTgStatus(0);
 
        }else {
            targetManage.setTgStatus(1);
 
        }
        baseMapper.updateById(targetManage);
    }
 
}