huanghongfa
2020-12-29 37f55403e7573d8c15b6b0f957b7cb1baf6be4ea
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java
@@ -1,16 +1,22 @@
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
@@ -22,6 +28,8 @@
public class ComOpsAdvServiceImpl implements ComOpsAdvService {
    @Resource
    private ComOpsAdvJumpDAO comOpsAdvJumpDAO;
    @Resource
    private ComOpsAdvDAO comOpsAdvDAO;
    /**
     * 获取广告跳转内容配置
     *
@@ -41,4 +49,42 @@
        }
        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();
    }
}