当前位置: 首页 > news >正文

网站建设的软件平台服装定制图片

网站建设的软件平台,服装定制图片,惠州公司网站建设价格,手机编程软件中文版免费前言 紧接着上文《SpringBootWebSocket实现即时通讯#xff08;二#xff09;》 本博客姊妹篇 SpringBootWebSocket实现即时通讯#xff08;一#xff09;SpringBootWebSocket实现即时通讯#xff08;二#xff09;SpringBootWebSocket实现即时通讯#xff08;三WebSocket实现即时通讯二》 本博客姊妹篇 SpringBootWebSocket实现即时通讯一SpringBootWebSocket实现即时通讯二SpringBootWebSocket实现即时通讯三SpringBootWebSocket实现即时通讯四 一、功能描述 用户管理业务自己实现暂从数据库添加好友管理添加好友、删除好友、修改备注、好友列表等群组管理新建群、解散群、编辑群、变更群主、拉人进群、踢出群等聊天模式私聊、群聊消息类型系统、文本、语音、图片、视频聊天管理删除聊天、置顶聊天、查看聊天记录等 二、好友、群组功能实现 2.1 好友 mapper package com.qiangesoft.im.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qiangesoft.im.entity.ImFriend;/*** p* 好友 Mapper 接口* /p** author qiangesoft* date 2024-02-07*/ public interface ImFriendMapper extends BaseMapperImFriend {} service package com.qiangesoft.im.service;import com.baomidou.mybatisplus.extension.service.IService; import com.qiangesoft.im.entity.ImFriend; import com.qiangesoft.im.pojo.dto.ImFriendDTO; import com.qiangesoft.im.pojo.vo.ImFriendVO;import java.util.List;/*** p* 好友 服务类* /p** author qiangesoft* date 2024-02-07*/ public interface IImFriendService extends IServiceImFriend {/*** 添加好友** param friendDTO*/void addFriend(ImFriendDTO friendDTO);/*** 删除好友** param id*/void removeFriend(Long id);/*** 编辑好友信息** param id* param friendDTO*/void updateFriend(Long id, ImFriendDTO friendDTO);/*** 好友列表** param keyword* return*/ListImFriendVO listFriend(String keyword);/*** 好友详情** param id* return*/ImFriendVO getFriendInfo(Long id); }package com.qiangesoft.im.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qiangesoft.im.auth.UserUtil; import com.qiangesoft.im.entity.ImFriend; import com.qiangesoft.im.exception.ServiceException; import com.qiangesoft.im.mapper.ImFriendMapper; import com.qiangesoft.im.pojo.dto.ImFriendDTO; import com.qiangesoft.im.pojo.vo.ImFriendVO; import com.qiangesoft.im.pojo.vo.SysUserVo; import com.qiangesoft.im.service.IImFriendService; import com.qiangesoft.im.service.ISysUserService; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils;import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors;/*** p* 好友 服务实现类* /p** author qiangesoft* date 2024-02-07*/ RequiredArgsConstructor Service public class ImFriendServiceImpl extends ServiceImplImFriendMapper, ImFriend implements IImFriendService {private final ISysUserService sysUserService;Transactional(rollbackFor RuntimeException.class)Overridepublic void addFriend(ImFriendDTO friendDTO) {Long userId UserUtil.getUserId();Long friendUserId friendDTO.getFriendUserId();if (userId.equals(friendUserId)) {throw new ServiceException(不能添加自己);}LambdaQueryWrapperImFriend queryWrapper new LambdaQueryWrapper();queryWrapper.eq(ImFriend::getUserId, userId).eq(ImFriend::getFriendUserId, friendUserId).eq(ImFriend::getDelFlag, false);Long count baseMapper.selectCount(queryWrapper);if (count 0) {throw new ServiceException(已添加过好友);}ImFriend friend new ImFriend();friend.setUserId(userId);friend.setFriendUserId(friendDTO.getFriendUserId());friend.setRemark(friendDTO.getRemark());friend.setDelFlag(false);baseMapper.insert(friend);}Overridepublic void removeFriend(Long id) {LambdaUpdateWrapperImFriend updateWrapper new LambdaUpdateWrapper();updateWrapper.eq(ImFriend::getId, id).set(ImFriend::getDelFlag, true);baseMapper.update(null, updateWrapper);}Overridepublic void updateFriend(Long id, ImFriendDTO friendDTO) {LambdaUpdateWrapperImFriend updateWrapper new LambdaUpdateWrapper();updateWrapper.eq(ImFriend::getId, id).set(ImFriend::getRemark, friendDTO.getRemark());baseMapper.update(null, updateWrapper);}Overridepublic ListImFriendVO listFriend(String keyword) {LambdaQueryWrapperImFriend queryWrapper new LambdaQueryWrapper();queryWrapper.like(StringUtils.isNotBlank(keyword), ImFriend::getRemark, keyword).eq(ImFriend::getDelFlag, false);ListImFriend friendList baseMapper.selectList(queryWrapper);ListImFriendVO friendVOList new ArrayList();if (CollectionUtils.isEmpty(friendList)) {return friendVOList;}ListLong userIdList friendList.stream().map(ImFriend::getFriendUserId).collect(Collectors.toList());MapLong, SysUserVo sysUserVoMap sysUserService.listByIds(userIdList).stream().map(SysUserVo::fromEntity).collect(Collectors.toMap(SysUserVo::getId, sysUserVo - sysUserVo));for (ImFriend friend : friendList) {ImFriendVO friendVO new ImFriendVO();friendVO.setId(friend.getId());friendVO.setFriendUser(sysUserVoMap.get(friend.getFriendUserId()));friendVO.setRemark(friend.getRemark());friendVOList.add(friendVO);}return friendVOList;}Overridepublic ImFriendVO getFriendInfo(Long id) {LambdaQueryWrapperImFriend queryWrapper new LambdaQueryWrapper();queryWrapper.eq(ImFriend::getId, id).eq(ImFriend::getDelFlag, false);ImFriend friend baseMapper.selectOne(queryWrapper);if (friend null) {throw new ServiceException(未添加为好友);}SysUserVo sysUserVo SysUserVo.fromEntity(sysUserService.getById(friend.getFriendUserId()));ImFriendVO friendVO new ImFriendVO();friendVO.setId(friend.getId());friendVO.setFriendUser(sysUserVo);friendVO.setRemark(friend.getRemark());return friendVO;} } controller package com.qiangesoft.im.controller;import com.qiangesoft.im.pojo.dto.ImFriendDTO; import com.qiangesoft.im.pojo.vo.ImFriendVO; import com.qiangesoft.im.pojo.vo.ResultInfo; import com.qiangesoft.im.service.IImFriendService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*;import java.util.List;/*** p* 好友 前端控制器* /p** author qiangesoft* date 2024-02-07*/ Api(tags 好友) RequiredArgsConstructor RestController RequestMapping(/im/friend) public class ImFriendController {private final IImFriendService friendService;PostMappingApiOperation(value 添加好友)public ResultInfoVoid addFriend(RequestBody ImFriendDTO friendDTO) {friendService.addFriend(friendDTO);return ResultInfo.ok();}DeleteMapping(/{id})ApiOperation(value 删除好友)public ResultInfoVoid removeFriend(PathVariable Long id) {friendService.removeFriend(id);return ResultInfo.ok();}PutMapping(/{id})ApiOperation(value 编辑好友)public ResultInfoVoid updateFriend(PathVariable Long id, RequestBody ImFriendDTO friendDTO) {friendService.updateFriend(id, friendDTO);return ResultInfo.ok();}GetMappingApiOperation(value 好友列表)public ResultInfoListImFriendVO listFriend(String keyword) {return ResultInfo.ok(friendService.listFriend(keyword));}GetMapping(/{id})ApiOperation(value 好友详情)public ResultInfoImFriendVO getFriendInfo(PathVariable Long id) {return ResultInfo.ok(friendService.getFriendInfo(id));}} 2.2 群组 mapper package com.qiangesoft.im.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qiangesoft.im.entity.ImGroup;/*** p* 群组 Mapper 接口* /p** author qiangesoft* date 2024-02-07*/ public interface ImGroupMapper extends BaseMapperImGroup {} package com.qiangesoft.im.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qiangesoft.im.entity.ImGroupUser;/*** p* 群成员 Mapper 接口* /p** author qiangesoft* date 2024-02-07*/ public interface ImGroupUserMapper extends BaseMapperImGroupUser {} package com.qiangesoft.im.service;import com.baomidou.mybatisplus.extension.service.IService; import com.qiangesoft.im.entity.ImGroup; import com.qiangesoft.im.pojo.dto.ImGroupDTO; import com.qiangesoft.im.pojo.dto.ImGroupMasterDTO; import com.qiangesoft.im.pojo.vo.ImGroupInfoVO; import com.qiangesoft.im.pojo.vo.ImGroupVO;import java.util.List;/*** p* 群组 服务类* /p** author qiangesoft* date 2024-02-07*/ public interface IImGroupService extends IServiceImGroup {/*** 建群** param groupDTO*/void addGroup(ImGroupDTO groupDTO);/*** 解散群** param id*/void removeGroup(Long id);/*** 编辑群** param id* param groupDTO*/void updateGroup(Long id, ImGroupDTO groupDTO);/*** 群列表** param keyword* return*/ListImGroupVO listGroup(String keyword);/*** 群详情** param id* return*/ImGroupInfoVO getGroupInfo(Long id);/*** 变更群主** param groupMasterDTO*/void updateMaster(ImGroupMasterDTO groupMasterDTO);/*** 校验群组** param id* return*/ImGroup validateGroup(Long id); } package com.qiangesoft.im.service;import com.baomidou.mybatisplus.extension.service.IService; import com.qiangesoft.im.entity.ImGroupUser; import com.qiangesoft.im.pojo.dto.ImGroupUserDTO; import com.qiangesoft.im.pojo.vo.SysUserVo;import java.util.List;/*** p* 群成员 服务类* /p** author qiangesoft* date 2024-02-07*/ public interface IImGroupUserService extends IServiceImGroupUser {/*** 添加群成员** param groupUserDTO*/void addGroupUser(ImGroupUserDTO groupUserDTO);/*** 删除群成员** param groupUserDTO*/void removeGroupUser(ImGroupUserDTO groupUserDTO);/*** 群成员列表** param id* return*/ListSysUserVo listGroupUser(Long id);} package com.qiangesoft.im.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qiangesoft.im.auth.UserUtil; import com.qiangesoft.im.entity.ImGroup; import com.qiangesoft.im.entity.ImGroupUser; import com.qiangesoft.im.entity.SysUser; import com.qiangesoft.im.exception.ServiceException; import com.qiangesoft.im.mapper.ImGroupMapper; import com.qiangesoft.im.pojo.dto.ImGroupDTO; import com.qiangesoft.im.pojo.dto.ImGroupMasterDTO; import com.qiangesoft.im.pojo.vo.ImGroupInfoVO; import com.qiangesoft.im.pojo.vo.ImGroupVO; import com.qiangesoft.im.pojo.vo.SysUserVo; import com.qiangesoft.im.service.IImGroupService; import com.qiangesoft.im.service.IImGroupUserService; import com.qiangesoft.im.service.ISysUserService; import com.qiangesoft.im.util.IdSplitUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils;import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors;/*** p* 群组 服务实现类* /p** author qiangesoft* date 2024-02-07*/ Service public class ImGroupServiceImpl extends ServiceImplImGroupMapper, ImGroup implements IImGroupService {Autowiredprivate IImGroupUserService groupUserService;Autowiredprivate ISysUserService sysUserService;Transactional(rollbackFor RuntimeException.class)Overridepublic void addGroup(ImGroupDTO groupDTO) {Long userId UserUtil.getUserId();ImGroup group new ImGroup();group.setName(groupDTO.getName());group.setAvatar(groupDTO.getAvatar());group.setMaster(userId);group.setManager(IdSplitUtil.listToStr(groupDTO.getManager()));group.setNotice(groupDTO.getNotice());group.setRemark(groupDTO.getRemark());group.setDelFlag(false);baseMapper.insert(group);// 群成员ListImGroupUser groupUserList new ArrayList();ListLong memberIdList groupDTO.getMemberIdList();if (!memberIdList.contains(userId)) {memberIdList.add(userId);}for (Long memberId : memberIdList) {ImGroupUser groupUser new ImGroupUser();groupUser.setGroupId(group.getId());groupUser.setUserId(memberId);groupUser.setDelFlag(false);groupUserList.add(groupUser);}groupUserService.saveBatch(groupUserList);}Overridepublic void removeGroup(Long id) {LambdaUpdateWrapperImGroup updateWrapper new LambdaUpdateWrapper();updateWrapper.eq(ImGroup::getId, id).set(ImGroup::getDelFlag, true);baseMapper.update(null, updateWrapper);}Overridepublic void updateGroup(Long id, ImGroupDTO groupDTO) {ImGroup group this.validateGroup(id);if (group.getDelFlag()) {throw new ServiceException(群组已解散);}group.setName(groupDTO.getName());group.setAvatar(groupDTO.getAvatar());group.setManager(IdSplitUtil.listToStr(groupDTO.getManager()));group.setNotice(groupDTO.getNotice());group.setRemark(groupDTO.getRemark());baseMapper.updateById(group);}Overridepublic ListImGroupVO listGroup(String keyword) {LambdaQueryWrapperImGroup queryWrapper new LambdaQueryWrapper();queryWrapper.like(StringUtils.isNotBlank(keyword), ImGroup::getRemark, keyword).eq(ImGroup::getDelFlag, false);ListImGroup groupList baseMapper.selectList(queryWrapper);ListImGroupVO groupVOList new ArrayList();if (CollectionUtils.isEmpty(groupList)) {return groupVOList;}for (ImGroup group : groupList) {ImGroupVO groupVO new ImGroupVO();groupVO.setId(group.getId());groupVO.setName(group.getName());groupVO.setAvatar(group.getAvatar());groupVO.setRemark(group.getRemark());groupVO.setCreateTime(group.getCreateTime().getTime());groupVOList.add(groupVO);}return groupVOList;}Overridepublic ImGroupInfoVO getGroupInfo(Long id) {ImGroup group this.validateGroup(id);ImGroupInfoVO vo new ImGroupInfoVO();vo.setId(group.getId());vo.setName(group.getName());vo.setAvatar(group.getAvatar());vo.setNotice(group.getNotice());vo.setRemark(group.getRemark());vo.setCreateTime(group.getCreateTime().getTime());// 群主Long masterId group.getMaster();if (masterId ! null) {SysUser master sysUserService.getById(masterId);if (master ! null) {SysUserVo masterVo SysUserVo.fromEntity(master);vo.setMaster(masterVo);}}// 群管理String manager group.getManager();ListLong managerIdList IdSplitUtil.strToList(manager);if (!CollectionUtils.isEmpty(managerIdList)) {ListSysUserVo managerUserList sysUserService.listByIds(managerIdList).stream().map(SysUserVo::fromEntity).collect(Collectors.toList());vo.setManagerList(managerUserList);}// 群成员ListSysUserVo userVoList new ArrayList();LambdaQueryWrapperImGroupUser queryWrapper new LambdaQueryWrapper();queryWrapper.eq(ImGroupUser::getGroupId, id).eq(ImGroupUser::getDelFlag, false);ListImGroupUser groupUserList groupUserService.list(queryWrapper);if (CollectionUtils.isEmpty(groupUserList)) {vo.setMemberList(userVoList);return vo;}ListLong userIdList groupUserList.stream().map(ImGroupUser::getUserId).collect(Collectors.toList());MapLong, SysUserVo sysUserVOMap sysUserService.listByIds(userIdList).stream().map(SysUserVo::fromEntity).collect(Collectors.toMap(SysUserVo::getId, sysUserVo - sysUserVo));for (ImGroupUser groupUser : groupUserList) {SysUserVo sysUserVo sysUserVOMap.get(groupUser.getUserId());if (sysUserVo ! null) {userVoList.add(sysUserVo);}}vo.setMemberList(userVoList);return vo;}Overridepublic void updateMaster(ImGroupMasterDTO groupMasterDTO) {Long id groupMasterDTO.getId();ImGroup group this.validateGroup(id);if (group.getDelFlag()) {throw new ServiceException(群组已解散);}LambdaUpdateWrapperImGroup updateWrapper new LambdaUpdateWrapper();updateWrapper.eq(ImGroup::getId, id).set(ImGroup::getMaster, groupMasterDTO.getMaster());baseMapper.update(null, updateWrapper);}Overridepublic ImGroup validateGroup(Long id) {ImGroup group baseMapper.selectById(id);if (group null) {throw new ServiceException(群组不存在);}return group;} } package com.qiangesoft.im.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qiangesoft.im.auth.UserUtil; import com.qiangesoft.im.entity.ImGroup; import com.qiangesoft.im.entity.ImGroupUser; import com.qiangesoft.im.exception.ServiceException; import com.qiangesoft.im.mapper.ImGroupUserMapper; import com.qiangesoft.im.pojo.dto.ImGroupUserDTO; import com.qiangesoft.im.pojo.vo.SysUserVo; import com.qiangesoft.im.service.IImGroupService; import com.qiangesoft.im.service.IImGroupUserService; import com.qiangesoft.im.service.ISysUserService; import com.qiangesoft.im.util.IdSplitUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils;import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors;/*** p* 群成员 服务实现类* /p** author qiangesoft* date 2024-02-07*/ Service public class ImGroupUserServiceImpl extends ServiceImplImGroupUserMapper, ImGroupUser implements IImGroupUserService {Autowiredprivate ISysUserService sysUserService;LazyAutowiredprivate IImGroupService groupService;Transactional(rollbackFor RuntimeException.class)Overridepublic void addGroupUser(ImGroupUserDTO groupUserDTO) {Long groupId groupUserDTO.getGroupId();ImGroup group groupService.validateGroup(groupId);if (group.getDelFlag()) {throw new ServiceException(群组已解散);}Long userId UserUtil.getUserId();ListLong managerIdList IdSplitUtil.strToList(group.getManager());if (group.getMaster().equals(userId)) {throw new ServiceException(无添加好友权限);} else {if (!managerIdList.contains(userId)) {throw new ServiceException(无添加好友权限);}}ListLong memberIdList groupUserDTO.getMemberIdList();if (memberIdList.contains(userId)) {throw new ServiceException(你是群主不可添加);}LambdaQueryWrapperImGroupUser queryWrapper new LambdaQueryWrapper();queryWrapper.eq(ImGroupUser::getGroupId, groupId).eq(ImGroupUser::getDelFlag, false);ListLong existMemberIdList baseMapper.selectList(queryWrapper).stream().map(ImGroupUser::getUserId).collect(Collectors.toList());ListLong notExistMemberIdList memberIdList.stream().filter(e - !existMemberIdList.contains(e)).collect(Collectors.toList());ListImGroupUser groupUserList new ArrayList();for (Long memberId : notExistMemberIdList) {ImGroupUser groupUser new ImGroupUser();groupUser.setGroupId(groupId);groupUser.setUserId(memberId);groupUser.setDelFlag(false);groupUserList.add(groupUser);}this.saveBatch(groupUserList);}Transactional(rollbackFor RuntimeException.class)Overridepublic void removeGroupUser(ImGroupUserDTO groupUserDTO) {Long groupId groupUserDTO.getGroupId();ImGroup group groupService.validateGroup(groupId);if (group.getDelFlag()) {throw new ServiceException(群组已解散);}Long userId UserUtil.getUserId();ListLong managerIdList IdSplitUtil.strToList(group.getManager());if (group.getMaster().equals(userId)) {throw new ServiceException(无移除好友权限);} else {if (!managerIdList.contains(userId)) {throw new ServiceException(无移除好友权限);}}ListLong memberIdList groupUserDTO.getMemberIdList();if (memberIdList.contains(userId)) {throw new ServiceException(不能移除自己);}LambdaUpdateWrapperImGroupUser updateWrapper new LambdaUpdateWrapper();updateWrapper.eq(ImGroupUser::getGroupId, groupId).in(ImGroupUser::getUserId, memberIdList).set(ImGroupUser::getDelFlag, true);baseMapper.update(null, updateWrapper);// 去除管理员权限ListLong collect managerIdList.stream().filter(e - !memberIdList.contains(e)).collect(Collectors.toList());LambdaUpdateWrapperImGroup updateWrapper1 new LambdaUpdateWrapper();updateWrapper1.eq(ImGroup::getId, groupId).set(ImGroup::getManager, IdSplitUtil.listToStr(collect));groupService.update(updateWrapper1);}Overridepublic ListSysUserVo listGroupUser(Long id) {groupService.validateGroup(id);ListSysUserVo userVoList new ArrayList();LambdaQueryWrapperImGroupUser queryWrapper new LambdaQueryWrapper();queryWrapper.eq(ImGroupUser::getGroupId, id).eq(ImGroupUser::getDelFlag, false);ListImGroupUser groupUserList baseMapper.selectList(queryWrapper);if (CollectionUtils.isEmpty(groupUserList)) {return userVoList;}ListLong userIdList groupUserList.stream().map(ImGroupUser::getUserId).collect(Collectors.toList());MapLong, SysUserVo sysUserVOMap sysUserService.listByIds(userIdList).stream().map(SysUserVo::fromEntity).collect(Collectors.toMap(SysUserVo::getId, sysUserVo - sysUserVo));for (ImGroupUser groupUser : groupUserList) {SysUserVo sysUserVo sysUserVOMap.get(groupUser.getUserId());if (sysUserVo ! null) {userVoList.add(sysUserVo);}}return userVoList;} } controller package com.qiangesoft.im.controller;import com.qiangesoft.im.pojo.dto.ImGroupDTO; import com.qiangesoft.im.pojo.dto.ImGroupMasterDTO; import com.qiangesoft.im.pojo.vo.ImGroupInfoVO; import com.qiangesoft.im.pojo.vo.ImGroupVO; import com.qiangesoft.im.pojo.vo.ResultInfo; import com.qiangesoft.im.service.IImGroupService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;import java.util.List;/*** p* 群组 前端控制器* /p** author qiangesoft* date 2024-02-07*/ Api(tags 群组) RestController RequestMapping(/im/group) public class ImGroupController {Autowiredprivate IImGroupService groupService;PostMappingApiOperation(value 建群)public ResultInfoVoid addGroup(RequestBody ImGroupDTO groupDTO) {groupService.addGroup(groupDTO);return ResultInfo.ok();}DeleteMapping(/{id})ApiOperation(value 解散群)public ResultInfoVoid removeGroup(PathVariable Long id) {groupService.removeGroup(id);return ResultInfo.ok();}PutMapping(/{id})ApiOperation(value 编辑群)public ResultInfoVoid updateGroup(PathVariable Long id, RequestBody ImGroupDTO groupDTO) {groupService.updateGroup(id, groupDTO);return ResultInfo.ok();}GetMappingApiOperation(value 群列表)public ResultInfoListImGroupVO listGroup(String keyword) {return ResultInfo.ok(groupService.listGroup(keyword));}GetMapping(/{id})ApiOperation(value 群详情)public ResultInfoImGroupInfoVO getGroupInfo(PathVariable Long id) {return ResultInfo.ok(groupService.getGroupInfo(id));}GetMapping(/updateMaster)ApiOperation(value 变更群主)public ResultInfoVoid updateMaster(RequestBody ImGroupMasterDTO groupMasterDTO) {groupService.updateMaster(groupMasterDTO);return ResultInfo.ok();} } package com.qiangesoft.im.controller;import com.qiangesoft.im.pojo.dto.ImGroupUserDTO; import com.qiangesoft.im.pojo.vo.ResultInfo; import com.qiangesoft.im.pojo.vo.SysUserVo; import com.qiangesoft.im.service.IImGroupUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;import java.util.List;/*** p* 群成员 前端控制器* /p** author qiangesoft* date 2024-02-07*/ Api(tags 群成员) RestController RequestMapping(/im/groupUser) public class ImGroupUserController {Autowiredprivate IImGroupUserService groupUserService;PostMappingApiOperation(value 添加群成员)public ResultInfoVoid addGroupUser(RequestBody ImGroupUserDTO groupUserDTO) {groupUserService.addGroupUser(groupUserDTO);return ResultInfo.ok();}DeleteMappingApiOperation(value 删除群成员)public ResultInfoVoid removeGroupUser(RequestBody ImGroupUserDTO groupUserDTO) {groupUserService.removeGroupUser(groupUserDTO);return ResultInfo.ok();}GetMapping(/{id})ApiOperation(value 群成员列表)public ResultInfoListSysUserVo listGroupUser(PathVariable Long id) {return ResultInfo.ok(groupUserService.listGroupUser(id));}} 三、源码地址 源码地址https://gitee.com/qiangesoft/boot-business/tree/master/boot-business-im 后续内容见下章
http://www.w-s-a.com/news/525886/

