package com.example.jz.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
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.entity.Message;
|
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<List<GroupMessageVo>> getAllMessage(@RequestParam("id") Integer id) {
|
return R.ok(groupService.getAllMessage(id));
|
}
|
|
|
@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<List<GroupMessageVo>> 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) {
|
return R.ok(groupUserService.update(new UpdateWrapper<GroupUser>().set("ban_speech",1).eq("user_id",id)));
|
}
|
|
@PutMapping("allowSpeech")
|
@ApiOperation(value = "允许发言")
|
@ApiImplicitParam(name = "id", value = "群组id", required = true, dataType = "Integer")
|
public R setAllowSpeech(@RequestParam("id") Integer id) {
|
return R.ok(groupUserService.update(new UpdateWrapper<GroupUser>().set("ban_speech",0).eq("user_id",id)));
|
}
|
|
@PutMapping("banSpeechAll")
|
@ApiOperation(value = "全部禁言")
|
public R setBanSpeechAll(@RequestParam("id") Integer id) {
|
return R.ok(groupUserService.update(new UpdateWrapper<GroupUser>().set("ban_speech",1).eq("group_id",id)));
|
}
|
|
/**
|
* 根据群组id获取当前群组所有公告
|
*
|
* @param id 群组id
|
* @return 当前群组所有的消息
|
*/
|
@GetMapping("getAllNotice")
|
@ApiOperation(value = "获取当前群组所有的公告")
|
@ApiImplicitParam(name = "id", value = "群组id", required = true, dataType = "Integer")
|
public R<List<Announcement>> 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<Boolean> sendMessage(@RequestParam("id") Integer id, @RequestParam("text") String text) {
|
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<List<GroupUserVo>> getAllUser(@RequestParam("id") Integer id) {
|
return R.ok(groupService.getAllUser(id));
|
}
|
|
@GetMapping("getAllGroupName")
|
@ApiOperation(value = "获取群组名称")
|
public R<List<Group>> getAllGroupName() {
|
return R.ok(groupService.list());
|
}
|
}
|