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);
|
}
|
}
|