|
@ -1,6 +1,7 @@ |
|
|
package com.canvas.web.modules.system.service.impl; |
|
|
package com.canvas.web.modules.system.service.impl; |
|
|
|
|
|
|
|
|
import com.canvas.web.config.FileProperties; |
|
|
import com.canvas.web.config.FileProperties; |
|
|
|
|
|
import com.canvas.web.enums.ResponseEnum; |
|
|
import com.canvas.web.exception.BaseException; |
|
|
import com.canvas.web.exception.BaseException; |
|
|
import com.canvas.web.exception.EntityExistException; |
|
|
import com.canvas.web.exception.EntityExistException; |
|
|
import com.canvas.web.modules.security.service.UserCacheClean; |
|
|
import com.canvas.web.modules.security.service.UserCacheClean; |
|
@ -12,11 +13,14 @@ import com.canvas.web.modules.system.service.dto.RoleSmallDto; |
|
|
import com.canvas.web.modules.system.service.dto.UserDto; |
|
|
import com.canvas.web.modules.system.service.dto.UserDto; |
|
|
import com.canvas.web.modules.system.service.dto.UserQueryCriteria; |
|
|
import com.canvas.web.modules.system.service.dto.UserQueryCriteria; |
|
|
import com.canvas.web.modules.system.service.mapstruct.UserMapper; |
|
|
import com.canvas.web.modules.system.service.mapstruct.UserMapper; |
|
|
|
|
|
import com.canvas.web.modules.utils.PageSort; |
|
|
import com.canvas.web.utils.*; |
|
|
import com.canvas.web.utils.*; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import org.springframework.cache.annotation.CacheConfig; |
|
|
import org.springframework.cache.annotation.CacheConfig; |
|
|
import org.springframework.data.domain.Page; |
|
|
import org.springframework.data.domain.Page; |
|
|
|
|
|
import org.springframework.data.domain.PageRequest; |
|
|
import org.springframework.data.domain.Pageable; |
|
|
import org.springframework.data.domain.Pageable; |
|
|
|
|
|
import org.springframework.data.domain.Sort; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
import org.springframework.validation.annotation.Validated; |
|
@ -51,12 +55,13 @@ public class UserServiceImpl implements UserService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void create(User resources) { |
|
|
|
|
|
|
|
|
public void create(UserDto userDto) { |
|
|
|
|
|
User resources = userMapper.toEntity(userDto); |
|
|
if (userRepository.findByUsername(resources.getUsername()) != null) { |
|
|
if (userRepository.findByUsername(resources.getUsername()) != null) { |
|
|
throw new EntityExistException(User.class, "username", resources.getUsername()); |
|
|
|
|
|
|
|
|
throw new BaseException(ResponseEnum.USER_ADD_ERROR_EXIST_NAME.getMessage()); |
|
|
} |
|
|
} |
|
|
if (userRepository.findByPhone(resources.getPhone()) != null) { |
|
|
if (userRepository.findByPhone(resources.getPhone()) != null) { |
|
|
throw new EntityExistException(User.class, "phone", resources.getPhone()); |
|
|
|
|
|
|
|
|
throw new BaseException(ResponseEnum.USER_ADD_ERROR_EXIST_PHONE.getMessage()); |
|
|
} |
|
|
} |
|
|
userRepository.save(resources); |
|
|
userRepository.save(resources); |
|
|
} |
|
|
} |
|
@ -68,7 +73,7 @@ public class UserServiceImpl implements UserService { |
|
|
ValidationUtil.isNull(user.getId(), "User", "id", resources.getId()); |
|
|
ValidationUtil.isNull(user.getId(), "User", "id", resources.getId()); |
|
|
User user1 = userRepository.findByUsername(resources.getUsername()); |
|
|
User user1 = userRepository.findByUsername(resources.getUsername()); |
|
|
User user2 = userRepository.findByPhone(resources.getPhone()); |
|
|
User user2 = userRepository.findByPhone(resources.getPhone()); |
|
|
if (user1 != null && user.getId().equals(user1.getId())) { |
|
|
|
|
|
|
|
|
if (user1 != null && !user.getId().equals(user1.getId())) { |
|
|
throw new BaseException("username", resources.getUsername()); |
|
|
throw new BaseException("username", resources.getUsername()); |
|
|
} |
|
|
} |
|
|
if (user2 != null && !user.getId().equals(user2.getId())) { |
|
|
if (user2 != null && !user.getId().equals(user2.getId())) { |
|
@ -143,8 +148,9 @@ public class UserServiceImpl implements UserService { |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Object queryAll(UserQueryCriteria criteria, Pageable pageable) { |
|
|
public Object queryAll(UserQueryCriteria criteria, Pageable pageable) { |
|
|
Page<User> page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); |
|
|
|
|
|
return PageUtil.toPage(page.map(userMapper::toDto)); |
|
|
|
|
|
|
|
|
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(),"createTime", Sort.Direction.DESC); |
|
|
|
|
|
Page<User> pages = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), page); |
|
|
|
|
|
return PageUtil.toPage(pages.map(userMapper::toDto)); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|