Browse Source

群组和通讯录添加 新增和删除好友功能

zouxuan 4 years ago
parent
commit
3250715271

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ImUserFriendService.java

@@ -35,7 +35,7 @@ public interface ImUserFriendService extends BaseService<Long, ImUserFriend> {
 	 * @param nickname 昵称
 	 * @return
 	 */
-	boolean updateFriendNickname(Integer userId, Integer friendUserId, String nickname);
+	boolean updateFriendNickname(Integer userId, Integer friendUserId, String nickname, String memo);
 
 	/**
 	 * 根据条件查询指定用户的好友列表

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -73,7 +73,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		imGroupMember.setUpdateTime(date);
 		imGroupMember.setUserId(userId);
 		if (StringUtils.isBlank(roleType)) {
-			imGroupMember.setNickname(user.getRealName());
+			imGroupMember.setNickname(user.getUsername());
 		} else {
 			imGroupMember.setNickname(user.getRealName());
 		}

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

@@ -88,13 +88,14 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 	}
 
 	@Override
-	public boolean updateFriendNickname(Integer userId, Integer friendUserId, String nickname) {
+	public boolean updateFriendNickname(Integer userId, Integer friendUserId, String nickname, String memo) {
 		ImUserFriend userFriend = imUserFriendDao.query(userId, friendUserId);
 		if (userFriend == null) {
 			throw new BizException("好友不存在");
 		}
 		Date date = new Date();
 		userFriend.setFriendNickname(nickname);
+		userFriend.setMemo(memo);
 		userFriend.setUpdateTime(date);
 		imUserFriendDao.update(userFriend);
 

+ 35 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -1,6 +1,10 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.service.ImGroupMemberService;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
 import java.util.Date;
@@ -38,6 +42,9 @@ public class ImGroupController extends BaseController {
 	private ImUserFriendService imUserFriendService;
 
 	@Autowired
+	private ImGroupMemberService imGroupMemberService;
+
+	@Autowired
 	private ImGroupNoticeService imGroupNoticeService;
 
 	@Autowired
@@ -85,7 +92,6 @@ public class ImGroupController extends BaseController {
 	@ApiOperation("查询群成员详情")
 	@GetMapping(value = "/queryGroupMemberDetail")
 	public Object queryGroupMemberDetail(Long imGroupId, Integer userId) {
-
 		return succeed(imGroupService.queryMember(imGroupId, userId));
 	}
 
@@ -140,4 +146,32 @@ public class ImGroupController extends BaseController {
 	public Object queryNoticeList(ImGroupNoticeQueryInfo queryInfo) {
 		return succeed(imGroupNoticeService.queryPage(queryInfo));
 	}
+
+	@ApiOperation("添加群成员")
+	@PostMapping(value = "/addGroupMember")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "Integer"),
+			@ApiImplicitParam(name = "roleType", value = "指导老师,乐队指导,乐团主管,运营主管,学员不传", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "isAdmin", value = "是否管理员", required = true, dataType = "Boolean"),
+			@ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer")})
+	public Object addGroupMember(Long imGroupId, Integer userId, String roleType, boolean isAdmin) {
+		return succeed(imGroupMemberService.join(imGroupId,userId,roleType,isAdmin));
+	}
+
+	@ApiOperation("退群")
+	@PostMapping(value = "/quitGroup")
+	@AuditLogAnnotation(operateName = "退群",interfaceURL = "imGroup/quitGroup")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "Integer"),
+			@ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer")})
+	public Object quitGroup(Long imGroupId, Integer userId) {
+		return succeed(imGroupMemberService.quit(imGroupId,userId));
+	}
+
+	@ApiOperation("修改角色")
+	@PostMapping(value = "/updateRoleType")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "Integer"),
+			@ApiImplicitParam(name = "roleType", value = "指导老师,乐队指导,乐团主管,运营主管,学员不传", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer")})
+	public Object updateRoleType(Long imGroupId, Integer userId, String roleType) {
+		return succeed(imGroupMemberService.updateRoleType(imGroupId,userId,roleType));
+	}
 }

+ 52 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ImUserFriendController.java

@@ -0,0 +1,52 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.service.ImUserFriendService;
+import com.ym.mec.common.controller.BaseController;
+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.*;
+
+@RequestMapping("imUserFriend")
+@Api(tags = "IM通讯录")
+@RestController
+public class ImUserFriendController extends BaseController {
+
+	@Autowired
+	private ImUserFriendService imUserFriendService;
+
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
+	@ApiOperation("添加好友")
+	@PostMapping(value = "/add")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "memo", value = "备注", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "nickname", value = "昵称", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "friendUserId", value = "好友编号", required = true, dataType = "Integer")})
+	public Object addFriend(Integer friendUserId, String nickname, String memo) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		return succeed(imUserFriendService.addFriend(sysUser.getId(),friendUserId,nickname,memo));
+	}
+
+	@ApiOperation("删除好友")
+	@PostMapping(value = "/del")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "friendUserId", value = "好友编号", required = true, dataType = "Integer")})
+	public Object quitGroup(Integer friendUserId) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		return succeed(imUserFriendService.deleteFriend(sysUser.getId(),friendUserId));
+	}
+
+	@ApiOperation("修改昵称,备注")
+	@PostMapping(value = "/updateFriend")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "memo", value = "备注", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "nickname", value = "昵称", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "friendUserId", value = "好友编号", required = true, dataType = "Integer")})
+	public Object updateFriend(Integer friendUserId, String nickname, String memo) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		return succeed(imUserFriendService.updateFriendNickname(sysUser.getId(),friendUserId,nickname,memo));
+	}
+}