package com.example.jz.controller; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.api.ApiController; import com.example.jz.modle.R; import com.example.jz.modle.entity.Announcement; import com.example.jz.modle.entity.Group; import com.example.jz.modle.entity.GroupUser; import com.example.jz.modle.vo.GroupMessageVo; import com.example.jz.modle.vo.GroupUserVo; import com.example.jz.service.GroupService; import com.example.jz.service.GroupUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 群表 * (Group)表控制层 * * @author makejava * @since 2022-07-11 16:35:57 */ @RestController @RequestMapping("group") @Api(tags = "群组接口") public class GroupController extends ApiController { private GroupService groupService; @Autowired public void setGroupService(GroupService groupService) { this.groupService = groupService; } @Autowired GroupUserService groupUserService; /** * 根据群组id获取当前群组所有的消息 修改 * * @param id 群组id * @return 当前群组所有的消息 */ @GetMapping("getAllMessage") @ApiOperation(value = "获取当前群组所有的消息") @ApiImplicitParam(name = "id", value = "群组id", required = true, dataType = "Integer") public R> getAllMessage(@RequestParam("id") Integer id) { return R.ok(groupService.getAllMessage(id)); } // @GetMapping("deleteGroupMessage") // @ApiOperation(value = "删除群消息") // @ApiImplicitParam(name = "messageId", value = "消息id", required = true, dataType = "Integer") // public R deleteMessage(@RequestParam("messageId") Integer messageId){ // boolean flag = groupService.removeById(messageId); // return flag ? R.ok(true, "删除成功") : R.failed("删除成功"); // } @GetMapping("getGroupMessage") @ApiOperation(value = "获取当前群组消息通过成员或者内容") @ApiImplicitParams({ @ApiImplicitParam(name = "report", value = "群组id", required = true, dataType = "Integer"), @ApiImplicitParam(name = "context", value = "群组id", required = true, dataType = "String") }) public R> get(@RequestParam(value = "report", required = false) String reporter, @RequestParam(value = "context", required = false) String context, Integer groupId) { return R.ok(groupService.getByCondition(reporter, context, groupId)); } @PutMapping("banSpeech") @ApiOperation(value = "禁言") @ApiImplicitParam(name = "id", value = "群组id", required = true, dataType = "Integer") public R setBanSpeech(@RequestParam("id") Integer id, @RequestParam("groupId") Integer groupId) { return R.ok(groupUserService.update(new UpdateWrapper().set("ban_speech", 1).eq("user_id", id).eq("group_id", groupId))); } @PutMapping("allowSpeech") @ApiOperation(value = "允许发言") @ApiImplicitParam(name = "id", value = "群组id", required = true, dataType = "Integer") public R setAllowSpeech(@RequestParam("id") Integer id, @RequestParam("groupId") Integer groupId) { return R.ok(groupUserService.update(new UpdateWrapper().set("ban_speech", 0).eq("user_id", id).eq("group_id", groupId))); } @PutMapping("banSpeechAll") @ApiOperation(value = "全部禁言") public R setBanSpeechAll(@RequestParam("id") Integer id) { return R.ok(groupUserService.update(new UpdateWrapper().set("ban_speech", 1).eq("group_id", id))); } @PutMapping("banSpeechRemark") @ApiOperation(value = "全部允许发言") public R setBanSpeechRemark(@RequestParam("id") Integer id) { return R.ok(groupUserService.update(new UpdateWrapper().set("ban_speech", 0).eq("group_id", id))); } /** * 根据群组id获取当前群组所有公告 * * @param id 群组id * @return 当前群组所有的消息 */ @GetMapping("getAllNotice") @ApiOperation(value = "获取当前群组所有的公告") @ApiImplicitParam(name = "id", value = "群组id", required = true, dataType = "Integer") public R> getAllNotice(@RequestParam("id") Integer id) { return R.ok(groupService.getAllNotice(id)); } /** * 发送信息 * * @param id 群组id * @param text 消息内容 * @return 发送结果 */ @GetMapping("sendMessage") @ApiOperation(value = "发送信息") @ApiImplicitParams({ @ApiImplicitParam(name = "text", value = "消息文本", required = true, dataType = "String"), @ApiImplicitParam(name = "id", value = "群组id", required = true, dataType = "Integer") }) public R sendMessage(@RequestParam("id") Integer id, @RequestParam("text") String text) { if (StringUtils.isBlank(text)) { return R.failed("文本为空"); } return R.ok(groupService.sendMessage(id, text)); } /** * 获取群组所有人员列表 修改 * * @param id 群组id * @return 群组所有人员列表 */ @GetMapping("getAllUser") @ApiOperation(value = "获取群组所有人员列表") @ApiImplicitParam(name = "id", value = "群组id", required = true, dataType = "Integer") public R> getAllUser(@RequestParam("id") Integer id) { return R.ok(groupService.getAllUser(id)); } @GetMapping("getAllGroupName") @ApiOperation(value = "获取群组名称") public R> getAllGroupName() { return R.ok(groupService.list()); } }