inleft
2022-02-17 4d51af31b49927bf401e432138d584f9ef40ef22
commit | author | age
9bcb19 1 /*
I 2 Copyright [2020] [https://www.xiaonuo.vip]
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8   http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
17
18 1.请不要删除和修改根目录下的LICENSE文件。
19 2.请不要删除和修改Snowy源码头部的版权声明。
20 3.请保留源码和相关描述文件的项目出处,作者声明等。
21 4.分发源码时候,请注明软件出处 https://gitee.com/xiaonuobase/snowy
22 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/xiaonuobase/snowy
23 6.若您的项目无法满足以上几点,可申请商业授权,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
24  */
25 package vip.xiaonuo.modular.blogarticle.service.impl;
26
27 import cn.hutool.core.bean.BeanUtil;
28 import cn.hutool.core.util.ObjectUtil;
29 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
30 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
f1b087 31 import org.springframework.stereotype.Service;
I 32 import org.springframework.transaction.annotation.Transactional;
9bcb19 33 import vip.xiaonuo.core.exception.ServiceException;
I 34 import vip.xiaonuo.core.factory.PageFactory;
35 import vip.xiaonuo.core.pojo.page.PageResult;
36 import vip.xiaonuo.core.util.PoiUtil;
37 import vip.xiaonuo.modular.blogarticle.entity.BlogArticle;
38 import vip.xiaonuo.modular.blogarticle.enums.BlogArticleExceptionEnum;
39 import vip.xiaonuo.modular.blogarticle.mapper.BlogArticleMapper;
40 import vip.xiaonuo.modular.blogarticle.param.BlogArticleParam;
41 import vip.xiaonuo.modular.blogarticle.service.BlogArticleService;
f1b087 42
9bcb19 43 import java.util.List;
0613f2 44 import java.util.Map;
9bcb19 45
I 46 /**
f1b087 47  * blog文章service接口实现类
9bcb19 48  *
I 49  * @author inleft
f1b087 50  * @date 2022-02-09 18:20:46
9bcb19 51  */
I 52 @Service
53 public class BlogArticleServiceImpl extends ServiceImpl<BlogArticleMapper, BlogArticle> implements BlogArticleService {
54
55     @Override
56     public PageResult<BlogArticle> page(BlogArticleParam blogArticleParam) {
57         QueryWrapper<BlogArticle> queryWrapper = new QueryWrapper<>();
58         if (ObjectUtil.isNotNull(blogArticleParam)) {
59
60             // 根据文章标题 查询
61             if (ObjectUtil.isNotEmpty(blogArticleParam.getTitle())) {
f1b087 62                 queryWrapper.lambda().like(BlogArticle::getTitle, blogArticleParam.getTitle());
9bcb19 63             }
f1b087 64             // 根据文件类型 查询
9bcb19 65             if (ObjectUtil.isNotEmpty(blogArticleParam.getArticleFileType())) {
I 66                 queryWrapper.lambda().eq(BlogArticle::getArticleFileType, blogArticleParam.getArticleFileType());
67             }
f1b087 68             // 根据文章分类 查询
9bcb19 69             if (ObjectUtil.isNotEmpty(blogArticleParam.getArticleTypeId())) {
I 70                 queryWrapper.lambda().eq(BlogArticle::getArticleTypeId, blogArticleParam.getArticleTypeId());
71             }
72             // 根据文章引言 查询
73             if (ObjectUtil.isNotEmpty(blogArticleParam.getIntroduce())) {
f1b087 74                 queryWrapper.lambda().like(BlogArticle::getIntroduce, blogArticleParam.getIntroduce());
9bcb19 75             }
I 76             // 根据发布时间 查询
77             if (ObjectUtil.isNotEmpty(blogArticleParam.getPublishDate())) {
f1b087 78                 queryWrapper.lambda().ge(BlogArticle::getPublishDate, blogArticleParam.getPublishDate());
9bcb19 79             }
f1b087 80             // 根据是否置顶 查询
9bcb19 81             if (ObjectUtil.isNotEmpty(blogArticleParam.getIsTop())) {
I 82                 queryWrapper.lambda().eq(BlogArticle::getIsTop, blogArticleParam.getIsTop());
83             }
f1b087 84             // 根据公开状态 查询
9bcb19 85             if (ObjectUtil.isNotEmpty(blogArticleParam.getAuthStatus())) {
I 86                 queryWrapper.lambda().eq(BlogArticle::getAuthStatus, blogArticleParam.getAuthStatus());
87             }
f1b087 88             // 根据编辑状态 查询
9bcb19 89             if (ObjectUtil.isNotEmpty(blogArticleParam.getEditorStatus())) {
I 90                 queryWrapper.lambda().eq(BlogArticle::getEditorStatus, blogArticleParam.getEditorStatus());
91             }
92             // 根据创建时间 查询
93             if (ObjectUtil.isNotEmpty(blogArticleParam.getCreateDate())) {
f1b087 94                 queryWrapper.lambda().ge(BlogArticle::getCreateDate, blogArticleParam.getCreateDate());
9bcb19 95             }
I 96         }
97         return new PageResult<>(this.page(PageFactory.defaultPage(), queryWrapper));
98     }
99
100     @Override
101     public List<BlogArticle> list(BlogArticleParam blogArticleParam) {
102         return this.list();
103     }
104
105     @Override
106     public void add(BlogArticleParam blogArticleParam) {
107         BlogArticle blogArticle = new BlogArticle();
108         BeanUtil.copyProperties(blogArticleParam, blogArticle);
109         this.save(blogArticle);
110     }
111
112     @Transactional(rollbackFor = Exception.class)
113     @Override
114     public void delete(List<BlogArticleParam> blogArticleParamList) {
115         blogArticleParamList.forEach(blogArticleParam -> {
116             this.removeById(blogArticleParam.getId());
117         });
118     }
119
120     @Transactional(rollbackFor = Exception.class)
121     @Override
122     public void edit(BlogArticleParam blogArticleParam) {
123         BlogArticle blogArticle = this.queryBlogArticle(blogArticleParam);
124         BeanUtil.copyProperties(blogArticleParam, blogArticle);
125         this.updateById(blogArticle);
126     }
127
128     @Override
129     public BlogArticle detail(BlogArticleParam blogArticleParam) {
130         return this.queryBlogArticle(blogArticleParam);
131     }
132
133     /**
f1b087 134      * 获取blog文章
9bcb19 135      *
I 136      * @author inleft
f1b087 137      * @date 2022-02-09 18:20:46
9bcb19 138      */
I 139     private BlogArticle queryBlogArticle(BlogArticleParam blogArticleParam) {
140         BlogArticle blogArticle = this.getById(blogArticleParam.getId());
141         if (ObjectUtil.isNull(blogArticle)) {
142             throw new ServiceException(BlogArticleExceptionEnum.NOT_EXIST);
143         }
144         return blogArticle;
145     }
146
147     @Override
148     public void export(BlogArticleParam blogArticleParam) {
149         List<BlogArticle> list = this.list(blogArticleParam);
150         PoiUtil.exportExcelWithStream("SnowyBlogArticle.xls", BlogArticle.class, list);
151     }
152
0613f2 153
I 154     @Override
155     public List searchMediaList(Map<String, Object> param) {
156         return this.baseMapper.searchMediaList(param);
157     }
158
159     @Override
160     public long searchMediaListCount(Map<String, Object> param) {
161         return this.baseMapper.searchMediaListCount(param);
162     }
9bcb19 163 }