diff --git a/src/main/java/com/jsl/oa/controllers/UserController.java b/src/main/java/com/jsl/oa/controllers/UserController.java index c4331e2..6b03b8c 100644 --- a/src/main/java/com/jsl/oa/controllers/UserController.java +++ b/src/main/java/com/jsl/oa/controllers/UserController.java @@ -1,9 +1,6 @@ package com.jsl.oa.controllers; -import com.jsl.oa.model.voData.UserDeleteVO; -import com.jsl.oa.model.voData.UserLockVO; -import com.jsl.oa.model.voData.UserLoginVO; -import com.jsl.oa.model.voData.UserRegisterVO; +import com.jsl.oa.model.voData.*; import com.jsl.oa.services.AuthService; import com.jsl.oa.services.UserService; import com.jsl.oa.utils.BaseResponse; @@ -52,5 +49,14 @@ public class UserController { return userService.userLock(userLockVO); } + @PutMapping("/user/profile/edit") + public BaseResponse userEditProfile(@RequestBody @Validated UserEditProfile userEditProfile, BindingResult bindingResult){ + // 判断是否有参数错误 + if (bindingResult.hasErrors()) { + return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); + } + return userService.userEditProfile(userEditProfile); + } + } diff --git a/src/main/java/com/jsl/oa/dao/UserDAO.java b/src/main/java/com/jsl/oa/dao/UserDAO.java index d26c795..e90835e 100644 --- a/src/main/java/com/jsl/oa/dao/UserDAO.java +++ b/src/main/java/com/jsl/oa/dao/UserDAO.java @@ -3,6 +3,7 @@ package com.jsl.oa.dao; import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.voData.UserDeleteVO; +import com.jsl.oa.model.voData.UserEditProfile; import com.jsl.oa.model.voData.UserLockVO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -33,6 +34,11 @@ public class UserDAO { return userDO; } + /** + * 根据id判断用户是否存在 + * @param id + * @return + */ public Boolean isExistUser(Long id){ if(userMapper.getUserById(id)==null) { return false; @@ -53,4 +59,8 @@ public class UserDAO { public void userLock(UserLockVO userLockVO) { userMapper.userLock(userLockVO); } + + public void userEditProfile(UserEditProfile userEditProfile) { + userMapper.userEditProfile(userEditProfile); + } } diff --git a/src/main/java/com/jsl/oa/mapper/UserMapper.java b/src/main/java/com/jsl/oa/mapper/UserMapper.java index af1fa19..0b5dce9 100644 --- a/src/main/java/com/jsl/oa/mapper/UserMapper.java +++ b/src/main/java/com/jsl/oa/mapper/UserMapper.java @@ -2,6 +2,7 @@ package com.jsl.oa.mapper; import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.voData.UserDeleteVO; +import com.jsl.oa.model.voData.UserEditProfile; import com.jsl.oa.model.voData.UserLockVO; import com.jsl.oa.model.voData.UserLoginVO; import org.apache.ibatis.annotations.Insert; @@ -40,4 +41,6 @@ public interface UserMapper { @Select("select * from organize_oa.oa_user where email = #{email}") UserDO getUserInfoByEmail(String email); + + void userEditProfile(UserEditProfile userEditProfile); } diff --git a/src/main/java/com/jsl/oa/model/voData/UserEditProfile.java b/src/main/java/com/jsl/oa/model/voData/UserEditProfile.java new file mode 100644 index 0000000..c34c6b8 --- /dev/null +++ b/src/main/java/com/jsl/oa/model/voData/UserEditProfile.java @@ -0,0 +1,23 @@ +package com.jsl.oa.model.voData; + +import lombok.Getter; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; + +@Getter +public class UserEditProfile { + private Long id; + @Pattern(regexp = "^[0-9A-Za-z_]{3,40}$", message = "用户名只能为字母、数字或下划线") + private String username; + private String password; + private String address; + private String phone; + private String email; + private Short age; + private String signature; + private String avatar; + private String nickname; + private Short sex; + private String description; +} diff --git a/src/main/java/com/jsl/oa/services/UserService.java b/src/main/java/com/jsl/oa/services/UserService.java index ec36a61..fe152a7 100644 --- a/src/main/java/com/jsl/oa/services/UserService.java +++ b/src/main/java/com/jsl/oa/services/UserService.java @@ -2,6 +2,7 @@ package com.jsl.oa.services; import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.voData.UserDeleteVO; +import com.jsl.oa.model.voData.UserEditProfile; import com.jsl.oa.model.voData.UserLockVO; import com.jsl.oa.utils.BaseResponse; @@ -39,4 +40,6 @@ public interface UserService { * @return */ BaseResponse userLock(UserLockVO userLockVO); + + BaseResponse userEditProfile(UserEditProfile userEditProfile); } diff --git a/src/main/java/com/jsl/oa/services/impl/AuthServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/AuthServiceImpl.java index 7f44354..80bc3db 100644 --- a/src/main/java/com/jsl/oa/services/impl/AuthServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/AuthServiceImpl.java @@ -87,5 +87,9 @@ public class AuthServiceImpl implements AuthService { } } + @Override + public BaseResponse authLoginByEmail(String email) { + return null; } -} + +} \ No newline at end of file diff --git a/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java index e381c61..86d020c 100644 --- a/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java @@ -3,6 +3,7 @@ package com.jsl.oa.services.impl; import com.jsl.oa.dao.UserDAO; import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.voData.UserDeleteVO; +import com.jsl.oa.model.voData.UserEditProfile; import com.jsl.oa.model.voData.UserLockVO; import com.jsl.oa.services.UserService; import com.jsl.oa.utils.BaseResponse; @@ -25,18 +26,26 @@ public class UserServiceImpl implements UserService { @Override public BaseResponse userDelete(UserDeleteVO userDeleteVO) { //判断用户是否存在 - if(userDAO.isExistUser(userDeleteVO.getId())){ - userDAO.userDelete(userDeleteVO); - return ResultUtil.success("删除成功"); + if(userDAO.isExistUser(userDeleteVO.getId())) { + userDAO.userDelete(userDeleteVO); + return ResultUtil.success("删除成功"); }else return ResultUtil.error(ErrorCode.USER_NOT_EXIST); } @Override public BaseResponse userLock(UserLockVO userLockVO) { //判断用户是否存在 - if(userDAO.isExistUser(userLockVO.getId())){ - userDAO.userLock(userLockVO); - return ResultUtil.success("锁定成功"); + if(userDAO.isExistUser(userLockVO.getId())) { + userDAO.userLock(userLockVO); + return ResultUtil.success("锁定成功"); + }else return ResultUtil.error(ErrorCode.USER_NOT_EXIST); + } + + @Override + public BaseResponse userEditProfile(UserEditProfile userEditProfile) { + if(userDAO.isExistUser(userEditProfile.getId())) { + userDAO.userEditProfile(userEditProfile); + return ResultUtil.success("修改成功"); }else return ResultUtil.error(ErrorCode.USER_NOT_EXIST); } } diff --git a/src/main/resources/com/jsl/oa/mapper/UserMapper.xml b/src/main/resources/com/jsl/oa/mapper/UserMapper.xml new file mode 100644 index 0000000..36b6fcd --- /dev/null +++ b/src/main/resources/com/jsl/oa/mapper/UserMapper.xml @@ -0,0 +1,47 @@ + + + + + + update organize_oa.oa_user + + + username = #{username}, + + + password = #{password}, + + + address = #{address}, + + + phone = #{phone}, + + + email = #{email}, + + + age = #{age}, + + + signature = #{signature}, + + + sex = #{sex}, + + + avatar = #{avatar}, + + + nickname = #{nickname}, + + + description = #{description} + + + where id = #{id} + + + \ No newline at end of file