Browse Source

Merge branch 'app_sfq' into develop

songfuqiang 2 years ago
parent
commit
8cb1994ee8

+ 2 - 3
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/SocialAccountService.java

@@ -51,8 +51,7 @@ public interface SocialAccountService {
     /**
      * 解绑账号
      * @param currentUser 当前用户
-     * @param param 绑定参数
-     * @return socialAccount的id
+     * @param provider 第三方
      */
-    String unbindSocialAccount(Members currentUser, BindAccountParam param, SocialAccountVo accountVo);
+    void unbindSocialAccount(Members currentUser, String provider, SocialAccountVo accountVo);
 }

+ 1 - 1
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/MemberServiceImpl.java

@@ -561,7 +561,7 @@ public class MemberServiceImpl implements MemberService {
             currentUser.setPhone("");
             update(currentUser);
         } else {
-            String accountId = socialAccountService.unbindSocialAccount(currentUser, param, accountVo);
+            socialAccountService.unbindSocialAccount(currentUser, provider, accountVo);
             bindAccountVo.setSocialAccount(accountVo);
         }
         return bindAccountVo;

+ 15 - 23
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/SocialAccountServiceImpl.java

@@ -66,6 +66,16 @@ public class SocialAccountServiceImpl implements SocialAccountService {
         return socialAccountsMapper.selectByExample(example);
     }
 
+    public SocialAccounts selectByMemberIdAndProvider(String userId, Integer provider){
+        SocialAccountsExample example = new SocialAccountsExample();
+        example.createCriteria().andMemberIdEqualTo(userId).andProviderEqualTo(provider);
+        List<SocialAccounts> list = socialAccountsMapper.selectByExample(example);
+        if(!CollectionUtils.isEmpty(list)){
+            return list.get(0);
+        }
+        return null;
+    }
+
     @Override
     public void deleteByMemberId(String memberId) {
         SocialAccountsExample example = new SocialAccountsExample();
@@ -149,30 +159,12 @@ public class SocialAccountServiceImpl implements SocialAccountService {
     }
 
     @Override
-    public String unbindSocialAccount(Members currentUser, BindAccountParam param, SocialAccountVo accountVo) {
-        String accountId = "";
-        String accessToken = param.getAccessToken();
-        String openid = param.getOpenid();
-        String provider = param.getProvider();
+    public void unbindSocialAccount(Members currentUser, String provider, SocialAccountVo accountVo) {
         accountVo.setProvider(provider);
         SocialAccountsExample example = new SocialAccountsExample();
-        if(ProviderEnum.TENCENT.getName().equals(provider)){
-            Tencent userInfo = TencentUtils.getUserInfo(accessToken);
-            String unionId = userInfo.getUnionId();
-            accountId = unionId;
-            SocialAccounts socialAccount = selectByAccountId(accountId);
-            BeanUtils.copyProperties(socialAccount,accountVo);
-            example.createCriteria().andAccountIdEqualTo(unionId);
-            socialAccountsMapper.deleteByExample(example);
-        } else {
-            Wechat userInfo = WechatUtils.getUserInfo(openid, accessToken);
-            String unionId = userInfo.getUnionId();
-            accountId = unionId;
-            SocialAccounts socialAccount = selectByAccountId(unionId);
-            BeanUtils.copyProperties(socialAccount,accountVo);
-            example.createCriteria().andAccountIdEqualTo(unionId);
-            socialAccountsMapper.deleteByExample(example);
-        }
-        return accountId;
+        SocialAccounts socialAccount = selectByMemberIdAndProvider(currentUser.getId(), ProviderEnum.getCodeByName(provider));
+        BeanUtils.copyProperties(socialAccount,accountVo);
+        example.createCriteria().andAccountIdEqualTo(socialAccount.getAccountId());
+        socialAccountsMapper.deleteByExample(example);
     }
 }