Helius
2022-05-13 38509c81ad96ae49df6a6dba3f66dffb9bfb04bf
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
package cc.mrbird.febs.mall.service.impl;
 
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.mall.dto.MallNewsInfoDto;
import cc.mrbird.febs.mall.entity.MallNewsInfo;
import cc.mrbird.febs.mall.mapper.MallNewsInfoMapper;
import cc.mrbird.febs.mall.service.IMallNewsInfoService;
import cc.mrbird.febs.mall.vo.AdminMallNewsInfoVo;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
 
/**
 * @author wzy
 * @date 2022-05-13
 **/
@Slf4j
@Service
@RequiredArgsConstructor
public class MallNewsInfoServiceImpl extends ServiceImpl<MallNewsInfoMapper, MallNewsInfo> implements IMallNewsInfoService {
    
    @Override
    public IPage<AdminMallNewsInfoVo> getNewInfoList(MallNewsInfo mallNewsInfo, QueryRequest request) {
        Page<AdminMallNewsInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<AdminMallNewsInfoVo> adminMallNewsInfoVos = this.baseMapper.getNewInfoListInPage(page, mallNewsInfo);
        return adminMallNewsInfoVos;
    }
 
    @Override
    public FebsResponse addNewsInfo(MallNewsInfoDto mallNewsInfoDto) {
        Integer type = mallNewsInfoDto.getType();
        if(type == 2){
            Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId();
            if(goodsId == 0L){
                return new FebsResponse().fail().message("请选择跳转的产品");
            }
        }
        MallNewsInfo mallNewsInfo = new MallNewsInfo();
        mallNewsInfo.setTitle(mallNewsInfoDto.getTitle());
        mallNewsInfo.setContent(mallNewsInfoDto.getContent());
        mallNewsInfo.setType(mallNewsInfoDto.getType());
        if(mallNewsInfoDto.getType() == 2){
            mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId());
        }
        this.baseMapper.insert(mallNewsInfo);
        return new FebsResponse().success();
    }
 
    @Override
    public FebsResponse delNewsInfo(Long id) {
        MallNewsInfo mallNewsInfo = this.baseMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallNewsInfo)){
            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
        }
        this.baseMapper.deleteById(id);
        return new FebsResponse().success();
    }
 
    @Override
    public FebsResponse updateNewsInfo(MallNewsInfoDto mallNewsInfoDto) {
        MallNewsInfo mallNewsInfoBefore = this.baseMapper.selectById(mallNewsInfoDto.getId());
        if(ObjectUtil.isEmpty(mallNewsInfoBefore)){
            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
        }
        Integer type = mallNewsInfoDto.getType();
        if(type == 2){
            Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId();
            if(goodsId == 0L){
                return new FebsResponse().fail().message("请选择跳转的产品");
            }
        }
        MallNewsInfo mallNewsInfo = new MallNewsInfo();
        mallNewsInfo.setTitle(mallNewsInfoDto.getTitle());
        mallNewsInfo.setContent(mallNewsInfoDto.getContent());
        mallNewsInfo.setType(mallNewsInfoDto.getType());
        if(mallNewsInfoDto.getType() == 2){
            mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId());
        }
        this.baseMapper.insert(mallNewsInfo);
        this.baseMapper.deleteById(mallNewsInfoDto.getId());
        return new FebsResponse().success();
    }
 
    @Override
    public MallNewsInfo getNewsInfoById(long id) {
        return this.baseMapper.selectById(id);
    }
}