feat:用户实体审查完善

This commit is contained in:
wangyu 2021-10-23 09:44:32 +08:00
parent 873880036b
commit 703049fbec
1 changed files with 31 additions and 33 deletions

View File

@ -1,21 +1,19 @@
package com.flyfish.framework.service; package com.flyfish.framework.service;
import com.flyfish.framework.domain.base.Qo; import com.flyfish.framework.auditor.BeanAuditor;
import com.flyfish.framework.domain.po.User; import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.enums.UserType; import com.flyfish.framework.enums.UserType;
import com.flyfish.framework.repository.UserRepository; import com.flyfish.framework.repository.UserRepository;
import com.flyfish.framework.service.impl.BaseServiceImpl; import com.flyfish.framework.service.impl.BaseServiceImpl;
import com.flyfish.framework.utils.Assert; import com.flyfish.framework.utils.Assert;
import com.flyfish.framework.utils.StrengthUtils; import com.flyfish.framework.utils.StrengthUtils;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
import java.util.Optional; import java.util.Optional;
@Service @Service
@ -35,8 +33,19 @@ public class UserService extends BaseServiceImpl<User> implements UserFindServic
return ((UserRepository) repository).findByUsername(username); return ((UserRepository) repository).findByUsername(username);
} }
@Component
@RequiredArgsConstructor
public static class Auditor implements BeanAuditor<User> {
private final PasswordEncoder passwordEncoder;
/**
* 对实体进行审查并补全相关字段
*
* @param entity 原数据
*/
@Override @Override
public User create(User entity) { public void audit(User entity) {
if (null == entity.getId() && StringUtils.isNotBlank(entity.getPassword())) { if (null == entity.getId() && StringUtils.isNotBlank(entity.getPassword())) {
Assert.isTrue(StrengthUtils.isValid(entity.getPassword()), "密码强度不够,至少应该包含数字、大小写字母、符号组合"); Assert.isTrue(StrengthUtils.isValid(entity.getPassword()), "密码强度不够,至少应该包含数字、大小写字母、符号组合");
entity.setPassword(passwordEncoder.encode(entity.getPassword())); entity.setPassword(passwordEncoder.encode(entity.getPassword()));
@ -53,17 +62,6 @@ public class UserService extends BaseServiceImpl<User> implements UserFindServic
if (null == entity.getCode()) { if (null == entity.getCode()) {
entity.setCode(entity.getUsername()); entity.setCode(entity.getUsername());
} }
return super.create(entity);
} }
@Override
public User createSelective(User entity) {
return create(entity);
} }
@Override
public List<User> getList(Qo<User> query) {
return super.getList(query);
}
} }