|
|
@@ -56,14 +56,26 @@ public class UserService {
|
|
|
return userRepo.save(user);
|
|
|
}
|
|
|
|
|
|
+ public void del(Long id) {
|
|
|
+ User user = userRepo.findById(id).orElseThrow(new BusinessException("用户不存在"));
|
|
|
+ user.setDel(true);
|
|
|
+ if (StringUtils.isNoneEmpty(user.getOpenId())) {
|
|
|
+ user.setOpenId(user.getOpenId() + "###" + RandomStringUtils.randomAlphabetic(8));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNoneEmpty(user.getPhone())) {
|
|
|
+ user.setPhone(user.getPhone() + "###" + RandomStringUtils.randomAlphabetic(8));
|
|
|
+ }
|
|
|
+ userRepo.save(user);
|
|
|
+ }
|
|
|
+
|
|
|
public User loginByPhone(String phone) {
|
|
|
- return userRepo.findByPhone(phone);
|
|
|
+ return userRepo.findByPhoneAndDelFalse(phone);
|
|
|
}
|
|
|
|
|
|
public User loginMp(String code) throws WxErrorException {
|
|
|
WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code);
|
|
|
WxMpUser wxMpUser = wxMpService.oauth2getUserInfo(accessToken, null);
|
|
|
- User user = userRepo.findByOpenId(wxMpUser.getOpenId());
|
|
|
+ User user = userRepo.findByOpenIdAndDelFalse(wxMpUser.getOpenId());
|
|
|
if (user == null) {
|
|
|
user = User.builder()
|
|
|
.username(UUID.randomUUID().toString())
|
|
|
@@ -87,7 +99,7 @@ public class UserService {
|
|
|
WxMaJscode2SessionResult result = wxMaService.jsCode2SessionInfo(code);
|
|
|
String openId = result.getOpenid();
|
|
|
String sessionKey = result.getSessionKey();
|
|
|
- User userInfo = userRepo.findByOpenId(openId);
|
|
|
+ User userInfo = userRepo.findByOpenIdAndDelFalse(openId);
|
|
|
if (userInfo != null) {
|
|
|
return userInfo;
|
|
|
}
|
|
|
@@ -115,7 +127,7 @@ public class UserService {
|
|
|
|
|
|
// 解密用户信息
|
|
|
WxMaUserInfo wxUserInfo = wxMaService.getUserService().getUserInfo(sessionKey, encryptedData, iv);
|
|
|
- User user = userRepo.findByOpenId(wxUserInfo.getOpenId());
|
|
|
+ User user = userRepo.findByOpenIdAndDelFalse(wxUserInfo.getOpenId());
|
|
|
|
|
|
String avatarUrl = Constants.DEFAULT_AVATAR;
|
|
|
try {
|