package com.ruoyi.system.service.impl.config;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.domain.dto.MgtAdvertEditDto;
import com.ruoyi.system.domain.pojo.config.Advert;
import com.ruoyi.system.domain.vo.AppAdvertVo;
import com.ruoyi.system.mapper.config.AdvertMapper;
import com.ruoyi.system.service.config.AdvertService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
/**
*
* 广告 服务实现类
*
*
* @author jqs
* @since 2023-04-25
*/
@Service
public class AdvertServiceImpl extends ServiceImpl implements AdvertService {
@Resource
private AdvertMapper advertMapper;
/**
* 获取首页广告
* @return
*/
@Override
public AppAdvertVo getAdvertVo(){
return advertMapper.getAdvertVo();
}
/**
* @description 获取广告配置
* @author jqs
* @date 2023/6/7 15:43
* @param
* @return Advert
*/
@Override
public Advert getAdvert(){
Advert advert = this.getOne(new LambdaQueryWrapper().eq(Advert::getDelFlag,0),false);
return advert;
}
/**
* @description 修改广告配置
* @author jqs
* @date \ 17:23
* @param mgtAdvertEditDto
* @return void
*/
@Override
public void editMgtAdvert(MgtAdvertEditDto mgtAdvertEditDto){
//删除旧广告配置
Advert advert = this.getOne(new LambdaQueryWrapper()
.eq(Advert::getDelFlag, 0)
.orderByDesc(Advert::getAdId)
.last("LIMIT 1"), false);
if (advert != null) {
advert.setDelFlag(1);
this.updateById(advert);
}
//创建新广告配置
advert = new Advert();
advert.setDelFlag(0);
advert.setAdUrl(mgtAdvertEditDto.getAdUrl());
advert.setAdContent(mgtAdvertEditDto.getHomeSlogan());
advert.setTargetType(mgtAdvertEditDto.getTargetType());
advert.setLinkType(mgtAdvertEditDto.getLinkType());
advert.setLinkUrl(mgtAdvertEditDto.getLinkUrl());
advert.setJumpType(mgtAdvertEditDto.getJumpType());
advert.setJumpId(mgtAdvertEditDto.getJumpId());
advert.setLogoUrl(mgtAdvertEditDto.getHomeLogo());
advert.setCreateTime(new Date());
advert.setCreateUserId(mgtAdvertEditDto.getUserId());
advert.setAppid(mgtAdvertEditDto.getAppid());
//广告语配置
advert.setTargetTypeSlogan(mgtAdvertEditDto.getTargetTypeSlogan());
advert.setLinkTypeSlogan(mgtAdvertEditDto.getLinkTypeSlogan());
advert.setLinkUrlSlogan(mgtAdvertEditDto.getLinkUrlSlogan());
advert.setJumpTypeSlogan(mgtAdvertEditDto.getJumpTypeSlogan());
advert.setJumpIdSlogan(mgtAdvertEditDto.getJumpIdSlogan());
advert.setAppidSlogan(mgtAdvertEditDto.getAppidSlogan());
this.save(advert);
}
}