无关风月
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
148
149
150
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.RecoveryClassify;
import com.ruoyi.admin.service.RecoveryClassifyService;
import com.ruoyi.admin.service.SiteService;
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("/recoveryClassify")
@Api(tags = {"后台-回收管理-回收分类管理"})
public class RecoveryClassifyController {
 
    @Resource
    private RecoveryClassifyService recoveryClassifyService;
 
 
    /**
     * 回收分类分页列表
     *
     * @param pageNum  页码
     * @param pageSize 每页显示条数
     */
    @RequiresPermissions("serve_recycling_classification")
    @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<RecoveryClassify>> queryPageList(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        return R.ok(recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getIsDelete, 0)
                .orderByDesc(RecoveryClassify::getSupClassify)
                .orderByAsc(RecoveryClassify::getSort)
                .orderByDesc(RecoveryClassify::getCreateTime)
                .page(Page.of(pageNum, pageSize)));
    }
 
 
    @ApiOperation(value = "分类下拉框", tags = {"后台-下拉框"})
    @GetMapping(value = "/select")
 
    public R<List<RecoveryClassify>> select(String className) {
        return R.ok(recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getIsDelete, 0)
                .orderByDesc(RecoveryClassify::getSupClassify).like(className!=null&&className!="", RecoveryClassify::getSubClassify,className)
                .orderByAsc(RecoveryClassify::getSort)
                .orderByDesc(RecoveryClassify::getCreateTime)
                .list());
    }
 
    /**
     * 回收分类详情
     *
     * @param id 回收分类id
     */
    @RequiresPermissions("classification_detail")
    @ApiOperation(value = "回收分类详情", tags = {"后台-回收管理-回收分类管理"})
    @GetMapping(value = "/detail")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "回收分类id", name = "id", dataType = "Integer", required = true)
    })
    public R<RecoveryClassify> detail(@RequestParam Integer id) {
        return R.ok(recoveryClassifyService.getById(id));
    }
 
    /**
     * 是否首页推荐
     */
    @RequiresPermissions("classification_recommend")
    @ApiOperation(value = "是否首页推荐", tags = {"后台-回收管理-回收分类管理"})
    @GetMapping(value = "/recommend")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "分类id", name = "id", dataType = "Integer", required = true),
            @ApiImplicitParam(value = "是否推荐 0未推荐;1已推荐", name = "recommend", dataType = "Integer", required = true)
    })
    public R<String> recommend(@RequestParam Integer id, @RequestParam Integer recommend) {
        Integer[] arr = {0, 1};
        boolean contains = Arrays.stream(arr).collect(Collectors.toList()).contains(recommend);
        if (!contains) {
            return R.fail("推荐状态异常!");
        }
        return recoveryClassifyService.lambdaUpdate().set(RecoveryClassify::getIsRecommend, recommend)
                .eq(RecoveryClassify::getId, id).update() ? R.ok() : R.fail();
    }
 
    /**
     * 新增回收分类
     *
     * @param recoveryClassify 回收分类信息
     */
    @RequiresPermissions("classification_save")
    @ApiOperation(value = "新增回收分类", tags = {"后台-回收管理-回收分类管理"})
    @PostMapping(value = "/save")
    public R<String> save(@RequestBody RecoveryClassify recoveryClassify) {
        return recoveryClassifyService.save(recoveryClassify) ? R.ok() : R.fail();
    }
 
    /**
     * 修改回收分类
     *
     * @param recoveryClassify 回收分类信息
     */
    @RequiresPermissions("classification_update")
    @ApiOperation(value = "修改回收分类", tags = {"后台-回收管理-回收分类管理"})
    @PostMapping(value = "/update")
    public R<String> update(@RequestBody RecoveryClassify recoveryClassify) {
        return recoveryClassifyService.updateById(recoveryClassify) ? R.ok() : R.fail();
    }
 
    /**
     * 根据id批量删除回收分类
     *
     * @param ids 回收分类多条id拼接
     */
    @RequiresPermissions("classification_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<RecoveryClassify> list = recoveryClassifyService.lambdaQuery().in(RecoveryClassify::getId, idList).list();
        list.forEach(data -> data.setIsDelete(1));
        return recoveryClassifyService.updateBatchById(list) ? R.ok() : R.fail();
    }
 
}