package com.mzl.flower.web.content; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.BatchDTO; import com.mzl.flower.dto.request.content.AddAdvertisementDTO; import com.mzl.flower.dto.request.content.QueryBannerDTO; import com.mzl.flower.dto.request.content.UpdateAdvertisementDTO; import com.mzl.flower.dto.response.content.AdvertisementDTO; import com.mzl.flower.dto.response.content.BannerDTO; import com.mzl.flower.entity.content.Advertisement; import com.mzl.flower.entity.content.Banner; import com.mzl.flower.service.content.AdvertisementService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; import java.util.List; @RestController @RequestMapping("/api/advertisement") @Api(value = "广告管理", tags = "广告管理") @Validated @Slf4j public class AdvertisementController extends BaseController { private final AdvertisementService advertisementService; public AdvertisementController(AdvertisementService advertisementService) { this.advertisementService = advertisementService; } @PostMapping("/page/new") @ApiOperation(value = "新增", notes = "新增") public ResponseEntity add(@Validated @RequestBody AddAdvertisementDTO dto) { advertisementService.add(dto); return returnData(R.SUCCESS.getCode(),null); } @PostMapping("/page/edit") @ApiOperation(value = "修改", notes = "修改") public ResponseEntity update(@Validated @RequestBody UpdateAdvertisementDTO dto) { advertisementService.update(dto); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/page/delete") @ApiOperation(value = "删除", notes = "删除") public ResponseEntity delete(@NotNull(message = "id不能为空") Long id) { advertisementService.delete(id); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/page/view") @ApiOperation(value = "详情", notes = "详情") public ResponseEntity> detail(@NotNull(message = "id不能为空") Long id) { return returnData(R.SUCCESS.getCode(),advertisementService.detail(id)); } @GetMapping("/page") @ApiOperation(value = "查询-分页", notes = "查询-分页") public ResponseEntity>> queryPage(String title,String status, Page page) { return returnData(R.SUCCESS.getCode(), advertisementService.queryPage(title,status,page)); } @GetMapping("/page/changeStatus") @ApiOperation(value = "修改状态", notes = "修改状态") public ResponseEntity changeStatus(@NotNull(message = "id不能为空") Long id ) { advertisementService.changeStatus(id); return returnData(R.SUCCESS.getCode(), null); } @PostMapping("/page/delete/batch") @ApiOperation(value = "批量删除", notes = "批量删除") public ResponseEntity batchDelete(@Validated @RequestBody BatchDTO dto) { advertisementService.batchDelete(dto); return returnData(R.SUCCESS.getCode(),null); } @PostMapping("/page/publish/batch") @ApiOperation(value = "批量发布", notes = "批量发布") public ResponseEntity batchPublish(@Validated @RequestBody BatchDTO dto) { advertisementService.batchPublish(dto); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/list") @ApiOperation(value = "用户端-查询列表", notes = "用户端-查询列表") public ResponseEntity>> queryList(String title) { return returnData(R.SUCCESS.getCode(), advertisementService.queryList(title,Constants.COMMON_PUBLISH_STATUS.published.name())); } }