青羊经侦大队-数据平台
baizonghao
2023-03-21 e0670c59089d8461b13b7f910fd538e9a5a6edef
src/main/java/com/example/jz/controller/AnnouncementController.java
@@ -1,17 +1,15 @@
package com.example.jz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.jz.modle.R;
import com.example.jz.modle.entity.Announcement;
import com.example.jz.service.AnnouncementService;
import org.springframework.http.ResponseEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;
/**
 * 公告表(Announcement)表控制层
@@ -21,6 +19,7 @@
 */
@RestController
@RequestMapping("announcement")
@Api(tags = "群公告")
public class AnnouncementController extends ApiController {
    /**
     * 服务对象
@@ -28,60 +27,47 @@
    @Resource
    private AnnouncementService announcementService;
    /**
     * 分页查询所有数据
     *
     * @param page         分页对象
     * @param announcement 查询实体
     * @return 所有数据
     */
    @GetMapping
    public ResponseEntity<Page<Announcement>> selectAll(Page<Announcement> page, Announcement announcement) {
        return ResponseEntity.ok(this.announcementService.page(page, new QueryWrapper<>(announcement)));
    @ApiOperation(httpMethod = "GET", value = "群公告查询")
    @GetMapping("/getAnnouncements")
    @ApiResponse(message = "执行成功", code = 200)
    public R getAnnouncements(@RequestParam(value = "size") Integer size,
                              @RequestParam(value = "current") Integer current,
                              @RequestParam(value = "groupId") Integer groupId,
                              @RequestParam(value = "content", required = false) String content,
                              @RequestParam(value = "status", required = false) Integer status) {
        return R.ok(announcementService.getAnnouncements(size, current, content, status, groupId));
    }
    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @GetMapping("{id}")
    public R selectOne(@PathVariable Serializable id) {
        return success(this.announcementService.getById(id));
    @ApiOperation(httpMethod = "GET", value = "群公告通过id查询")
    @GetMapping("/getAnnouncementsById")
    @ApiResponse(message = "执行成功", code = 200)
    public R getAnnouncements(@RequestParam(value = "id") Integer id) {
        return R.ok(announcementService.getAnnouncementsById(id));
    }
    /**
     * 新增数据
     *
     * @param announcement 实体对象
     * @return 新增结果
     */
    @PostMapping
    public R insert(@RequestBody Announcement announcement) {
        return success(this.announcementService.save(announcement));
    @ApiOperation(httpMethod = "POST", value = "群公告添加")
    @PostMapping("/add")
    @ApiResponse(message = "执行成功", code = 200)
    public R insert(@RequestParam(value = "groupId") Integer groupId, @RequestBody Announcement announcement) {
        return R.ok(announcementService.add(groupId, announcement));
    }
    /**
     * 修改数据
     *
     * @param announcement 实体对象
     * @return 修改结果
     */
    @PutMapping
    public R update(@RequestBody Announcement announcement) {
        return success(this.announcementService.updateById(announcement));
    @ApiOperation(httpMethod = "PUT", value = "群公告发布/下架")
    @PutMapping("/publicOrUnshelve")
    @ApiResponse(message = "执行成功", code = 200)
    public R updateStatusPublic(@RequestParam(value = "id") Integer id,
                                @RequestParam(value = "status")Integer status) {
        announcementService.updateStatus(id,status);
        return R.ok();
    }
    /**
     * 删除数据
     *
     * @param idList 主键结合
     * @return 删除结果
     */
    @DeleteMapping
    public R delete(@RequestParam("idList") List<Long> idList) {
        return success(this.announcementService.removeByIds(idList));
    @ApiOperation(httpMethod = "DELETE", value = "群公告删除")
    @DeleteMapping("/delete")
    @ApiResponse(message = "执行成功", code = 200)
    public R delete(@RequestParam(value = "id") Integer id) {
        announcementService.removeById(id);
        return R.ok();
    }
}