package com.ruoyi.other.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.ruoyi.common.core.enums.status.AdvertisingStatusEnum;
|
import com.ruoyi.common.core.web.domain.AjaxResult;
|
import com.ruoyi.common.core.web.page.PageInfo;
|
import com.ruoyi.common.log.annotation.Log;
|
import com.ruoyi.common.log.enums.BusinessType;
|
import com.ruoyi.common.log.enums.OperatorType;
|
import com.ruoyi.common.security.annotation.Logical;
|
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
import com.ruoyi.other.api.domain.TAdvertising;
|
import com.ruoyi.other.api.domain.TVip;
|
import com.ruoyi.other.api.dto.AdvertisingDTO;
|
import com.ruoyi.other.service.TAdvertisingService;
|
import com.ruoyi.other.service.TVipService;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.HttpEntity;
|
import org.springframework.http.HttpMethod;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.util.LinkedMultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.time.LocalDateTime;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.io.ByteArrayInputStream;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
import java.security.SecureRandom;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author 无关风月
|
* @since 2024-08-06
|
*/
|
@RestController
|
@RequestMapping("/advertising")
|
public class TAdvertisingController {
|
|
@Autowired
|
private TAdvertisingService advertisingService;
|
|
|
@RequiresPermissions(value = {"/advertisement/add"}, logical = Logical.OR)
|
@PostMapping("/saveAdvertising")
|
@ApiOperation(tags = {"管理后台-广告管理"},value = "广告添加")
|
@Log(title = "【广告管理】添加广告", businessType = BusinessType.INSERT,operatorType = OperatorType.MANAGE)
|
public AjaxResult saveAdvertising(@RequestBody TAdvertising dto) {
|
advertisingService.save(dto);
|
return AjaxResult.success();
|
}
|
|
|
@RequiresPermissions(value = {"/advertisement/del"}, logical = Logical.OR)
|
@GetMapping("/delete")
|
@ApiOperation(tags = {"管理后台-广告管理"},value = "广告删除")
|
@Log(title = "【广告管理】删除广告", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
|
public AjaxResult delete(String ids) {
|
advertisingService.removeBatchByIds(Arrays.asList(ids.split(",")));
|
return AjaxResult.success();
|
}
|
|
|
@RequiresPermissions(value = {"/advertisement/update"}, logical = Logical.OR)
|
@PostMapping("/updateVip")
|
@ApiOperation(tags = {"管理后台-广告管理"},value = "广告修改")
|
@Log(title = "【广告管理】修改广告", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
|
public AjaxResult updateVip(@RequestBody TAdvertising dto) {
|
if (dto.getJumpType()!=null && dto.getJumpType() == 2){
|
// 清空跳转地址
|
advertisingService.updateById(dto);
|
LambdaUpdateWrapper<TAdvertising> tAdvertisingLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
tAdvertisingLambdaUpdateWrapper.eq(TAdvertising::getId,dto.getId())
|
.set(TAdvertising::getJumpUrl,null);
|
advertisingService.update(tAdvertisingLambdaUpdateWrapper);
|
}else{
|
advertisingService.updateById(dto);
|
}
|
return AjaxResult.success();
|
}
|
|
|
|
@RequiresPermissions(value = {"/advertisement/select"}, logical = Logical.OR)
|
@GetMapping("/getInfo")
|
@ApiOperation(tags = {"管理后台-广告管理"},value = "广告查看详情")
|
public AjaxResult<TAdvertising> getInfo(Integer id) {
|
return AjaxResult.ok(advertisingService.getById(id));
|
}
|
|
|
|
@RequiresPermissions(value = {"/advertisement"}, logical = Logical.OR)
|
@ApiOperation(tags = {"管理后台-广告管理"},value = "广告列表分页查询")
|
@PostMapping(value = "/pageList")
|
public AjaxResult<PageInfo<TAdvertising>> pageList(@RequestBody AdvertisingDTO dto) {
|
return AjaxResult.ok(advertisingService.pageList(dto));
|
}
|
|
|
@ApiOperation(tags = {"小程序-广告管理"},value = "广告列表查询")
|
@GetMapping(value = "/list")
|
public AjaxResult<List<TAdvertising>> list(@RequestParam("position") Integer position) {
|
return AjaxResult.ok(advertisingService.list(Wrappers.lambdaQuery(TAdvertising.class)
|
.eq(TAdvertising::getStatus, AdvertisingStatusEnum.YES.getCode())
|
.eq(TAdvertising::getPosition,position)
|
.le(TAdvertising::getStartTime, LocalDateTime.now())
|
.ge(TAdvertising::getEndTime,LocalDateTime.now())));
|
}
|
}
|