Pārlūkot izejas kodu

微信支付宝登录返回区别字段和合伙人的等级

helixiao 1 gadu atpakaļ
vecāks
revīzija
74057ae01f

+ 2 - 2
src/main/java/com/ydtech/modules/admin/controller/APPPartnerController.java

@@ -207,7 +207,7 @@ public class APPPartnerController extends BaseController {
      */
     @PostMapping("/loginAlipay")
     @ApiOperation(value = "支付宝登录")
-    public HttpResult<AlipayVo> loginAlipay(@RequestBody AlipayBindVo alipayBindVo) {
+    public HttpResult<AAPLoginVo> loginAlipay(@RequestBody AlipayBindVo alipayBindVo) {
         try {
             return sysPartnerService.loginAlipay(alipayBindVo);
         } catch (AlipayApiException e) {
@@ -254,7 +254,7 @@ public class APPPartnerController extends BaseController {
      */
     @PostMapping("/loginWechat")
     @ApiOperation(value = "微信登录")
-    public HttpResult<WechatVo> loginWechat(@RequestBody WechatLoginVo wechatLoginVo) {
+    public HttpResult<AAPLoginVo> loginWechat(@RequestBody WechatLoginVo wechatLoginVo) {
         try {
             return sysPartnerService.loginWechat(wechatLoginVo);
         } catch (WxErrorException e) {

+ 2 - 2
src/main/java/com/ydtech/modules/admin/service/SysPartnerService.java

@@ -75,13 +75,13 @@ public interface SysPartnerService extends IService<SysPartner> {
 
     List<LevelPartnerVo> getLevelPartner(Integer type);
 
-    HttpResult<AlipayVo> loginAlipay(AlipayBindVo alipayBindVo) throws AlipayApiException;
+    HttpResult<AAPLoginVo> loginAlipay(AlipayBindVo alipayBindVo) throws AlipayApiException;
 
     String checkBindAlipay();
 
     HttpResult<Object> bindAlipay(AlipayBindVo alipayBindVo, String userId) throws AlipayApiException ;
 
-    HttpResult<WechatVo> loginWechat(WechatLoginVo wechatLoginVo) throws WxErrorException;
+    HttpResult<AAPLoginVo> loginWechat(WechatLoginVo wechatLoginVo) throws WxErrorException;
 
     HttpResult<Object> bindWechat(WechatBindVo wechatBindVo, String userId) throws WxErrorException;
 

+ 37 - 7
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -2006,7 +2006,8 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     }
 
     @Override
-    public HttpResult<AlipayVo> loginAlipay(AlipayBindVo alipayBindVo) throws AlipayApiException {
+    public HttpResult<AAPLoginVo> loginAlipay(AlipayBindVo alipayBindVo) throws AlipayApiException {
+        AAPLoginVo aapLoginVo = new AAPLoginVo();
         AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
 
         // 构造请求参数以调用接口
@@ -2028,12 +2029,27 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         if (sysUser == null) {
             throw new SystemException("您还未绑定工号");
         }
+        //校验登录用户是否为合伙人或者是机构负责人
+        boolean a = this.checkPartner(sysUser.getId());
+        boolean b = sysAgencyLeaderService.checkUserId(sysUser.getId());
+        if (a) {
+            SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getUserId, sysUser.getId()));
+            //类型:1.合伙人;2机构负责人
+            aapLoginVo.setType(1);
+            aapLoginVo.setLevel(sysPartner.getType());
+        } else if (b) {
+            aapLoginVo.setType(2);
+        } else {
+            throw new SystemException("该用户无权限登录AAP,只能合伙人或者工作室管理员才能登录!");
+
+        }
         SysUser.verifyUser(sysUser);//验证用户状态
 
         String token = StpUtil.createLoginSession(sysUser.getId());
-        AlipayVo alipayVo = new AlipayVo(token, sysUser.getId());
+//        AlipayVo alipayVo = new AlipayVo(token, sysUser.getId());
         StpUtil.getSessionByLoginId(sysUser.getId()).set(SaSession.USER, sysUser);
-        return HttpResult.ok("", alipayVo);
+        aapLoginVo.setToken(token);
+        return HttpResult.ok("", aapLoginVo);
     }
 
     @Override
@@ -2092,24 +2108,38 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     }
 
     @Override
-    public HttpResult<WechatVo> loginWechat(WechatLoginVo wechatLoginVo) throws WxErrorException {
+    public HttpResult<AAPLoginVo> loginWechat(WechatLoginVo wechatLoginVo) throws WxErrorException {
+        AAPLoginVo aapLoginVo = new AAPLoginVo();
         WxOAuth2AccessToken accessToken = wxMpService.getOAuth2Service().getAccessToken(wechatLoginVo.getCode());
         String openId = accessToken.getOpenId();
         SysUser sysUser = sysUserService.lambdaQuery()
                 .eq(SysUser::getOpenid, openId)
                 .one();
-
         // 没有绑定微信
         if (sysUser == null) {
             throw new SystemException("您还未绑定工号。");
         }
+        //校验登录用户是否为合伙人或者是机构负责人
+        boolean a = this.checkPartner(sysUser.getId());
+        boolean b = sysAgencyLeaderService.checkUserId(sysUser.getId());
+        if (a) {
+            SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getUserId, sysUser.getId()));
+            //类型:1.合伙人;2机构负责人
+            aapLoginVo.setType(1);
+            aapLoginVo.setLevel(sysPartner.getType());
+        } else if (b) {
+            aapLoginVo.setType(2);
+        } else {
+            throw new SystemException("该用户无权限登录AAP,只能合伙人或者工作室管理员才能登录!");
+
+        }
         SysUser.verifyUser(sysUser);
 
         String token = StpUtil.createLoginSession(sysUser.getId());
         StpUtil.getSessionByLoginId(sysUser.getId()).set(SaSession.USER, sysUser);
-        WechatVo wechatVo = new WechatVo(token, sysUser.getId());
+        aapLoginVo.setToken(token);
 
-        return HttpResult.ok("", wechatVo);
+        return HttpResult.ok("", aapLoginVo);
     }
 
     @Override