From ca2f5ee6a283400333d193954d4816ec4cca5f53 Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Thu, 8 Sep 2022 11:40:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mdd/front/controller/UserController.java | 16 +++++ .../com/mdd/front/service/IUserService.java | 9 +++ .../front/service/impl/UserServiceImpl.java | 60 +++++++++++++++++++ 3 files changed, 85 insertions(+) diff --git a/server/like-front/src/main/java/com/mdd/front/controller/UserController.java b/server/like-front/src/main/java/com/mdd/front/controller/UserController.java index e955879e..7def60d8 100644 --- a/server/like-front/src/main/java/com/mdd/front/controller/UserController.java +++ b/server/like-front/src/main/java/com/mdd/front/controller/UserController.java @@ -43,6 +43,22 @@ public class UserController { return AjaxResult.success(vo); } + /** + * 编辑信息 + * + * @author fzr + * @param params 参数 + * @return Object + */ + @PostMapping("/edit") + public Object edit(@RequestBody Map params) { + Assert.notNull(params.get("field"), "field参数缺失"); + Assert.notNull(params.get("value"), "value参数缺失"); + Integer userId = LikeFrontThreadLocal.getUserId(); + iUserService.edit(params, userId); + return AjaxResult.success(); + } + /** * 绑定手机号 * diff --git a/server/like-front/src/main/java/com/mdd/front/service/IUserService.java b/server/like-front/src/main/java/com/mdd/front/service/IUserService.java index 0637f87c..fa0df12f 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/IUserService.java +++ b/server/like-front/src/main/java/com/mdd/front/service/IUserService.java @@ -28,6 +28,15 @@ public interface IUserService { */ UserInfoVo info(Integer userId); + /** + * 编辑信息 + * + * @author fzr + * @param params 参数 + * @param userId 用户ID + */ + void edit(Map params, Integer userId); + /** * 微信手机 * diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/UserServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/UserServiceImpl.java index 97f38b2c..ea948bb9 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/UserServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/UserServiceImpl.java @@ -15,6 +15,7 @@ import com.mdd.common.mapper.system.SystemConfigMapper; import com.mdd.common.mapper.user.UserAuthMapper; import com.mdd.common.mapper.user.UserMapper; import com.mdd.common.utils.ConfigUtil; +import com.mdd.common.utils.StringUtil; import com.mdd.common.utils.TimeUtil; import com.mdd.common.utils.UrlUtil; import com.mdd.front.service.IUserService; @@ -104,6 +105,65 @@ public class UserServiceImpl implements IUserService { return vo; } + /** + * 编辑信息 + * + * @author fzr + * @param params 参数 + * @param userId 用户ID + */ + @Override + public void edit(Map params, Integer userId) { + String field = params.getOrDefault("field", "").trim(); + String value = params.getOrDefault("value", "").trim(); + + switch (field) { + case "avatar": + User avatarUser = new User(); + avatarUser.setId(userId); + avatarUser.setAvatar(UrlUtil.toRelativeUrl(value)); + avatarUser.setUpdateTime(System.currentTimeMillis() / 1000); + userMapper.updateById(avatarUser); + break; + case "username": + User usernameUser = userMapper.selectOne(new QueryWrapper() + .select("id,username") + .eq("username", value) + .eq("is_delete", 0) + .last("limit 1")); + + if (StringUtil.isNotNull(usernameUser) && !usernameUser.getId().equals(userId)) { + throw new OperateException("账号已被使用!"); + } + + if (StringUtil.isNotNull(usernameUser) && usernameUser.getUsername().equals(value)) { + throw new OperateException("新账号与旧账号一致,修改失败!"); + } + + usernameUser.setId(userId); + usernameUser.setUsername(value); + usernameUser.setUpdateTime(System.currentTimeMillis() / 1000); + userMapper.updateById(usernameUser); + break; + case "nickname": + User nicknameUser = new User(); + nicknameUser.setId(userId); + nicknameUser.setNickname(value); + nicknameUser.setUpdateTime(System.currentTimeMillis() / 1000); + userMapper.updateById(nicknameUser); + break; + case "sex": + User sexUser = new User(); + sexUser.setId(userId); + sexUser.setSex(Integer.parseInt(value)); + sexUser.setUpdateTime(System.currentTimeMillis() / 1000); + userMapper.updateById(sexUser); + break; + default: + throw new OperateException("不被支持的类型"); + } + } + /** * 微信手机号 *