|
@@ -6,6 +6,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
|
|
|
import com.izouma.awesomeAdmin.config.Constants;
|
|
import com.izouma.awesomeAdmin.config.Constants;
|
|
|
import com.izouma.awesomeAdmin.domain.User;
|
|
import com.izouma.awesomeAdmin.domain.User;
|
|
|
import com.izouma.awesomeAdmin.dto.PageQuery;
|
|
import com.izouma.awesomeAdmin.dto.PageQuery;
|
|
|
|
|
+import com.izouma.awesomeAdmin.dto.UserRegister;
|
|
|
import com.izouma.awesomeAdmin.exception.BusinessException;
|
|
import com.izouma.awesomeAdmin.exception.BusinessException;
|
|
|
import com.izouma.awesomeAdmin.repo.UserRepo;
|
|
import com.izouma.awesomeAdmin.repo.UserRepo;
|
|
|
import com.izouma.awesomeAdmin.security.Authority;
|
|
import com.izouma.awesomeAdmin.security.Authority;
|
|
@@ -22,6 +23,7 @@ import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
|
|
|
import me.chanjar.weixin.mp.bean.result.WxMpUser;
|
|
import me.chanjar.weixin.mp.bean.result.WxMpUser;
|
|
|
import org.apache.commons.lang3.RandomStringUtils;
|
|
import org.apache.commons.lang3.RandomStringUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -39,14 +41,17 @@ public class UserService {
|
|
|
private SmsService smsService;
|
|
private SmsService smsService;
|
|
|
private StorageService storageService;
|
|
private StorageService storageService;
|
|
|
private JwtTokenUtil jwtTokenUtil;
|
|
private JwtTokenUtil jwtTokenUtil;
|
|
|
|
|
+ private CaptchaService captchaService;
|
|
|
|
|
|
|
|
public Page<User> all(PageQuery pageQuery) {
|
|
public Page<User> all(PageQuery pageQuery) {
|
|
|
return userRepo.findAll(JpaUtils.toSpecification(pageQuery, User.class), JpaUtils.toPageRequest(pageQuery));
|
|
return userRepo.findAll(JpaUtils.toSpecification(pageQuery, User.class), JpaUtils.toPageRequest(pageQuery));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public User create(User user) {
|
|
|
|
|
- if (StringUtils.isNotBlank(user.getPassword())) {
|
|
|
|
|
- user.setPassword(new BCryptPasswordEncoder().encode(user.getPassword()));
|
|
|
|
|
|
|
+ public User create(UserRegister userRegister) {
|
|
|
|
|
+ User user = new User();
|
|
|
|
|
+ BeanUtils.copyProperties(userRegister, user);
|
|
|
|
|
+ if (StringUtils.isNotBlank(userRegister.getPassword())) {
|
|
|
|
|
+ user.setPassword(new BCryptPasswordEncoder().encode(userRegister.getPassword()));
|
|
|
}
|
|
}
|
|
|
return userRepo.save(user);
|
|
return userRepo.save(user);
|
|
|
}
|
|
}
|
|
@@ -70,7 +75,6 @@ public class UserService {
|
|
|
.city(wxMpUser.getCity())
|
|
.city(wxMpUser.getCity())
|
|
|
.openId(wxMpUser.getOpenId())
|
|
.openId(wxMpUser.getOpenId())
|
|
|
.language(wxMpUser.getLanguage())
|
|
.language(wxMpUser.getLanguage())
|
|
|
- .enabled(true)
|
|
|
|
|
.authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
|
|
.authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
|
|
|
.build();
|
|
.build();
|
|
|
userRepo.save(user);
|
|
userRepo.save(user);
|
|
@@ -92,7 +96,6 @@ public class UserService {
|
|
|
.nickname("用户" + RandomStringUtils.randomAlphabetic(6))
|
|
.nickname("用户" + RandomStringUtils.randomAlphabetic(6))
|
|
|
.openId(openId)
|
|
.openId(openId)
|
|
|
.avatar(Constants.DEFAULT_AVATAR)
|
|
.avatar(Constants.DEFAULT_AVATAR)
|
|
|
- .enabled(true)
|
|
|
|
|
.authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
|
|
.authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
|
|
|
.build();
|
|
.build();
|
|
|
userInfo = userRepo.save(userInfo);
|
|
userInfo = userRepo.save(userInfo);
|
|
@@ -136,7 +139,6 @@ public class UserService {
|
|
|
.country(wxUserInfo.getCountry())
|
|
.country(wxUserInfo.getCountry())
|
|
|
.province(wxUserInfo.getProvince())
|
|
.province(wxUserInfo.getProvince())
|
|
|
.city(wxUserInfo.getCity())
|
|
.city(wxUserInfo.getCity())
|
|
|
- .enabled(true)
|
|
|
|
|
.authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
|
|
.authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
|
|
|
.build();
|
|
.build();
|
|
|
user = userRepo.save(user);
|
|
user = userRepo.save(user);
|
|
@@ -160,4 +162,11 @@ public class UserService {
|
|
|
user = userRepo.save(user);
|
|
user = userRepo.save(user);
|
|
|
return jwtTokenUtil.generateToken(JwtUserFactory.create(user));
|
|
return jwtTokenUtil.generateToken(JwtUserFactory.create(user));
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public String setPassword(Long userId, String key, String code, String password) {
|
|
|
|
|
+ if (!captchaService.verify(key, code)) {
|
|
|
|
|
+ throw new BusinessException("验证码错误");
|
|
|
|
|
+ }
|
|
|
|
|
+ return setPassword(userId, password);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|