huanghongfa
2020-12-29 37f55403e7573d8c15b6b0f957b7cb1baf6be4ea
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
package com.panzhihua.service_community.service.impl;
 
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.dtos.AppletesBackstageConfigDTO;
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.service_community.dao.ComOpsAdvDAO;
import com.panzhihua.service_community.dao.ComOpsAdvJumpDAO;
import com.panzhihua.service_community.model.dos.ComOpsAdvJumpDO;
import com.panzhihua.service_community.service.ComOpsAdvService;
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;
    /**
     * 获取广告跳转内容配置
     *
     * @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();
    }
}