Ver código fonte

个人批发网站用户授权token

zwhui 1 ano atrás
pai
commit
7f8345996d

+ 10 - 0
netflix-dao/src/main/java/com/cyksj/mapper/WholesaleUserMapper.java

@@ -0,0 +1,10 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.WholesaleUser;
+/**
+ * @author zwhui
+ * @date 2025/6/9 15:44
+ */
+public interface WholesaleUserMapper extends BaseMapper<WholesaleUser> {
+}

+ 16 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/WholesaleUser.java

@@ -0,0 +1,16 @@
+package com.cyksj.model.entity;
+
+import lombok.Data;
+
+import java.util.Date;
+/**
+ * @author zwhui
+ * @date 2025/6/9 15:43
+ */
+@Data
+public class WholesaleUser extends BaseEntity {
+    private String username;
+    private String password;
+    private String token;
+    private Date expireTime;
+}

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/wholesale/WholesaleCodeController.java

@@ -17,11 +17,11 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.servlet.http.HttpServletRequest;
 
 /**
+ * 兑换码管理
  * 项目名: yhlxj2
  * 文件名: WholesaleCodeController
  * 创建者: JavaZou
  * 创建时间:2025/6/4 16:31
- * 兑换码管理
  */
 @Slf4j
 @RequiredArgsConstructor

+ 69 - 30
netflix-web/src/main/java/com/cyksj/web/controller/mirror/MirrorController.java

@@ -15,6 +15,7 @@ import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.GroupsMapper;
 import com.cyksj.mapper.GroupsRelationMapper;
+import com.cyksj.mapper.WholesaleUserMapper;
 import com.cyksj.mapper.renew.RenewUpgradePackageMapper;
 import com.cyksj.model.dto.ChatgptUserVerifyDto;
 import com.cyksj.model.entity.*;
