xin
4 days ago 982313135d1c239fe3b20e4c5664781f92d40aca
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 com.oying.modules.message.service.impl;
 
import com.oying.modules.message.domain.MesAdvertisement;
import com.oying.utils.FileUtil;
import lombok.RequiredArgsConstructor;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.oying.modules.message.service.MesAdvertisementService;
import com.oying.modules.message.domain.dto.MesAdvertisementQueryCriteria;
import com.oying.modules.message.mapper.MesAdvertisementMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.oying.utils.PageUtil;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import com.oying.utils.PageResult;
 
/**
* @description 服务实现
* @author 李萌
* @date 2025-07-25
**/
@Service
@RequiredArgsConstructor
public class MesAdvertisementServiceImpl extends ServiceImpl<MesAdvertisementMapper, MesAdvertisement> implements MesAdvertisementService {
 
    private final MesAdvertisementMapper mesAdvertisementMapper;
 
    @Override
    public PageResult<MesAdvertisement> queryAll(MesAdvertisementQueryCriteria criteria, Page<Object> page){
        return PageUtil.toPage(mesAdvertisementMapper.findAll(criteria, page));
    }
 
    @Override
    public List<MesAdvertisement> queryAll(MesAdvertisementQueryCriteria criteria){
        return mesAdvertisementMapper.findAll(criteria);
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void create(MesAdvertisement resources) {
        mesAdvertisementMapper.insert(resources);
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void update(MesAdvertisement resources) {
        MesAdvertisement mesAdvertisement = getById(resources.getId());
        mesAdvertisement.copy(resources);
        mesAdvertisementMapper.updateById(mesAdvertisement);
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteAll(List<Long> ids) {
        mesAdvertisementMapper.deleteBatchIds(ids);
    }
 
    @Override
    public void download(List<MesAdvertisement> all, HttpServletResponse response) throws IOException {
        List<Map<String, Object>> list = new ArrayList<>();
        for (MesAdvertisement mesAdvertisement : all) {
            Map<String, Object> map = new LinkedHashMap<>();
            map.put("广告标题", mesAdvertisement.getTitle());
            map.put("副标题/简介", mesAdvertisement.getSubTitle());
            map.put("广告正文(支持富文本)", mesAdvertisement.getContent());
            map.put("封面图URL", mesAdvertisement.getCoverImg());
            map.put("Banner图URL(冗余)", mesAdvertisement.getBannerImg());
            map.put("投放渠道 1小程序 2APP 3全平台", mesAdvertisement.getPlatform());
            map.put("跳转类型 1内部 2外部", mesAdvertisement.getJumpType());
            map.put("跳转地址(内部路径或外部链接)", mesAdvertisement.getJumpUrl());
            map.put("跳转携带参数(JSON)", mesAdvertisement.getJumpParams());
            map.put("排序值 越大越前", mesAdvertisement.getSortOrder());
            map.put("是否置顶 0否 1是", mesAdvertisement.getIsTop());
            map.put("状态 1启用 2禁用", mesAdvertisement.getStatus());
            map.put("公告开始时间", mesAdvertisement.getEffectiveTime());
            map.put("公告结束时间", mesAdvertisement.getExpireTime());
            map.put("点击次数(冗余)", mesAdvertisement.getClickCount());
            map.put("展示次数(冗余)", mesAdvertisement.getShowCount());
            map.put("备注", mesAdvertisement.getRemark());
            map.put(" createBy",  mesAdvertisement.getCreateBy());
            map.put(" createTime",  mesAdvertisement.getCreateTime());
            map.put(" updateBy",  mesAdvertisement.getUpdateBy());
            map.put(" updateTime",  mesAdvertisement.getUpdateTime());
            list.add(map);
        }
        FileUtil.downloadExcel(list, response);
    }
}