package com.zsElectric.boot.app.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zsElectric.boot.app.model.form.BannerInfoForm; import com.zsElectric.boot.app.model.query.BannerInfoPageQuery; import com.zsElectric.boot.app.model.vo.BannerInfoPageVO; import com.zsElectric.boot.app.service.BannerInfoService; import com.zsElectric.boot.common.annotation.Log; import com.zsElectric.boot.common.enums.LogModuleEnum; import com.zsElectric.boot.core.web.PageResult; import com.zsElectric.boot.core.web.Result; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; /** * Banner信息接口 */ @Tag(name = "Banner信息接口") @RestController("appBannerInfoController") @RequestMapping("/api/v1/app/banner-info") @RequiredArgsConstructor public class BannerInfoController { private final BannerInfoService bannerInfoService; @Operation(summary = "Banner信息分页列表") @GetMapping("/page") @Log(value = "Banner信息分页列表", module = LogModuleEnum.OTHER) public PageResult listPagedBannerInfos(BannerInfoPageQuery queryParams) { IPage result = bannerInfoService.listPagedBannerInfos(queryParams); return PageResult.success(result); } @Operation(summary = "Banner信息详情") @GetMapping("/{id}") @Log(value = "Banner信息详情", module = LogModuleEnum.OTHER) public Result getBannerInfoFormData( @Parameter(description = "Banner信息ID") @PathVariable Long id) { BannerInfoForm formData = bannerInfoService.getBannerInfoFormData(id); return Result.success(formData); } @Operation(summary = "新增Banner信息") @PostMapping @PreAuthorize("hasRole('ADMIN')") @Log(value = "新增Banner信息", module = LogModuleEnum.OTHER) public Result saveBannerInfo(@RequestBody BannerInfoForm formData) { boolean result = bannerInfoService.saveBannerInfo(formData); return Result.success(result); } @Operation(summary = "修改Banner信息") @PutMapping("/{id}") @PreAuthorize("hasRole('ADMIN')") @Log(value = "修改Banner信息", module = LogModuleEnum.OTHER) public Result updateBannerInfo( @Parameter(description = "Banner信息ID") @PathVariable Long id, @RequestBody BannerInfoForm formData) { boolean result = bannerInfoService.updateBannerInfo(id, formData); return Result.success(result); } @Operation(summary = "删除Banner信息") @DeleteMapping("/{ids}") @PreAuthorize("hasRole('ADMIN')") @Log(value = "删除Banner信息", module = LogModuleEnum.OTHER) public Result deleteBannerInfos( @Parameter(description = "Banner信息ID,多个以英文逗号(,)分割") @PathVariable String ids) { boolean result = bannerInfoService.deleteBannerInfos(ids); return Result.success(result); } }