修改删除用户功能
This commit is contained in:
parent
00103fdff5
commit
798a15d570
|
|
@ -56,13 +56,13 @@ public class UserController {
|
|||
}
|
||||
|
||||
@ApiOperation(value = "校验工号唯一性", notes = "")
|
||||
@RequestMapping(value = "/validate", method = RequestMethod.POST)
|
||||
@RequestMapping(value = "/validateWorkNumber", method = RequestMethod.POST)
|
||||
public ElectromagneticResult<?> validateWorkNum(@RequestBody UserWorkNumRequest userWorkNumRequest) {
|
||||
return userFacade.validateWorkNum(userWorkNumRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value="删除用户信息",notes="")
|
||||
@GetMapping(value = "/deleteUser")
|
||||
@PostMapping(value = "/deleteUser")
|
||||
public ElectromagneticResult<?> deleteUser(@RequestBody UserDeleteRequest userDeleteRequest) {
|
||||
return userFacade.deleteUser(userDeleteRequest);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class UserDeleteKeyWords {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户编码
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String modifier;
|
||||
/**
|
||||
* 更新人姓名
|
||||
*/
|
||||
private String modifierName;
|
||||
|
||||
}
|
||||
|
|
@ -2,6 +2,8 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.us
|
|||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface UserRepository {
|
||||
|
|
@ -60,6 +62,6 @@ public interface UserRepository {
|
|||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
int deleteUser(String userId);
|
||||
int deleteUser(UserDeleteKeyWords userDeleteKeyWords);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.us
|
|||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -70,5 +71,5 @@ public interface UserService {
|
|||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
Boolean deleteUser(String userId);
|
||||
Boolean deleteUser(UserDeleteKeyWords userDeleteKeyWords);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.us
|
|||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.UserRepository;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.UserService;
|
||||
import electromagnetic.data.framework.share.exception.LoggerConstant;
|
||||
|
|
@ -102,11 +103,11 @@ public class UserServiceImpl implements UserService {
|
|||
/**
|
||||
* 根据userId逻辑删除用户
|
||||
*
|
||||
* @param userId
|
||||
* @param userDeleteKeyWords
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteUser(String userId) {
|
||||
return userRepository.deleteUser(userId)>0;
|
||||
public Boolean deleteUser(UserDeleteKeyWords userDeleteKeyWords) {
|
||||
return userRepository.deleteUser(userDeleteKeyWords)>0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,4 +17,14 @@ public class UserDeleteRequest extends BaseRequest implements Serializable {
|
|||
* 用户编码
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 更新人姓名
|
||||
*/
|
||||
private String modifier;
|
||||
|
||||
/**
|
||||
* 更新人工号
|
||||
*/
|
||||
private String modifierName;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,4 +62,15 @@ public class UserRequest extends BaseRequest implements Serializable {
|
|||
* 创建者姓名
|
||||
*/
|
||||
private String creatorName;
|
||||
|
||||
/**
|
||||
* 编辑者userId
|
||||
*/
|
||||
private String modifier;
|
||||
|
||||
/**
|
||||
* 编辑者姓名
|
||||
*/
|
||||
private String modifierName;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,4 +19,9 @@ public class UserWorkNumRequest extends BaseRequest implements Serializable {
|
|||
*/
|
||||
private String workNumber;
|
||||
|
||||
/**
|
||||
* 用户编号
|
||||
*/
|
||||
private String userID;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.data.manage.repository.dao;
|
|||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -62,5 +63,5 @@ public interface UserMapper {
|
|||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
int deleteUser(String userId);
|
||||
int deleteUser(UserDeleteKeyWords userDeleteKeyWords);
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ package com.electromagnetic.industry.software.data.manage.repository.impl;
|
|||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.UserRepository;
|
||||
import com.electromagnetic.industry.software.data.manage.repository.dao.UserMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
|
@ -91,12 +92,12 @@ public class UserRepositoryImpl implements UserRepository {
|
|||
|
||||
/**
|
||||
* 删除用户
|
||||
* @param userId
|
||||
* @param userDeleteKeyWords
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int deleteUser(String userId) {
|
||||
return userMapper.deleteUser(userId);
|
||||
public int deleteUser(UserDeleteKeyWords userDeleteKeyWords) {
|
||||
return userMapper.deleteUser(userDeleteKeyWords);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
<if test="modifier != null and modifier != ''">modifier = #{modifier},</if>
|
||||
<if test="modifierName != null and modifierName != ''">modifier_name = #{modifierName},</if>
|
||||
</set>
|
||||
where id= #{id}
|
||||
where user_id= #{userId}
|
||||
</update>
|
||||
|
||||
|
||||
|
|
@ -124,6 +124,7 @@
|
|||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
and effect_flag=1
|
||||
</where>
|
||||
|
||||
<!-- 动态排序条件 -->
|
||||
|
|
@ -193,9 +194,13 @@
|
|||
where user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<update id="deleteUser" parameterType="String">
|
||||
<update id="deleteUser" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords">
|
||||
update ed_users
|
||||
set effect_flag=0
|
||||
<set>
|
||||
effect_flag=0,
|
||||
modifier=#{modifier},
|
||||
modifier_name=#{modifierName}
|
||||
</set>
|
||||
where user_id = #{userId}
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
@ -4,6 +4,7 @@ import com.electromagnetic.industry.software.data.manage.common.ElectromagneticE
|
|||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.UserService;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util.UserConstant;
|
||||
|
|
@ -104,13 +105,41 @@ public class UserFacadeImpl implements UserFacade {
|
|||
*/
|
||||
@Override
|
||||
public ElectromagneticResult<?> validateWorkNum(UserWorkNumRequest userWorkNumRequest) {
|
||||
// 将请求对象转换为模型对象
|
||||
// 将前端请求对象转换为模型对象,包含userId和userWorkNum
|
||||
User user = UserMappers.INSTANCE.getUserWorkNumRequestToModel(userWorkNumRequest);
|
||||
// 尝试根据工号获取用户
|
||||
|
||||
//根据请求对象的userId判断当前处于什么状态
|
||||
if(user.getUserId()==null){
|
||||
//userId为空,表示是新增用户阶段
|
||||
//判断数据库中有无该工号对应的用户
|
||||
User existingUser = userService.getUserByWorkNumber(user.getWorkNumber());
|
||||
// 根据是否存在具有相同工号的用户来确定工号的唯一性
|
||||
//如果有该用户就返回false,如果没有(==null)就返回true
|
||||
boolean isWorkNumberUnique = (existingUser == null);
|
||||
return ElectromagneticResultUtil.success(Boolean.valueOf(isWorkNumberUnique));
|
||||
return ElectromagneticResultUtil.success(isWorkNumberUnique);
|
||||
}else{
|
||||
//userId不为空,表示是编辑用户阶段
|
||||
//请求对象的userWordNum在数据库中对应的user
|
||||
User existingUser = userService.getUserByWorkNumber(user.getWorkNumber());
|
||||
//判断,请求对象的userId对应的user和请求对象的userWordNum在数据库中对应的user是否为用一个
|
||||
if(existingUser!=null){
|
||||
//请求对象的userWordNum在数据库中对应的user与请求对象的userId对应的user是否为同一个
|
||||
if(user.getUserId().equals(existingUser.getUserId())){
|
||||
// 如果获取到的用户ID与当前编辑的用户ID相同,说明工号未改变,直接返回true
|
||||
return ElectromagneticResultUtil.success(true);
|
||||
}else{
|
||||
// 如果获取到的用户ID与当前编辑的用户ID不同,说明工号已改变,需要判断新工号是否唯一
|
||||
// 如果根据新工号获取不到用户,说明新工号唯一
|
||||
boolean isWorkNumberUnique = (userService.getUserByWorkNumber(user.getWorkNumber()) == null);
|
||||
return ElectromagneticResultUtil.success(isWorkNumberUnique);
|
||||
}
|
||||
}else{
|
||||
//请求对象的userWordNum在数据库中不存在对应的user
|
||||
return ElectromagneticResultUtil.success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -151,15 +180,17 @@ public class UserFacadeImpl implements UserFacade {
|
|||
@Override
|
||||
public ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest) {
|
||||
// 将请求对象转换为模型对象
|
||||
User user = UserMappers.INSTANCE.getUserDeleteRequestToModel(userDeleteRequest);
|
||||
UserDeleteKeyWords userDeleteKeyWords = UserMappers.INSTANCE.getUserDeleteRequestToModel(userDeleteRequest);
|
||||
|
||||
// 检查用户是否已经被逻辑删除
|
||||
User existingUser = userService.getSingleUser(user.getUserId());
|
||||
User existingUser = userService.getSingleUser(userDeleteKeyWords.getUserId());
|
||||
|
||||
if(existingUser != null && existingUser.getEffectFlag()==0){
|
||||
// 如果用户已经被逻辑删除(在这个假设中,0 表示已删除),则不进行任何操作或返回错误
|
||||
return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum. FINE_DELETE_USER_ERROR);
|
||||
}
|
||||
if(existingUser!=null && existingUser.getEffectFlag()==1){// 在这个假设中,1 表示未删除
|
||||
return ElectromagneticResultUtil.success(userService.deleteUser(user.getUserId()));
|
||||
return ElectromagneticResultUtil.success(userService.deleteUser(userDeleteKeyWords));
|
||||
}else{
|
||||
// 如果用户不存在(理论上不应该发生,除非数据库状态不一致),则返回错误
|
||||
return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum. FINE_DELETE_USER_ERROR);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ package com.electromagnetic.industry.software.data.manage.service.mappers;
|
|||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.*;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
|
|
@ -78,7 +79,7 @@ public interface UserMappers {
|
|||
* @param userDeleteRequest
|
||||
* @return
|
||||
*/
|
||||
User getUserDeleteRequestToModel(UserDeleteRequest userDeleteRequest);
|
||||
UserDeleteKeyWords getUserDeleteRequestToModel(UserDeleteRequest userDeleteRequest);
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.electromagnetic.industry.software.data.manage.service.mappers;
|
|||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.SearchUserRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserDeleteRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest;
|
||||
|
|
@ -16,8 +17,8 @@ import javax.annotation.Generated;
|
|||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2024-11-20T10:52:53+0800",
|
||||
comments = "version: 1.4.1.Final, compiler: javac, environment: Java 1.8.0_271 (Oracle Corporation)"
|
||||
date = "2024-11-21T15:23:57+0800",
|
||||
comments = "version: 1.4.1.Final, compiler: javac, environment: Java 1.8.0_321 (Oracle Corporation)"
|
||||
)
|
||||
public class UserMappersImpl implements UserMappers {
|
||||
|
||||
|
|
@ -40,6 +41,8 @@ public class UserMappersImpl implements UserMappers {
|
|||
user.setInternshipEndDate( userRequest.getInternshipEndDate() );
|
||||
user.setCreator( userRequest.getCreator() );
|
||||
user.setCreatorName( userRequest.getCreatorName() );
|
||||
user.setModifier( userRequest.getModifier() );
|
||||
user.setModifierName( userRequest.getModifierName() );
|
||||
|
||||
return user;
|
||||
}
|
||||
|
|
@ -104,6 +107,8 @@ public class UserMappersImpl implements UserMappers {
|
|||
searchKeyWords.setGmtCreate( searchUserRequest.getGmtCreate() );
|
||||
searchKeyWords.setJoinTime( searchUserRequest.getJoinTime() );
|
||||
searchKeyWords.setInternEndDate( searchUserRequest.getInternEndDate() );
|
||||
searchKeyWords.setPageIndex( searchUserRequest.getPageIndex() );
|
||||
searchKeyWords.setPageSize( searchUserRequest.getPageSize() );
|
||||
|
||||
return searchKeyWords;
|
||||
}
|
||||
|
|
@ -161,16 +166,17 @@ public class UserMappersImpl implements UserMappers {
|
|||
}
|
||||
|
||||
@Override
|
||||
public User getUserDeleteRequestToModel(UserDeleteRequest userDeleteRequest) {
|
||||
public UserDeleteKeyWords getUserDeleteRequestToModel(UserDeleteRequest userDeleteRequest) {
|
||||
if ( userDeleteRequest == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
User user = new User();
|
||||
UserDeleteKeyWords userDeleteKeyWords = new UserDeleteKeyWords();
|
||||
|
||||
user.setUserId( userDeleteRequest.getUserId() );
|
||||
user.setUserName( userDeleteRequest.getUserName() );
|
||||
userDeleteKeyWords.setUserId( userDeleteRequest.getUserId() );
|
||||
userDeleteKeyWords.setModifier( userDeleteRequest.getModifier() );
|
||||
userDeleteKeyWords.setModifierName( userDeleteRequest.getModifierName() );
|
||||
|
||||
return user;
|
||||
return userDeleteKeyWords;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue