用户编辑

This commit is contained in:
176yunxuan 2024-01-15 22:38:12 +08:00
parent a278df48fa
commit 6e37a89f23
8 changed files with 116 additions and 11 deletions

View File

@ -1,9 +1,6 @@
package com.jsl.oa.controllers; package com.jsl.oa.controllers;
import com.jsl.oa.model.voData.UserDeleteVO; import com.jsl.oa.model.voData.*;
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.services.AuthService; import com.jsl.oa.services.AuthService;
import com.jsl.oa.services.UserService; import com.jsl.oa.services.UserService;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
@ -52,5 +49,14 @@ public class UserController {
return userService.userLock(userLockVO); 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);
}
} }

View File

@ -3,6 +3,7 @@ package com.jsl.oa.dao;
import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.mapper.UserMapper;
import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.doData.UserDO;
import com.jsl.oa.model.voData.UserDeleteVO; 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.UserLockVO;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -33,6 +34,11 @@ public class UserDAO {
return userDO; return userDO;
} }
/**
* 根据id判断用户是否存在
* @param id
* @return
*/
public Boolean isExistUser(Long id){ public Boolean isExistUser(Long id){
if(userMapper.getUserById(id)==null) { if(userMapper.getUserById(id)==null) {
return false; return false;
@ -53,4 +59,8 @@ public class UserDAO {
public void userLock(UserLockVO userLockVO) { public void userLock(UserLockVO userLockVO) {
userMapper.userLock(userLockVO); userMapper.userLock(userLockVO);
} }
public void userEditProfile(UserEditProfile userEditProfile) {
userMapper.userEditProfile(userEditProfile);
}
} }

View File

@ -2,6 +2,7 @@ package com.jsl.oa.mapper;
import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.doData.UserDO;
import com.jsl.oa.model.voData.UserDeleteVO; 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.UserLockVO;
import com.jsl.oa.model.voData.UserLoginVO; import com.jsl.oa.model.voData.UserLoginVO;
import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Insert;
@ -40,4 +41,6 @@ public interface UserMapper {
@Select("select * from organize_oa.oa_user where email = #{email}") @Select("select * from organize_oa.oa_user where email = #{email}")
UserDO getUserInfoByEmail(String email); UserDO getUserInfoByEmail(String email);
void userEditProfile(UserEditProfile userEditProfile);
} }

View File

@ -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;
}

View File

@ -2,6 +2,7 @@ package com.jsl.oa.services;
import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.doData.UserDO;
import com.jsl.oa.model.voData.UserDeleteVO; 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.UserLockVO;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
@ -39,4 +40,6 @@ public interface UserService {
* @return * @return
*/ */
BaseResponse userLock(UserLockVO userLockVO); BaseResponse userLock(UserLockVO userLockVO);
BaseResponse userEditProfile(UserEditProfile userEditProfile);
} }

View File

@ -87,5 +87,9 @@ public class AuthServiceImpl implements AuthService {
} }
} }
@Override
public BaseResponse authLoginByEmail(String email) {
return null;
} }
} }

View File

@ -3,6 +3,7 @@ package com.jsl.oa.services.impl;
import com.jsl.oa.dao.UserDAO; import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.doData.UserDO;
import com.jsl.oa.model.voData.UserDeleteVO; 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.UserLockVO;
import com.jsl.oa.services.UserService; import com.jsl.oa.services.UserService;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
@ -39,4 +40,12 @@ public class UserServiceImpl implements UserService {
return ResultUtil.success("锁定成功"); return ResultUtil.success("锁定成功");
}else return ResultUtil.error(ErrorCode.USER_NOT_EXIST); }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);
}
} }

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jsl.oa.mapper.UserMapper">
<update id="userEditProfile">
update organize_oa.oa_user
<set>
<if test="username != null">
username = #{username},
</if>
<if test="password != null">
password = #{password},
</if>
<if test="address != null">
address = #{address},
</if>
<if test="phone != null">
phone = #{phone},
</if>
<if test="email != null">
email = #{email},
</if>
<if test="age != null">
age = #{age},
</if>
<if test="signature != null">
signature = #{signature},
</if>
<if test="sex != null">
sex = #{sex},
</if>
<if test="avatar != null">
avatar = #{avatar},
</if>
<if test="nickname != null">
nickname = #{nickname},
</if>
<if test="description != null">
description = #{description}
</if>
</set>
where id = #{id}
</update>
</mapper>