无关风月
21 小时以前 7cab5bda99ca42188bc15b2dae7d1fa4d1833fd9
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package com.ruoyi.admin.controller;
 
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.RecoveryServe;
import com.ruoyi.admin.entity.Rotate;
import com.ruoyi.admin.service.RecoveryServeService;
import com.ruoyi.admin.service.RotateService;
import com.ruoyi.admin.vo.RotateResultVO;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * <p>
 * 轮播图图片管理 前端控制器
 * </p>
 *
 * @author hjl
 * @since 2024-05-29
 */
@RestController
@RequestMapping("/rotate")
@Api(tags = {"后台-系统设置-轮播图管理"})
public class RotateController {
 
    @Resource
    private RotateService rotateService;
    @Resource
    private RecoveryServeService recoveryServeService;
 
    /**
     * 轮播图图片分页列表
     *
     * @param pageNum  页码
     * @param pageSize 每页显示条数
     * @return 封装分页数据
     */
    @RequiresPermissions("system_rotate")
    @ApiOperation(value = "轮播图分页查询列表", tags = {"后台-系统设置-轮播图管理"})
    @GetMapping(value = "/page")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true),
            @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true)
    })
    public R<IPage<Rotate>> queryPageList(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        IPage<Rotate> rotateIPage = rotateService.queryPage(Page.of(pageNum, pageSize));
        for (Rotate record : rotateIPage.getRecords()) {
            if (record.getIsRotate()==0){
                record.setServeName("不跳转");
            }
        }
        return R.ok(rotateIPage);
    }
 
    /**
     * 轮播图列表
     */
    @GetMapping(value = "/bannerList")
    public R<List<Rotate>> bannerList() {
        return R.ok(rotateService.lambdaQuery()
                .eq(Rotate::getIsDelete, 0)
                .orderByDesc(Rotate::getSort).list());
    }
 
    /**
     * 轮播图详情
     *
     * @param id 轮播图id
     * @return 封装分页数据
     */
    @RequiresPermissions("rotate_detail")
    @ApiOperation(value = "轮播图详情", tags = {"后台-系统设置-轮播图管理"})
    @GetMapping(value = "/detail")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "轮播图id", name = "id", dataType = "Integer", required = true)
    })
    public R<RotateResultVO> detail(@RequestParam Integer id) {
        RotateResultVO rotateResultVO = new RotateResultVO();
        Rotate rotate = rotateService.getById(id);
        rotateResultVO.setRotate(rotate);
        if (null != rotate.getRotateServeId()) {
            RecoveryServe recoveryServe = recoveryServeService.lambdaQuery()
                    .eq(RecoveryServe::getId, rotate.getRotateServeId())
                    .eq(RecoveryServe::getIsDelete, 0).one();
            rotateResultVO.setRecoveryServe(recoveryServe);
        }
        return R.ok(rotateResultVO);
    }
 
    /**
     * 新增轮播图
     *
     * @param rotate 轮播图信息
     * @return 封装分页数据
     */
    @RequiresPermissions("rotate_save")
    @ApiOperation(value = "新增轮播图", tags = {"后台-系统设置-轮播图管理"})
    @PostMapping(value = "/save")
    public R<String> save(@RequestBody Rotate rotate) {
        return rotateService.save(rotate) ? R.ok() : R.fail();
    }
 
    /**
     * 修改轮播图
     *
     * @param rotate 轮播图信息
     * @return 封装分页数据
     */
    @RequiresPermissions("rotate_update")
    @ApiOperation(value = "修改轮播图", tags = {"后台-系统设置-轮播图管理"})
    @PostMapping(value = "/update")
    public R<String> update(@RequestBody Rotate rotate) {
        return rotateService.updateById(rotate) ? R.ok() : R.fail();
    }
 
    /**
     * 根据id批量删除轮播图
     *
     * @param ids 轮播图多条id拼接
     * @return 封装分页数据
     */
    @RequiresPermissions("rotate_delete")
    @ApiOperation(value = "批量删除轮播图", tags = {"后台-系统设置-轮播图管理"})
    @GetMapping(value = "/batchDelete")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "多个id ',' 拼接", name = "ids", dataType = "String", required = true)
    })
    public R<String> batchDelete(@RequestParam String ids) {
        List<String> idList = Arrays.stream(ids.split(",")).collect(Collectors.toList());
        List<Rotate> list = rotateService.lambdaQuery().in(Rotate::getId, idList).list();
        list.forEach(data -> data.setIsDelete(1));
        return rotateService.updateBatchById(list) ? R.ok() : R.fail();
    }
 
}