云
5 天以前 d0cf2cb2c352bdeb146aad2bb57ba7d39cef3bbd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package cn.iocoder.yudao.module.system.controller.admin.homebanner;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.system.dal.dataobject.homebanner.HomeBannerDO;
import cn.iocoder.yudao.module.system.dal.mysql.homebanner.HomeBannerMapper;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import jakarta.validation.constraints.*;
import lombok.Data;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@RestController @RequestMapping("/system/home-banner") @Validated
public class HomeBannerController {
 @Resource private HomeBannerMapper mapper;
 private LambdaQueryWrapperX<HomeBannerDO> ordered() {
  LambdaQueryWrapperX<HomeBannerDO> query = new LambdaQueryWrapperX<>();
  query.orderByAsc(HomeBannerDO::getSort); query.orderByDesc(HomeBannerDO::getId); return query;
 }
 @GetMapping("/list") @PreAuthorize("@ss.hasPermission('system:home-banner:query')")
 public CommonResult<List<HomeBannerDO>> list() { return success(mapper.selectList(ordered())); }
 @GetMapping("/enabled-list")
 public CommonResult<List<HomeBannerDO>> enabledList() { return success(mapper.selectList(ordered().eq(HomeBannerDO::getStatus, 0))); }
 @PostMapping("/save") @PreAuthorize("@ss.hasPermission('system:home-banner:update')")
 public CommonResult<Boolean> save(@Valid @RequestBody SaveRequest req) {
  HomeBannerDO item = new HomeBannerDO(); item.setId(req.getId()); item.setTitle(req.getTitle().trim()); item.setImageUrl(req.getImageUrl().trim()); item.setSort(req.getSort()); item.setStatus(req.getStatus());
  if (item.getId() == null) mapper.insert(item); else mapper.updateById(item); return success(true);
 }
 @DeleteMapping("/delete") @PreAuthorize("@ss.hasPermission('system:home-banner:update')")
 public CommonResult<Boolean> delete(@RequestParam("id") Long id) { mapper.deleteById(id); return success(true); }
 @Data public static class SaveRequest {
  private Long id;
  @NotBlank @Size(max=100) private String title;
  @NotBlank @Size(max=1000) private String imageUrl;
  @NotNull @Min(0) private Integer sort;
  @NotNull @Min(0) @Max(1) private Integer status;
 }
}