manailin
2022-09-11 58e0679060b7421f30df7996b39b99f2d236854d
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
package com.panzhihua.service_community.api;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.sanshuo.ComEventVO;
import com.panzhihua.common.utlis.CopyUtil;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.entity.ComEvent;
import com.panzhihua.service_community.service.IComEventService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
 
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
 
/**
 * ClassName   ComEventController
 * Description 三说会堂事件表控制层
 *
 * @author manailin
 * @date 2022-09-07 11:23:51
 */
@Slf4j
@Api(tags = {"三说会堂事件表控制层"})
@RestController
@RequestMapping("/comEvent")
public class ComEventController extends BaseController {
 
    @Resource
    private IComEventService comEventService;
 
 
    /**
     * description 新增三说会堂事件表
     *
     * @param comEventVO 对象
     * @return R  新增结果对象
     * @author manailin
     * @date 2022-09-07 11:23:51
     */
    @ApiOperation("新增三说会堂事件表")
    @PostMapping("/add")
    public R insertComEvent(@RequestBody @Valid ComEventVO comEventVO, @ApiIgnore BindingResult results) {
        if (results.hasErrors()) {
            return R.fail(results.getFieldError().getDefaultMessage());
        }
        ComEvent comEvent = CopyUtil.copyProperties(comEventVO, ComEvent.class);
        return comEventService.insertComEvent(comEvent);
    }
 
    /**
     * description 更新三说会堂事件表
     *
     * @param comEventVO 对象
     * @return R  修改结果对象
     * @author manailin
     * @date 2022-09-07 11:23:51
     */
    @ApiOperation("更新三说会堂事件表")
    @PostMapping("/update")
    public R updateComEvent(@RequestBody @Valid ComEventVO comEventVO, @ApiIgnore BindingResult results) {
        if (results.hasErrors()) {
            return R.fail(results.getFieldError().getDefaultMessage());
        }
        ComEvent comEvent = CopyUtil.copyProperties(comEventVO, ComEvent.class);
        return comEventService.updateComEvent(comEvent);
    }
 
    /**
     * description 根据ID获取三说会堂事件表信息
     *
     * @param id 主键id
     * @return R<ComEvent> comEvent 对象
     * @author manailin
     * @date 2022-09-07 11:23:51
     */
    @ApiOperation("根据ID获取三说会堂事件表信息")
    @GetMapping("/get/{id}")
    public R<ComEventVO> get(@PathVariable(value = "id") String id) {
        if (StringUtils.isEmpty(id)) {
            throw new RuntimeException("参数不能为空");
        }
        return R.ok(CopyUtil.copyProperties(comEventService.getById(id), ComEventVO.class));
    }
 
    /**
     * description 查询返回列表数据
     *
     * @param comEventVO 三说会堂事件表对象
     * @return R<List < ComEventVO>>  comEventVO对象列表
     * @author manailin
     * @date 2022-09-07 11:23:51
     */
    @ApiOperation("查询返回列表数据")
    @PostMapping("/list")
    public R<List<ComEventVO>> listByComEvent(@RequestBody ComEventVO comEventVO) {
        ComEvent comEvent = CopyUtil.copyProperties(comEventVO, ComEvent.class);
        return R.ok(CopyUtil.beanCopyList(comEventService.listByComEvent(comEvent), ComEventVO.class));
    }
 
    /**
     * description page   三说会堂事件表分页列表数据
     * params   [pageNo, pageSize]
     *
     * @param comEventVO 对象
     * @param pageNo     当前页码
     * @param pageSize   每页显示数量
     * @return PageResult<List < ComEvent>>  三说会堂事件表分页列表数据
     * @author manailin
     * @date 2022-09-07 11:23:51
     */
    @ApiOperation(value = "三说会堂事件表分页列表数据", notes = "三说会堂事件表分页列表数据")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "pageNo", value = "当前页码", required = true, dataType = "Long", paramType = "query"),
            @ApiImplicitParam(name = "pageSize", value = "每页显示数量", required = true, dataType = "Long", paramType = "query")
    })
    @PostMapping("/page")
    public R page(@RequestBody ComEventVO comEventVO, Long pageNo, Long pageSize) {
        Page pagination = new Page(pageNo, pageSize);
        ComEvent comEvent = CopyUtil.copyProperties(comEventVO, ComEvent.class);
        return comEventService.pageByComEvent(comEvent, pagination);
    }
 
 
    /**
     * description 根据ID删除三说会堂事件表
     *
     * @param id 主键id
     * @return R 删除结果
     * @author manailin
     * @date 2022-09-07 11:23:51
     */
    @ApiOperation("删除三说会堂事件表")
    @ApiImplicitParams(
            @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long")
    )
    @DeleteMapping("/remove/{id}")
    public R remove(@PathVariable Long id) {
        return comEventService.removeById(id) ? R.ok() : R.fail();
    }
 
    /**
     * description 修改三说会堂事件表状态
     *
     * @param id 主键id
     * @return Result  修改成功和失败
     * @author manailin
     * @date 2022-09-07 11:23:51
     */
    @ApiOperation("修改状态")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long"),
            @ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Boolean")
    })
    @PutMapping("/updateEnabled")
    public R updateEnabled(@RequestParam("id") Long id, @RequestParam("enabled") Boolean enabled) {
        return comEventService.updateEnabled(id, enabled);
    }
}