diff --git a/src/main/java/com/zsc/edu/gateway/modules/operationLog/entity/FunctionTypeEnum.java b/src/main/java/com/zsc/edu/gateway/modules/operationLog/entity/FunctionTypeEnum.java index 0b084a5..87c7da7 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/operationLog/entity/FunctionTypeEnum.java +++ b/src/main/java/com/zsc/edu/gateway/modules/operationLog/entity/FunctionTypeEnum.java @@ -10,10 +10,9 @@ import lombok.Getter; @Getter public enum FunctionTypeEnum implements IEnum, IState { - save("save", "save"), + create("create", "create"), update("update", "update"), delete("delete", "delete"), - query("query", "query"), other("other", "other"); private final String code; diff --git a/src/main/java/com/zsc/edu/gateway/modules/operationLog/entity/OperationLogAnnotation.java b/src/main/java/com/zsc/edu/gateway/modules/operationLog/entity/OperationLogAnnotation.java index 56fc0ac..91ad13d 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/operationLog/entity/OperationLogAnnotation.java +++ b/src/main/java/com/zsc/edu/gateway/modules/operationLog/entity/OperationLogAnnotation.java @@ -15,7 +15,7 @@ public @interface OperationLogAnnotation { String content() default ""; /** - * 操作类型,例如:SAVE, UPDATE, DELETE, QUERY + * 操作类型,例如:SAVE, UPDATE, DELETE */ String operationType() default ""; } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/UserServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/UserServiceImpl.java index 10cf1a7..d47924f 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/UserServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/UserServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Objects; @@ -40,21 +41,26 @@ import java.util.stream.Collectors; public class UserServiceImpl extends ServiceImpl implements UserService { private final PasswordEncoder passwordEncoder; - private final RoleServiceImpl roleService; - private final DeptServiceImpl deptService; private final sendMail send; private final UserMapper userMapper; private final RoleRepository roleRepository; - private final RoleMenuRepository RoleMenuRepository; - private final RoleMenuRepository roleMenuRepository; private final MenuRepository menuRepository; private final UserRolesRepository userRolesRepository; @Override + @Transactional public Boolean create(UserCreateDto dto) { User user = new User(); dto.setRoleId(dto.getRoleIds().get(0)); userMapper.convert(dto, user); + boolean existsByPhone = count(new LambdaQueryWrapper().eq(User::getPhone, dto.getPhone())) > 0; + boolean existsByEmail = count(new LambdaQueryWrapper().eq(User::getEmail, dto.getEmail())) > 0; + if (user.getPhone().equals(dto.getPhone()) && existsByPhone) { + throw new ConstraintException("phone", dto.phone, "手机号已存在"); + } + if (user.getEmail().equals(dto.getEmail()) && existsByEmail) { + throw new ConstraintException("email", dto.email, "邮箱地址已存在"); + } boolean saveSuccess = save(user); if (!saveSuccess) { return false; @@ -65,16 +71,9 @@ public class UserServiceImpl extends ServiceImpl implement return true; } @Override + @Transactional public Boolean update(UserUpdateDto dto, Long id) { User user = getById(id); - boolean existsByPhone = count(new LambdaQueryWrapper().eq(User::getPhone, dto.getPhone())) > 0; - boolean existsByEmail = count(new LambdaQueryWrapper().eq(User::getEmail, dto.getEmail())) > 0; - if (user.getPhone().equals(dto.getPhone()) && existsByPhone) { - throw new ConstraintException("phone", dto.phone, "手机号已存在"); - } - if (user.getEmail().equals(dto.getEmail()) && existsByEmail) { - throw new ConstraintException("email", dto.email, "邮箱地址已存在"); - } if (dto.getRoleIds() != null && !dto.getRoleIds().isEmpty()) { userRolesRepository.delete(new LambdaQueryWrapper().eq(UserRole::getUserId, id)); dto.setRoleId(dto.getRoleIds().get(0)); @@ -85,6 +84,7 @@ public class UserServiceImpl extends ServiceImpl implement } @Override + @Transactional public Boolean updatePassword(String password, Long id) { User user = getById(id); user.setPassword(passwordEncoder.encode(password)); @@ -92,6 +92,7 @@ public class UserServiceImpl extends ServiceImpl implement } @Override + @Transactional public Boolean toggle(Long id) { User user = getById(id); user.setEnableState(!user.getEnableState()); @@ -111,6 +112,7 @@ public class UserServiceImpl extends ServiceImpl implement } @Override + @Transactional public Boolean selfUpdate(UserDetailsImpl userDetails, UserSelfUpdateDto dto) { User user = getById(userDetails.getId()); boolean existsByPhone = count(new LambdaQueryWrapper().ne(User::getId, userDetails.getId()).eq(User::getPhone, dto.getPhone())) > 0; @@ -127,6 +129,7 @@ public class UserServiceImpl extends ServiceImpl implement } @Override + @Transactional public Boolean selfUpdatePassword(UserDetailsImpl userDetails, UserSelfUpdatePasswordDto dto) { User user = getById(userDetails.getId()); if (!passwordEncoder.matches(dto.oldPassword, user.password)) { @@ -137,6 +140,7 @@ public class UserServiceImpl extends ServiceImpl implement } @Override + @Transactional public UserDetailsImpl switchRole(Long roleId) { Role role = roleRepository.selectById(roleId); if (role == null) {