diff --git a/flyfish-user/src/main/java/com/flyfish/framework/service/UserService.java b/flyfish-user/src/main/java/com/flyfish/framework/service/UserService.java index a306faf..d6c0c16 100644 --- a/flyfish-user/src/main/java/com/flyfish/framework/service/UserService.java +++ b/flyfish-user/src/main/java/com/flyfish/framework/service/UserService.java @@ -1,21 +1,19 @@ 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.enums.UserType; import com.flyfish.framework.repository.UserRepository; import com.flyfish.framework.service.impl.BaseServiceImpl; import com.flyfish.framework.utils.Assert; import com.flyfish.framework.utils.StrengthUtils; +import lombok.RequiredArgsConstructor; 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.stereotype.Component; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.List; import java.util.Optional; @Service @@ -35,35 +33,35 @@ public class UserService extends BaseServiceImpl implements UserFindServic return ((UserRepository) repository).findByUsername(username); } - @Override - public User create(User entity) { - if (null == entity.getId() && StringUtils.isNotBlank(entity.getPassword())) { - Assert.isTrue(StrengthUtils.isValid(entity.getPassword()), "密码强度不够,至少应该包含数字、大小写字母、符号组合"); - entity.setPassword(passwordEncoder.encode(entity.getPassword())); - } - if (null == entity.getType()) { - entity.setType(UserType.ADMIN); - } - if (null == entity.getEnable()) { - entity.setEnable(true); - } - if (null == entity.getApp()) { - entity.setApp(false); - } - if (null == entity.getCode()) { - entity.setCode(entity.getUsername()); - } - return super.create(entity); - } + @Component + @RequiredArgsConstructor + public static class Auditor implements BeanAuditor { - @Override - public User createSelective(User entity) { - return create(entity); - } + private final PasswordEncoder passwordEncoder; - @Override - public List getList(Qo query) { - return super.getList(query); + /** + * 对实体进行审查,并补全相关字段 + * + * @param entity 原数据 + */ + @Override + public void audit(User entity) { + if (null == entity.getId() && StringUtils.isNotBlank(entity.getPassword())) { + Assert.isTrue(StrengthUtils.isValid(entity.getPassword()), "密码强度不够,至少应该包含数字、大小写字母、符号组合"); + entity.setPassword(passwordEncoder.encode(entity.getPassword())); + } + if (null == entity.getType()) { + entity.setType(UserType.ADMIN); + } + if (null == entity.getEnable()) { + entity.setEnable(true); + } + if (null == entity.getApp()) { + entity.setApp(false); + } + if (null == entity.getCode()) { + entity.setCode(entity.getUsername()); + } + } } - }