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 implements MesAdvertisementService { private final MesAdvertisementMapper mesAdvertisementMapper; @Override public PageResult queryAll(MesAdvertisementQueryCriteria criteria, Page page){ return PageUtil.toPage(mesAdvertisementMapper.findAll(criteria, page)); } @Override public List 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 ids) { mesAdvertisementMapper.deleteBatchIds(ids); } @Override public void download(List all, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (MesAdvertisement mesAdvertisement : all) { Map 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); } }