NatureArticleServiceImpl.java
4.5 KB
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 com.canrd.webmagic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.canrd.webmagic.domain.dto.NatureArticleDO;
import com.central.common.utils.CopyBeanUtils;
import com.gree.doraemon.base.core.bean.BeanUtil;
import com.gree.doraemon.base.core.collection.CollUtil;
import com.gree.gaolan.common.constant.Constant;
import com.gree.gaolan.common.constant.ServerResult;
import com.gree.gaolan.common.util.PageUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
* nature-文章信息(NatureArticle)表服务实现类
*
* @author makejava
* @since 2024-04-07 18:39:49
*/
@Slf4j
@Service
public class NatureArticleServiceImpl extends ServiceImpl<NatureArticleMapper, NatureArticleDO> implements NatureArticleService {
/**
* 通过ID查询单条数据
* <p>
* natureArticleQueryVO 主键
*
* @return 实例对象
*/
@Override
public ServerResult queryById(NatureArticleQueryVO natureArticleQueryVO) {
if (Objects.isNull(natureArticleQueryVO.getId())) {
return ServerResult.fail("id 不能为空");
}
NatureArticleDO NatureArticleDo = getById(natureArticleQueryVO.getId());
if (Objects.isNull(NatureArticleDo)) {
return ServerResult.success(null);
}
return ServerResult.success(BeanUtil.copyProperties(NatureArticleDo, NatureArticleVO.class));
}
/**
* 分页查询
*
* @param natureArticleQueryVO 筛选条件
* @return 查询结果
*/
@Override
public ServerResult list(NatureArticleQueryVO natureArticleQueryVO) {
LambdaQueryWrapper<NatureArticleDO> queryWapper = new LambdaQueryWrapper<NatureArticleDO>()
.eq(NatureArticleDO::getEnableFlag, Constant.ENABLE_TEN)
.orderByDesc(NatureArticleDO::getId);
Page page = new Page<>(natureArticleQueryVO.getCurrent(), natureArticleQueryVO.getSize());
IPage<NatureArticleDO> iPage = page(page, queryWapper);
natureArticleQueryVO.setTotal(Long.valueOf(iPage.getTotal()).intValue());
List<NatureArticleVO> result = CopyBeanUtils.trans(iPage.getRecords(), NatureArticleVO.class);
return ServerResult.success(PageUtils.getPageReturn(result, natureArticleQueryVO));
}
/**
* 新增数据
*
* @param natureArticleVO 实例对象
* @return 实例对象
*/
@Override
public ServerResult add(NatureArticleVO natureArticleVO) {
//todo 校验
if (Objects.nonNull(natureArticleVO.getId())) {
natureArticleVO.setId(null);
}
NatureArticleDO natureArticleDo = BeanUtil.copyProperties(natureArticleVO, NatureArticleDO.class);
save(natureArticleDo);
return ServerResult.success();
}
/**
* 修改数据
*
* @param natureArticleVO 实例对象
* @return 实例对象
*/
@Override
public ServerResult edit(NatureArticleVO natureArticleVO) {
//todo 校验
if (Objects.isNull(natureArticleVO.getId())) {
return ServerResult.fail("id 不能为空");
}
NatureArticleDO natureArticleDo = BeanUtil.copyProperties(natureArticleVO, NatureArticleDO.class);
updateById(natureArticleDo);
return ServerResult.success();
}
/**
* 通过主键删除数据
*
* @param natureArticleQueryVO 筛选条件
* @return 是否成功
*/
@Override
public ServerResult deleteById(NatureArticleQueryVO natureArticleQueryVO) {
List<Long> ids = natureArticleQueryVO.getIds();
if (CollUtil.isEmpty(ids)) {
return ServerResult.fail("ids 参数不能为空");
}
List<NatureArticleDO> natureArticleList = listByIds(ids);
if (CollUtil.isEmpty(natureArticleList)) {
return ServerResult.success();
}
//todo 校验是否可以逻辑删除
LambdaUpdateWrapper<NatureArticleDO> updateWrapper = new LambdaUpdateWrapper<NatureArticleDO>()
.in(NatureArticleDO::getId, ids)
.set(NatureArticleDO::getEnableFlag, Constant.UNABLE_TWENTY);
update(updateWrapper);
return ServerResult.success();
}
}