Commit 962fac72 by 胡明森

更新项目里的用户昵称和头像

parent 5fe06029
package cn.meteor.beyondclouds.modules.project.listener;
import cn.meteor.beyondclouds.core.listener.DataItemChangeListener;
import cn.meteor.beyondclouds.modules.project.service.IProjectCommentService;
import cn.meteor.beyondclouds.modules.project.service.IProjectService;
import cn.meteor.beyondclouds.modules.queue.message.DataItemChangeMessage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
......@@ -13,8 +16,36 @@ import org.springframework.stereotype.Component;
@Component("projectUserInfoChangeListener")
public class UserInfoChangeListener extends DataItemChangeListener {
private IProjectService projectService;
private IProjectCommentService projectCommentService;
@Autowired
public void setProjectService(IProjectService projectService) {
this.projectService = projectService;
}
@Autowired
public void setProjectCommentService(IProjectCommentService projectCommentService) {
this.projectCommentService = projectCommentService;
}
@Override
public void onUserAvatarUpdate(DataItemChangeMessage dataItemChangeMessage) {
String userId = (String) dataItemChangeMessage.getItemId();
projectCommentService.updateProjectCommentUserAvatar(userId);
log.debug("project-用户头像更新:{}", dataItemChangeMessage);
}
@Override
public void onUserNickUpdate(DataItemChangeMessage dataItemChangeMessage) {
String userId = (String) dataItemChangeMessage.getItemId();
projectService.updateProjectUserNick(userId);
projectCommentService.updateProjectCommentUserNick(userId);
log.debug("project-用户昵称更新:{}", dataItemChangeMessage);
}
}
......@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.project.service;
import cn.meteor.beyondclouds.modules.project.entity.ProjectComment;
import cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceException;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -40,4 +41,16 @@ public interface IProjectCommentService extends IService<ProjectComment> {
* @return
*/
IPage<ProjectComment> getCommentPage(Integer page, Integer size, Integer projectId, Integer parentId) throws ProjectCommentServiceException;
/**
* 当用户更新头像时,更新项目评论中用户头像
* @param userId
*/
void updateProjectCommentUserAvatar(String userId);
/**
* 当用户更新昵称时,更新项目评论中用户昵称
* @param userId
*/
void updateProjectCommentUserNick(String userId);
}
......@@ -68,4 +68,10 @@ public interface IProjectService extends IService<Project> {
* @return
*/
IPage<Project> getHotProjectPage(Integer pageNumber, Integer pageSize);
/**
* 当用户更新昵称时,更新项目中用户昵称
* @param userId
*/
void updateProjectUserNick(String userId);
}
......@@ -9,8 +9,11 @@ import cn.meteor.beyondclouds.modules.project.mapper.ProjectCommentMapper;
import cn.meteor.beyondclouds.modules.project.service.IProjectCommentService;
import cn.meteor.beyondclouds.modules.project.service.IProjectService;
import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.enums.AuthenticationErrorCode;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import cn.meteor.beyondclouds.modules.user.service.IUserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -159,4 +162,29 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
projectCommentQueryWrapper.eq("parent_id", parentId);
return page(page, projectCommentQueryWrapper);
}
@Override
public void updateProjectCommentUserAvatar(String userId) {
User user = userService.getById(userId);
if (null != user) {
String userAvatar = user.getUserAvatar();
UpdateWrapper<ProjectComment> projectCommentUpdateWrapper = new UpdateWrapper<>();
projectCommentUpdateWrapper.eq("user_id",userId);
projectCommentUpdateWrapper.set("user_avatar",userAvatar);
update(projectCommentUpdateWrapper);
}
}
@Override
public void updateProjectCommentUserNick(String userId) {
User user = userService.getById(userId);
if (null != user) {
String userNick = user.getNickName();
UpdateWrapper<ProjectComment> projectCommentUpdateWrapper = new UpdateWrapper<>();
projectCommentUpdateWrapper.eq("user_id",userId);
projectCommentUpdateWrapper.set("user_nick",userNick);
update(projectCommentUpdateWrapper);
}
}
}
......@@ -18,6 +18,7 @@ import cn.meteor.beyondclouds.modules.search.enums.DataItemType;
import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.service.IUserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -240,4 +241,16 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
return page(page, projectQueryWrapper);
}
@Override
public void updateProjectUserNick(String userId) {
User user = userService.getById(userId);
if (null != user) {
String userNick = user.getNickName();
UpdateWrapper<Project> projectUpdateWrapper = new UpdateWrapper<>();
projectUpdateWrapper.eq("user_id",userId);
projectUpdateWrapper.set("user_nick",userNick);
update(projectUpdateWrapper);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment