package com.panzhihua.service_community.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.panzhihua.common.exceptions.ServiceException;
|
import com.panzhihua.common.model.dtos.AppletesBackstageConfigDTO;
|
import com.panzhihua.common.model.dtos.advertisement.ComOpsAdvDTO;
|
import com.panzhihua.common.model.dtos.advertisement.ComOpsAdvJumpDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.advertisement.ComOpsAdvJumpVO;
|
import com.panzhihua.common.model.vos.advertisement.ComOpsAdvPosVO;
|
import com.panzhihua.common.model.vos.advertisement.ComOpsAdvVO;
|
import com.panzhihua.service_community.dao.ComOpsAdvDAO;
|
import com.panzhihua.service_community.dao.ComOpsAdvJumpDAO;
|
import com.panzhihua.service_community.dao.ComOpsAdvPosDAO;
|
import com.panzhihua.service_community.model.dos.ComOpsAdvDO;
|
import com.panzhihua.service_community.model.dos.ComOpsAdvJumpDO;
|
import com.panzhihua.service_community.model.dos.ComOpsAdvPosDO;
|
import com.panzhihua.service_community.service.ComOpsAdvService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.ObjectUtils;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 广告
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-12-28 15:41
|
**/
|
@Service
|
public class ComOpsAdvServiceImpl implements ComOpsAdvService {
|
@Resource
|
private ComOpsAdvJumpDAO comOpsAdvJumpDAO;
|
@Resource
|
private ComOpsAdvDAO comOpsAdvDAO;
|
@Resource
|
private ComOpsAdvPosDAO comOpsAdvPosDAO;
|
/**
|
* 获取广告跳转内容配置
|
*
|
* @return 跳转内容集合
|
*/
|
@Override
|
public R getJumpContent() {
|
List<ComOpsAdvJumpVO> comOpsAdvJumpVOS=new ArrayList<>();
|
List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(null);
|
if (!ObjectUtils.isEmpty(comOpsAdvJumpDOS)) {
|
comOpsAdvJumpDOS.forEach(comOpsAdvJumpDO -> {
|
ComOpsAdvJumpVO comOpsAdvJumpVO=new ComOpsAdvJumpVO();
|
comOpsAdvJumpVO.setId(comOpsAdvJumpDO.getId());
|
comOpsAdvJumpVO.setJumpContent(comOpsAdvJumpDO.getJumpContent());
|
comOpsAdvJumpVOS.add(comOpsAdvJumpVO);
|
});
|
}
|
return R.ok(comOpsAdvJumpVOS);
|
}
|
|
/**
|
* 编辑运营后台系统配置
|
*
|
* @param appletesBackstageConfigDTO 编辑内容
|
* @return 编辑结果
|
*/
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public R putJumpContent(AppletesBackstageConfigDTO appletesBackstageConfigDTO) {
|
List<ComOpsAdvJumpDTO> comOpsAdvJumpDTOS = appletesBackstageConfigDTO.getComOpsAdvJumpDTOS();
|
if (ObjectUtils.isEmpty(comOpsAdvJumpDTOS)) {
|
return R.fail("广告跳转内容不能为空");
|
}
|
// 查询所有正在使用的跳转内容id
|
List<Long> ids=comOpsAdvDAO.selectAllBeUsedContent();
|
List<Long> collect = comOpsAdvJumpDTOS.stream().map(comOpsAdvJumpDTO -> comOpsAdvJumpDTO.getId()).collect(Collectors.toList());
|
if (!ObjectUtils.isEmpty(ids)) {
|
ids.forEach(aLong -> {
|
if (!collect.contains(aLong)) {
|
ComOpsAdvJumpDO comOpsAdvJumpDO = comOpsAdvJumpDAO.selectById(aLong);
|
String jumpContent = comOpsAdvJumpDO.getJumpContent();
|
throw new ServiceException(jumpContent+" 已经在使用无法删除");
|
}
|
});
|
}
|
comOpsAdvJumpDAO.delete(null);
|
comOpsAdvJumpDTOS.forEach(comOpsAdvJumpDTO -> {
|
ComOpsAdvJumpDO comOpsAdvJumpDO=new ComOpsAdvJumpDO();
|
String jumpContent = comOpsAdvJumpDTO.getJumpContent();
|
if (ObjectUtils.isEmpty(jumpContent)) {
|
throw new ServiceException("广告跳转内容不能为空");
|
}
|
comOpsAdvJumpDO.setJumpContent(jumpContent);
|
comOpsAdvJumpDAO.insert(comOpsAdvJumpDO);
|
});
|
return R.ok();
|
}
|
|
/**
|
* 首页广告banner
|
*
|
* @return 广告列表
|
*/
|
@Override
|
public R listAdvertisement() {
|
List<ComOpsAdvDO> comOpsAdvDOS = comOpsAdvDAO.selectList(new QueryWrapper<ComOpsAdvDO>().last(" where SYSDATE() BETWEEN on_at and off_at "));
|
List<ComOpsAdvVO> comOpsAdvVOS=new ArrayList<>();
|
if (!ObjectUtils.isEmpty(comOpsAdvDOS)) {
|
comOpsAdvDOS.forEach(comOpsAdvDO -> {
|
ComOpsAdvVO comOpsAdvVO=new ComOpsAdvVO();
|
BeanUtils.copyProperties(comOpsAdvDO,comOpsAdvVO);
|
comOpsAdvVOS.add(comOpsAdvVO);
|
});
|
}
|
return R.ok(comOpsAdvVOS);
|
}
|
|
/**
|
* 新增广告
|
*
|
* @param comOpsAdvDTO
|
* @return 新增结果
|
*/
|
@Override
|
public R addAdvertisement(ComOpsAdvDTO comOpsAdvDTO) {
|
ComOpsAdvDO comOpsAdvDO=new ComOpsAdvDO();
|
BeanUtils.copyProperties(comOpsAdvDTO,comOpsAdvDO);
|
int insert = comOpsAdvDAO.insert(comOpsAdvDO);
|
if (insert>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 编辑广告
|
*
|
* @param comOpsAdvDTO 编辑内容
|
* @return 编辑结果
|
*/
|
@Override
|
public R putAdvertisement(ComOpsAdvDTO comOpsAdvDTO) {
|
ComOpsAdvDO comOpsAdvDO=new ComOpsAdvDO();
|
BeanUtils.copyProperties(comOpsAdvDTO,comOpsAdvDO);
|
int update = comOpsAdvDAO.updateById(comOpsAdvDO);
|
if (update>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 广告位置下拉列表
|
*
|
* @return 位置集合
|
*/
|
@Override
|
public R listadvpos() {
|
List<ComOpsAdvPosDO> comOpsAdvPosDOS = comOpsAdvPosDAO.selectList(null);
|
List<ComOpsAdvPosVO> comOpsAdvPosVOS=new ArrayList<>();
|
comOpsAdvPosDOS.forEach(comOpsAdvPosDO -> {
|
ComOpsAdvPosVO comOpsAdvPosVO=new ComOpsAdvPosVO();
|
BeanUtils.copyProperties(comOpsAdvPosDO,comOpsAdvPosVO);
|
comOpsAdvPosVOS.add(comOpsAdvPosVO);
|
});
|
return R.ok(comOpsAdvPosVOS);
|
}
|
|
/**
|
* 跳转内容下拉集合
|
*
|
* @return 跳转集合
|
*/
|
@Override
|
public R listAdvjump() {
|
List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(null);
|
List<ComOpsAdvJumpVO> comOpsAdvJumpVOS=new ArrayList<>();
|
if (!ObjectUtils.isEmpty(comOpsAdvJumpDOS)) {
|
comOpsAdvJumpDOS.forEach(comOpsAdvJumpDO -> {
|
ComOpsAdvJumpVO comOpsAdvJumpVO=new ComOpsAdvJumpVO();
|
BeanUtils.copyProperties(comOpsAdvJumpDO,comOpsAdvJumpVO);
|
comOpsAdvJumpVOS.add(comOpsAdvJumpVO);
|
});
|
}
|
return R.ok(comOpsAdvJumpVOS);
|
}
|
}
|