相关文章:

  • 做封面网站企业网站优化服务商
  • 电子商务网站设计是什么蚌埠铁路建设监理公司网站
  • .name后缀的网站做房产网站多少钱
  • 手机上传网站源码网站app封装怎么做
  • 做的网站放在阿里云网站建设投标书范本
  • 做文化传播公司网站wordpress仿简书
  • 什么网站有题目做西宁网站制作哪里好
  • 网站上添加图片的原则优易主机 wordpress
  • 用php做的网站源代码那里有做像美团的网站的
  • 网站建设百科有什么做兼职的网站
  • 创造网站电商网站建设方案道客巴巴
  • 南通设计网站建设wordpress时光轴
  • 郑州做网站企起网站建设 风险
  • 北京市保障性住房建设投资中心网站6大连广告设计与制作公司
  • 建站之星网站模板国内f型网页布局的网站
  • 怎么做网站关键词优化外贸网站 开源
  • 广东公司响应式网站建设设计seo系统是什么
  • 清丰网站建设费用网站建设的前途
  • 网站上那些兼职网页怎么做的北京网页
  • 桂林建站平台哪家好品牌设计公司宣传文案
  • 平面设计和建设网站的区别公司官网静态
  • h5网站建设+案例住房住房和城乡建设部网站
  • 建设股公司网站东莞建设网网上平台
  • 湖州吴兴建设局网站加强网站建设的
  • 茌平做网站公司专业商城网站建设报价
  • 网站结构图怎么画wordpress注册不发送件
  • 个人备案网站可以做论坛吗电商推广方式有哪些
  • 网站建设 自适应国内最近的新闻
  • 校园网站开发背景吴江网站建设公司
  • 网站开发工程师发展趋势山东省建设工程电子信息网站