| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package com.cyksj.service.home.impl;
- import cn.hutool.core.bean.BeanUtil;
- import cn.hutool.core.collection.CollUtil;
- import cn.hutool.core.lang.Assert;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.cyksj.common.exception.BusinessRuntimeException;
- import com.cyksj.mapper.GoodsDonMapper;
- import com.cyksj.mapper.manage.home.HomeManagementConfigMapper;
- import com.cyksj.model.entity.GoodsDon;
- import com.cyksj.model.entity.HomeManagementConfig;
- import com.cyksj.model.request.HomeManageConfigReq;
- import com.cyksj.service.home.HomeManagementConfigService;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Service;
- import java.util.List;
- /*
- *项目名: netflix
- *文件名: HomeManagementConfigServiceImpl
- *创建者: JavaZou
- *创建时间:2023/8/17 16:48
- */
- @Service
- @RequiredArgsConstructor
- @Slf4j
- public class HomeManagementConfigServiceImpl extends ServiceImpl<HomeManagementConfigMapper, HomeManagementConfig> implements HomeManagementConfigService {
- private final GoodsDonMapper goodsDonMapper;
- @Override
- public void saveOrUpdateConfig(HomeManageConfigReq config) {
- if (isSpecialType(config.getType())) {
- Assert.notEmpty(config.getTitle(), "标题不为空");
- HomeManagementConfig homeManagementConfig = new HomeManagementConfig();
- BeanUtil.copyProperties(config, homeManagementConfig);
- if (config.getType() == HomeManagementConfig.Type.ad) {
- if (config.getAdType() == null) {
- throw BusinessRuntimeException.getInstance("请选择对应的广告配置类型");
- }
- }
- this.saveOrUpdate(homeManagementConfig);
- return;
- }
- //首页平台推荐、首页精彩推荐
- List<Long> goodsIds = config.getGoodsIds();
- if (CollUtil.isEmpty(goodsIds)) {
- throw BusinessRuntimeException.getInstance("请选择对应的平台");
- }
- goodsIds.forEach(goodsId -> {
- GoodsDon goodsDon = goodsDonMapper.selectById(goodsId);
- if (goodsDon == null || !goodsDon.getStatus()) {
- return;
- }
- HomeManagementConfig homeManagementConfig = this.getOne(Wrappers.lambdaQuery(HomeManagementConfig.class)
- .ne(config.getId() != null, HomeManagementConfig::getId, config.getId())
- .eq(HomeManagementConfig::getGoodsId, goodsId)
- .eq(HomeManagementConfig::getType, config.getType())
- .eq(HomeManagementConfig::getDeleted, true).last("limit 1"));
- if (homeManagementConfig != null) {
- return;
- }
- homeManagementConfig = new HomeManagementConfig();
- BeanUtil.copyProperties(config, homeManagementConfig);
- homeManagementConfig.setGoodsId(goodsId);
- homeManagementConfig.setType(config.getType());
- this.saveOrUpdate(homeManagementConfig);
- });
- }
- public Boolean isSpecialType(HomeManagementConfig.Type type) {
- if (type == HomeManagementConfig.Type.rg || type == HomeManagementConfig.Type.ad) {
- return true;
- }
- return false;
- }
- }
|