浏览代码

授权登录时,流量校验

yjwang 1 月之前
父节点
当前提交
f2cc0a6d7e

+ 16 - 0
fs-user-app/src/main/java/com/fs/app/controller/WxH5MpController.java

@@ -3,6 +3,7 @@ package com.fs.app.controller;
 import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fs.app.annotation.UserOperationLog;
 import com.fs.app.param.FsUserLoginByCourseMpParam;
 import com.fs.app.param.FsUserLoginByMpParam;
@@ -10,7 +11,9 @@ import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.company.domain.Company;
+import com.fs.company.domain.CompanyTrafficRecord;
 import com.fs.company.domain.CompanyUser;
+import com.fs.company.mapper.CompanyTrafficRecordMapper;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.core.config.WxMaConfiguration;
@@ -35,6 +38,7 @@ import org.checkerframework.checker.units.qual.C;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -77,6 +81,11 @@ public class WxH5MpController {
     @Autowired
     private IFsUserWxService fsUserWxService;
 
+    @Autowired
+    private CompanyTrafficRecordMapper companyTrafficRecordMapper;
+    @Value("${cloud_host.company_name}")
+    private String signProjectName;
+
     @ApiOperation("课程分享链接公众号登录")
     @PostMapping("/loginByMp")
     @UserOperationLog(operationType = FsUserOperationEnum.H5LOGIN)
@@ -100,6 +109,13 @@ public class WxH5MpController {
             return R.error("注册失败客服已停用,或不存在!");
         }
 
+        if("医健宝".equals(signProjectName)){
+            CompanyTrafficRecord companyTrafficRecord = companyTrafficRecordMapper.selectOne(new QueryWrapper<CompanyTrafficRecord>().eq("company_id", param.getCompanyId()));
+            if(companyTrafficRecord == null || companyTrafficRecord.getBalance() <= 0){
+                return R.error(500, "暂时无法观看,请联系管理员(流量)");
+            }
+        }
+
         try {
             // 获取微信用户信息
             WxOAuth2AccessToken wxMpOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(param.getCode());

+ 17 - 0
fs-user-app/src/main/java/com/fs/app/controller/store/WxH5MpScrmController.java

@@ -1,12 +1,16 @@
 package com.fs.app.controller.store;
 
 import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fs.app.param.FsUserLoginByMpParam;
 import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
+import com.fs.common.core.domain.ResponseResult;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.company.domain.Company;
+import com.fs.company.domain.CompanyTrafficRecord;
 import com.fs.company.domain.CompanyUser;
+import com.fs.company.mapper.CompanyTrafficRecordMapper;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.course.domain.FsUserCompanyUser;
@@ -28,6 +32,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -68,6 +73,10 @@ public class WxH5MpScrmController {
     @Autowired
     private IFsUserCompanyUserScrmService userCompanyUserService;
 
+    @Autowired
+    private CompanyTrafficRecordMapper companyTrafficRecordMapper;
+    @Value("${cloud_host.company_name}")
+    private String signProjectName;
 
     @ApiOperation("课程分享链接公众号登录")
     @PostMapping("/loginByMp")
@@ -91,6 +100,14 @@ public class WxH5MpScrmController {
             return R.error("注册失败客服已停用,或不存在!");
         }
 
+
+        if("医健宝".equals(signProjectName)){
+            CompanyTrafficRecord companyTrafficRecord = companyTrafficRecordMapper.selectOne(new QueryWrapper<CompanyTrafficRecord>().eq("company_id", param.getCompanyId()));
+            if(companyTrafficRecord == null || companyTrafficRecord.getBalance() <= 0){
+                return R.error(500, "暂时无法观看,请联系管理员(流量)");
+            }
+        }
+
         try {
             // 获取微信用户信息
             WxOAuth2AccessToken wxMpOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(param.getCode());