shangke %!s(int64=2) %!d(string=hai) anos
pai
achega
34841edc34

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupMember.java

@@ -19,6 +19,9 @@ public class ImGroupMember extends BaseEntity {
 	private Integer userId;
 	
 	private String nickname;
+
+	/** 群昵称 */
+	private String groupNickname;
 	
 	/** 是否是管理员 */
 	private boolean isAdmin;
@@ -125,7 +128,15 @@ public class ImGroupMember extends BaseEntity {
 	public java.util.Date getUpdateTime(){
 		return this.updateTime;
 	}
-			
+
+	public String getGroupNickname() {
+		return groupNickname;
+	}
+
+	public void setGroupNickname(String groupNickname) {
+		this.groupNickname = groupNickname;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -412,7 +412,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             imGroupMember.setIsAdmin(false);
             imGroupMemberDao.update(imGroupMember);
         }
-        imPluginService.changeGroupOwner(imGroupId, userId.toString(),adminId.toString());
+        imPluginService.changeGroupOwner(imGroupId, userId.toString(), adminId.toString());
 
         imGroupMemberDao.updateAdmin(imGroupId, userId);
         return true;
@@ -423,7 +423,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
      *
      * @param imGroupIds    群组ID
      * @param user          用户信息
-     * @param userType      用户类型
+     * @param roleType      用户类型
      */
     @Override
     @Transactional(rollbackFor = Exception.class)

+ 7 - 2
mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml

@@ -36,6 +36,7 @@
 		<result column="username_" property="user.username" />
 		<result column="avatar_" property="user.avatar" />
 		<result column="phone_" property="user.phone" />
+		<result column="group_nickname_" property="groupNickname" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -160,8 +161,12 @@
 	</select>
 	
 	<select id="queryMemberById" resultMap="ImGroupMemberDto">
-		SELECT igm.*,u.avatar_,CASE WHEN find_in_set('STUDENT',u.user_type_) THEN u.username_ ELSE u.real_name_ END username_,
-		st.member_rank_setting_id_,s.name_ subject_name_,st.subject_id_list_ subject_id_
+		SELECT igm.*
+		     , u.avatar_
+		     , CASE WHEN find_in_set('STUDENT',u.user_type_) THEN u.username_ ELSE u.real_name_ END username_
+		     , IFNULL(NULLIF(u.username_, ''), u.real_name_) AS group_nickname_
+		     , u.real_name_
+		     , st.member_rank_setting_id_,s.name_ subject_name_,st.subject_id_list_ subject_id_
 		FROM im_group_member igm
 		LEFT JOIN sys_user u ON igm.user_id_ = u.id_
 		LEFT JOIN student st ON st.user_id_ = u.id_

+ 16 - 5
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -12,7 +12,9 @@ import com.ym.mec.biz.dal.wrapper.ImGroupWrapper;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.web.vo.ImGroupVo;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -25,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 @RequestMapping("imGroup")
@@ -162,12 +165,20 @@ public class ImGroupController extends BaseController {
 	}
 
     @ApiOperation(" 移交群主")
-    @PostMapping(value = "/groupChangeOwner")
     @AuditLogAnnotation(operateName = "移交群主",interfaceURL = "imGroup/groupChangeOwner")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "integer")})
-    public Object groupChangeOwner(String imGroupId, Integer userId) throws Exception {
-        return succeed(imGroupService.groupChangeOwner(userId,imGroupId));
+    /*@ApiImplicitParams({
+			@ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "integer")
+	})*/
+    @PostMapping(value = "/groupChangeOwner")
+    public Object groupChangeOwner(@RequestBody ImGroupVo.GroupChangeOwner info) throws Exception {
+
+		// 校验参数合法性
+		if (StringUtils.isBlank(info.getImGroupId()) || Objects.isNull(info.getUserId())) {
+			throw new BizException("请求参数错误");
+		}
+
+        return succeed(imGroupService.groupChangeOwner(info.getUserId(), info.getImGroupId()));
     }
 
 	@ApiOperation("解散群")

+ 30 - 0
mec-web/src/main/java/com/ym/mec/web/vo/ImGroupVo.java

@@ -0,0 +1,30 @@
+package com.ym.mec.web.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * IM群组请求
+ * Created by Eric.Shang on 2023/5/24.
+ */
+@ApiModel(value = "ImGroupVo对象", description = "IM群组对象")
+public class ImGroupVo implements Serializable {
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel("GroupChangeOwner-群主转移")
+    public static class GroupChangeOwner implements Serializable {
+
+        @ApiModelProperty("群组编号")
+        private String imGroupId;
+
+        @ApiModelProperty("用户编号")
+        private Integer userId;
+    }
+}