|
|
@@ -3,8 +3,10 @@ package com.izouma.walkchina.service;
|
|
|
import cn.binarywang.wx.miniapp.api.WxMaService;
|
|
|
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
|
|
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
|
|
|
+import com.izouma.walkchina.domain.UserFriend;
|
|
|
import com.izouma.walkchina.domain.UserInfo;
|
|
|
import com.izouma.walkchina.exception.ServiceException;
|
|
|
+import com.izouma.walkchina.repo.UserFriendRepository;
|
|
|
import com.izouma.walkchina.repo.UserInfoRepository;
|
|
|
import com.izouma.walkchina.service.storage.StorageService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -25,18 +27,18 @@ import java.util.UUID;
|
|
|
@Slf4j
|
|
|
public class UserInfoService implements UserDetailsService {
|
|
|
@Autowired
|
|
|
- private UserInfoRepository userInfoRepository;
|
|
|
+ private UserInfoRepository userInfoRepository;
|
|
|
@Autowired
|
|
|
- private WxMaService wxMaService;
|
|
|
+ private WxMaService wxMaService;
|
|
|
@Autowired
|
|
|
- private StorageService storageService;
|
|
|
+ private StorageService storageService;
|
|
|
+ @Autowired
|
|
|
+ private UserFriendRepository userFriendRepository;
|
|
|
|
|
|
@Override
|
|
|
public UserInfo loadUserByUsername(String username) {
|
|
|
log.info("loadUserByUsername {}", username);
|
|
|
- UserInfo userInfo = new UserInfo();
|
|
|
- userInfo.setUsername(username);
|
|
|
- return userInfoRepository.findOne(Example.of(userInfo)).orElse(null);
|
|
|
+ return userInfoRepository.findByUsername(username);
|
|
|
}
|
|
|
|
|
|
public UserInfo registerByUserPwd(String username, String password) {
|
|
|
@@ -57,7 +59,7 @@ public class UserInfoService implements UserDetailsService {
|
|
|
WxMaJscode2SessionResult result = wxMaService.jsCode2SessionInfo(code);
|
|
|
String openId = result.getOpenid();
|
|
|
String sessionKey = result.getSessionKey();
|
|
|
- UserInfo userInfo = userInfoRepository.findByOpenId(openId).orElse(null);
|
|
|
+ UserInfo userInfo = userInfoRepository.findByOpenId(openId);
|
|
|
if (userInfo != null) {
|
|
|
userInfo.setSessionKey(sessionKey);
|
|
|
return userInfoRepository.save(userInfo);
|
|
|
@@ -87,7 +89,7 @@ public class UserInfoService implements UserDetailsService {
|
|
|
|
|
|
// 解密用户信息
|
|
|
WxMaUserInfo wxUserInfo = wxMaService.getUserService().getUserInfo(sessionKey, encryptedData, iv);
|
|
|
- UserInfo userInfo = userInfoRepository.findByOpenId(wxUserInfo.getOpenId()).orElse(null);
|
|
|
+ UserInfo userInfo = userInfoRepository.findByOpenId(wxUserInfo.getOpenId());
|
|
|
|
|
|
String avatarUrl = "https://microball.oss-cn-hangzhou.aliyuncs.com/awesomeAdmin/user.png";
|
|
|
try {
|
|
|
@@ -130,4 +132,15 @@ public class UserInfoService implements UserDetailsService {
|
|
|
|
|
|
throw new ServiceException("获取用户信息失败");
|
|
|
}
|
|
|
+
|
|
|
+ public void saveFriend(Long userId1, Long userId2) {
|
|
|
+ try {
|
|
|
+ userFriendRepository.save(UserFriend.builder().userId(userId1).friendId(userId2).build());
|
|
|
+ } catch (Exception ignored) {
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ userFriendRepository.save(UserFriend.builder().userId(userId2).friendId(userId1).build());
|
|
|
+ } catch (Exception ignored) {
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|