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.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.*; /** *

* 前端控制器 *

* * @author 无关风月 * @since 2024-08-06 */ @RestController @RequestMapping("/advertising") public class TAdvertisingController { @Autowired private TAdvertisingService advertisingService; @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(); } @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(); } @PostMapping("/updateVip") @ApiOperation(tags = {"管理后台-广告管理"},value = "广告修改") @Log(title = "【广告管理】修改广告", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE) public AjaxResult updateVip(@RequestBody TAdvertising dto) { if (dto.getJumpType() == 2){ // 清空跳转地址 advertisingService.updateById(dto); LambdaUpdateWrapper tAdvertisingLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); tAdvertisingLambdaUpdateWrapper.eq(TAdvertising::getId,dto.getId()) .set(TAdvertising::getJumpUrl,null); advertisingService.update(tAdvertisingLambdaUpdateWrapper); }else{ advertisingService.updateById(dto); } return AjaxResult.success(); } @GetMapping("/getInfo") @ApiOperation(tags = {"管理后台-广告管理"},value = "广告查看详情") public AjaxResult getInfo(Integer id) { return AjaxResult.ok(advertisingService.getById(id)); } @ApiOperation(tags = {"管理后台-广告管理"},value = "广告列表分页查询") @PostMapping(value = "/pageList") public AjaxResult> pageList(@RequestBody AdvertisingDTO dto) { return AjaxResult.ok(advertisingService.pageList(dto)); } @ApiOperation(tags = {"小程序-广告管理"},value = "广告列表查询") @GetMapping(value = "/list") public AjaxResult> 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()))); } }