@@ -98,6 +99,8 @@ public class MirrorController {
 
     private final GrokService grokService;
 
+    private final WholesaleUserMapper wholesaleUserMapper;
+
 
     /**
      * GPT车票跳转登录
@@ -117,27 +120,42 @@ public class MirrorController {
      * @return 登陆结果
      */
     @RequestMapping("/gpt/oauth")
-    public String gptOauth(@RequestParam("usertoken") String userToken) {
+    public String gptOauth(@RequestParam("usertoken") String userToken, Boolean isWholesale) {
         try {
             log.info("用户通过userToken:{}", userToken);
-            ChatgptUser user = chatGptAccountService.findByUserTokenAndExpireTimeAfter(userToken, LocalDateTime.now());
-            if (user == null) {
+            if (isWholesale == null || !isWholesale) {
+                ChatgptUser user = chatGptAccountService.findByUserTokenAndExpireTimeAfter(userToken, LocalDateTime.now());
+                if (user == null) {
+                    JSONObject result = new JSONObject();
+                    result.putOpt("code",0);
+                    result.putOpt("msg","用户不存在或已过期");
+                    return result.toString();
+                }
+
+                //ChatgptSession session = chatGptAccountService.checkSession(carId);
+                //
                 JSONObject result = new JSONObject();
-                result.putOpt("code",0);
-                result.putOpt("msg","用户不存在或已过期");
+                result.putOpt("code",1);
+                result.putOpt("msg","登录成功");
+                result.putOpt("avatar",user.getImg());
+                result.putOpt("nickname",user.getName());
+                result.putOpt("uid",user.getRelationId());
+                //}
+                return result.toString();
+            }else {
+                WholesaleUser wholesaleUser = wholesaleUserMapper.selectOne(Wrappers.lambdaQuery(WholesaleUser.class).eq(WholesaleUser::getToken, userToken).gt(WholesaleUser::getExpireTime, LocalDateTime.now()).last("limit 1"));
+                if (wholesaleUser == null) {
+                    JSONObject result = new JSONObject();
+                    result.putOpt("code",0);
+                    result.putOpt("msg","用户不存在或已过期");
+                    return result.toString();
+                }
+                JSONObject result = new JSONObject();
+                result.putOpt("code",1);
+                result.putOpt("msg","登录成功");
+                result.putOpt("nickname",wholesaleUser.getUsername());
                 return result.toString();
             }
-
-            //ChatgptSession session = chatGptAccountService.checkSession(carId);
-            //
-            JSONObject result = new JSONObject();
-            result.putOpt("code",1);
-            result.putOpt("msg","登录成功");
-            result.putOpt("avatar",user.getImg());
-            result.putOpt("nickname",user.getName());
-            result.putOpt("uid",user.getRelationId());
-            return result.toString();
-            //}
         } catch (Exception e) {
             log.error("服务器错误", e);
             JSONObject result = new JSONObject();
@@ -370,15 +388,25 @@ public class MirrorController {
      * @return 登陆结果
      */
     @RequestMapping("/claude/oauth")
-    public Result<String> claudeOauth(@RequestParam("usertoken") String userToken, @RequestParam("carid") String carId) {
+    public Result<String> claudeOauth(@RequestParam("usertoken") String userToken, @RequestParam("carid") String carId,Boolean isWholesale) {
         try {
             log.info("用户通过userToken:{}访问claude镜像车队carId:{}", userToken, carId);
-            ClaudeUser user = claudeService.findByUserTokenAndExpireTimeAfter(userToken, LocalDateTime.now());
-            if (user == null) {
-                return GatewayResponse.SUCCESS.newBuilder().setMsg("用户不存在或已过期").setCode(0).toResult();
+            Long relationId = 0L;
+            if (isWholesale == null || !isWholesale) {
+                ClaudeUser user = claudeService.findByUserTokenAndExpireTimeAfter(userToken, LocalDateTime.now());
+                if (user == null) {
+                    return GatewayResponse.SUCCESS.newBuilder().setMsg("用户不存在或已过期").setCode(0).toResult();
+                }
+                relationId = user.getRelationId();
+            }else {
+                WholesaleUser wholesaleUser = wholesaleUserMapper.selectOne(Wrappers.lambdaQuery(WholesaleUser.class).eq(WholesaleUser::getToken, userToken).gt(WholesaleUser::getExpireTime, LocalDateTime.now()).last("limit 1"));
+                if (wholesaleUser == null) {
+                    return GatewayResponse.SUCCESS.newBuilder().setMsg("用户不存在或已过期").setCode(0).toResult();
+                }
             }
 
-            return GatewayResponse.SUCCESS.newBuilder().setMsg("登陆成功").setCode(1).toResult(StringUtil.getString(user.getRelationId()));
+
+            return GatewayResponse.SUCCESS.newBuilder().setMsg("登陆成功").setCode(1).toResult(StringUtil.getString(relationId));
         } catch (Exception e) {
             log.error("服务器错误", e);
             return GatewayResponse.FAIL.newBuilder().setMsg("服务器错误").setCode(0).toResult();
@@ -523,23 +551,34 @@ public class MirrorController {
      *
      */
     @RequestMapping("/grok/oauth")
-    public String grokOauth(String userToken) {
+    public String grokOauth(String userToken,Boolean isWholesale) {
         try {
-            log.info("用户通过userToken:{}访问grok镜像", userToken);
-            GrokUser user = grokService.findByUserTokenAndExpireTimeAfter(userToken, LocalDateTime.now());
             JSONObject result = new JSONObject();
-
-            if (user == null) {
-                result.putOpt("code",0);
-                result.putOpt("msg","用户不存在或已过期");
-                return result.toString();
+            log.info("用户通过userToken:{}访问grok镜像", userToken);
+            String expireTime;
+            if (isWholesale == null || !isWholesale) {
+                GrokUser user = grokService.findByUserTokenAndExpireTimeAfter(userToken, LocalDateTime.now());
+                if (user == null) {
+                    result.putOpt("code",0);
+                    result.putOpt("msg","用户不存在或已过期");
+                    return result.toString();
+                }
+                expireTime = new DateTime(user.getExpireTime()).toString();
+            }else {
+                WholesaleUser wholesaleUser = wholesaleUserMapper.selectOne(Wrappers.lambdaQuery(WholesaleUser.class).eq(WholesaleUser::getToken, userToken).gt(WholesaleUser::getExpireTime, LocalDateTime.now()).last("limit 1"));
+                if (wholesaleUser == null) {
+                    result.putOpt("code",0);
+                    result.putOpt("msg","用户不存在或已过期");
+                    return result.toString();
+                }
+                expireTime = new DateTime(wholesaleUser.getExpireTime()).toString();
             }
             result.putOpt("code",1);
             result.putOpt("msg","登陆成功");
             result.putOpt("isPro",true);
             result.putOpt("usertoken",userToken);
             result.putOpt("userToken",userToken);
-            result.putOpt("expireTime", new DateTime(user.getExpireTime()).toString());
+            result.putOpt("expireTime",expireTime);
             return result.toString();
         } catch (Exception e) {
             log.error("服务器错误", e);