From 9e6e9084fed96a09b0fc48e2a0a97778e0ffb775 Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Fri, 6 Oct 2023 13:20:12 +0800 Subject: [PATCH] =?UTF-8?q?uniapp=20=20=E7=BE=A4=E8=81=8A=E5=BC=80?= =?UTF-8?q?=E5=8F=91=EF=BC=88=E6=9C=AA=E5=AE=8C=E6=88=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/GroupController.java | 4 +-- .../bx/implatform/service/IGroupService.java | 2 +- .../service/impl/GroupMemberServiceImpl.java | 2 +- .../service/impl/GroupServiceImpl.java | 29 ++++++++++--------- .../java/com/bx/implatform/vo/GroupVO.java | 3 +- im-ui/src/view/Group.vue | 12 +++++++- im-uniapp/common/request.js | 6 +++- im-uniapp/pages.json | 2 ++ im-uniapp/pages/group/group.vue | 4 ++- 9 files changed, 41 insertions(+), 23 deletions(-) diff --git a/im-platform/src/main/java/com/bx/implatform/controller/GroupController.java b/im-platform/src/main/java/com/bx/implatform/controller/GroupController.java index 250ebbb..709397a 100644 --- a/im-platform/src/main/java/com/bx/implatform/controller/GroupController.java +++ b/im-platform/src/main/java/com/bx/implatform/controller/GroupController.java @@ -28,8 +28,8 @@ public class GroupController { @ApiOperation(value = "创建群聊",notes="创建群聊") @PostMapping("/create") - public Result createGroup(@NotEmpty(message = "群名不能为空") @RequestParam String groupName){ - return ResultUtils.success(groupService.createGroup(groupName)); + public Result createGroup(@Valid @RequestBody GroupVO vo){ + return ResultUtils.success(groupService.createGroup(vo)); } @ApiOperation(value = "修改群聊信息",notes="修改群聊信息") diff --git a/im-platform/src/main/java/com/bx/implatform/service/IGroupService.java b/im-platform/src/main/java/com/bx/implatform/service/IGroupService.java index 78d1b14..40fb3c3 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/IGroupService.java +++ b/im-platform/src/main/java/com/bx/implatform/service/IGroupService.java @@ -12,7 +12,7 @@ import java.util.List; public interface IGroupService extends IService { - GroupVO createGroup(String groupName); + GroupVO createGroup(GroupVO vo); GroupVO modifyGroup(GroupVO vo); diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java index eefebfe..ec70f53 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java @@ -112,7 +112,7 @@ public class GroupMemberServiceImpl extends ServiceImpl implements @Autowired private IFriendService friendsService; - /** * 创建新群聊 * - * @param groupName 群聊名称 + * @param vo 群聊信息 * @return 群聊信息 **/ - @Transactional @Override - public GroupVO createGroup(String groupName) { + public GroupVO createGroup(GroupVO vo) { UserSession session = SessionContext.getSession(); User user = userService.getById(session.getUserId()); + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(Group::getName,vo.getName()); + if(this.count(wrapper)>0){ + throw new GlobalException("已经存在名为'"+vo.getName()+"'的群聊"); + } + // 保存群组数据 - Group group = new Group(); - group.setName(groupName); + Group group = BeanUtils.copyProperties(vo,Group.class); group.setOwnerId(user.getId()); - group.setHeadImage(user.getHeadImage()); - group.setHeadImageThumb(user.getHeadImageThumb()); this.save(group); // 把群主加入群 GroupMember groupMember = new GroupMember(); groupMember.setGroupId(group.getId()); groupMember.setUserId(user.getId()); - groupMember.setAliasName(user.getNickName()); - groupMember.setRemark(groupName); + groupMember.setAliasName(StringUtils.isEmpty(vo.getAliasName())?session.getNickName():vo.getAliasName()); + groupMember.setRemark(StringUtils.isEmpty(vo.getRemark())?group.getName():vo.getRemark()); groupMember.setHeadImage(user.getHeadImageThumb()); groupMemberService.save(groupMember); - GroupVO vo = BeanUtils.copyProperties(group, GroupVO.class); - vo.setAliasName(user.getNickName()); - vo.setRemark(groupName); + + vo.setId(group.getId()); + vo.setAliasName(groupMember.getAliasName()); + vo.setRemark(groupMember.getRemark()); log.info("创建群聊,群聊id:{},群聊名称:{}",group.getId(),group.getName()); return vo; } - /** * 修改群聊信息 * diff --git a/im-platform/src/main/java/com/bx/implatform/vo/GroupVO.java b/im-platform/src/main/java/com/bx/implatform/vo/GroupVO.java index 9378fd1..3f98bed 100644 --- a/im-platform/src/main/java/com/bx/implatform/vo/GroupVO.java +++ b/im-platform/src/main/java/com/bx/implatform/vo/GroupVO.java @@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull; @ApiModel("群信息VO") public class GroupVO { - @NotNull(message = "群id不可为空") + @ApiModelProperty(value = "群id") private Long id; @@ -21,7 +21,6 @@ public class GroupVO { @ApiModelProperty(value = "群名称") private String name; - @NotNull(message = "群主id不可为空") @ApiModelProperty(value = "群主id") private Long ownerId; diff --git a/im-ui/src/view/Group.vue b/im-ui/src/view/Group.vue index cd2dd42..74896e8 100644 --- a/im-ui/src/view/Group.vue +++ b/im-ui/src/view/Group.vue @@ -118,9 +118,19 @@ inputPattern: /\S/, inputErrorMessage: '请输入群聊名称' }).then((o) => { + let userInfo = this.$store.state.userStore.userInfo; + let data= { + name: o.value, + remark: o.value, + aliasName: userInfo.name, + headImage: userInfo.headImage, + headImageThumb: userInfo.headImageThumb, + ownerId: userInfo.id + } this.$http({ url: `/group/create?groupName=${o.value}`, - method: 'post' + method: 'post', + data: data }).then((group) => { this.$store.commit("addGroup", group); }) diff --git a/im-uniapp/common/request.js b/im-uniapp/common/request.js index ec8e148..ca5702e 100644 --- a/im-uniapp/common/request.js +++ b/im-uniapp/common/request.js @@ -46,7 +46,7 @@ const request = (options) => { return request(options) } else { uni.showToast({ - icon: "error", + icon: "none", title: res.data.message, duration: 1500 }) @@ -54,6 +54,10 @@ const request = (options) => { } }, fail(error) { + uni.showToast({ + title: "网络似乎有点不给力,请稍后重试", + duration: 1500 + }) return reject(error) } }); diff --git a/im-uniapp/pages.json b/im-uniapp/pages.json index bb8422d..4589049 100644 --- a/im-uniapp/pages.json +++ b/im-uniapp/pages.json @@ -38,6 +38,8 @@ "path": "pages/friend/friend-add" }, { "path": "pages/group/group-info" + }, { + "path": "pages/group/group-edit" }], "globalStyle": { "navigationBarTextStyle": "black", diff --git a/im-uniapp/pages/group/group.vue b/im-uniapp/pages/group/group.vue index 7702cf0..2f0810e 100644 --- a/im-uniapp/pages/group/group.vue +++ b/im-uniapp/pages/group/group.vue @@ -28,7 +28,9 @@ methods: { onFocusSearch() {}, onCreateNewGroup() { - + uni.navigateTo({ + url: "/pages/group/group-edit" + }) } }