From 4955cdc73d9beb5733aa2c0a578c14798394fa61 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 23 九月 2025 18:06:45 +0800
Subject: [PATCH] AI对接

---
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java |   50 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java
index fac9e6b..a467e63 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java
@@ -1,23 +1,28 @@
 package com.ruoyi.web.controller.api;
 
 
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.system.model.TSysAppUser;
 import com.ruoyi.system.model.TSysInspection;
 import com.ruoyi.system.query.TSysInspectionQuery;
+import com.ruoyi.system.service.TSysAppUserService;
 import com.ruoyi.system.service.TSysInspectionService;
+import com.ruoyi.system.utils.util.AIUtil;
 import com.ruoyi.system.vo.TSysInspectionVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
+import java.util.HashSet;
+import java.util.Objects;
+import java.util.Set;
 
 /**
  * <p>
@@ -34,10 +39,16 @@
 
     private final TSysInspectionService sysInspectionService;
     private final TokenService tokenService;
+    private final TSysAppUserService sysAppUserService;
+    private final AIUtil aiUtil;
+    private final RedisCache redisCache;
     @Autowired
-    public TSysInspectionController(TSysInspectionService sysInspectionService, TokenService tokenService) {
+    public TSysInspectionController(TSysInspectionService sysInspectionService, TokenService tokenService, TSysAppUserService sysAppUserService, AIUtil aiUtil, RedisCache redisCache) {
         this.sysInspectionService = sysInspectionService;
         this.tokenService = tokenService;
+        this.sysAppUserService = sysAppUserService;
+        this.aiUtil = aiUtil;
+        this.redisCache = redisCache;
     }
 
     /**
@@ -59,5 +70,32 @@
         return R.ok(sysInspectionService.getById(id));
     }
 
+    /**
+     * 用户检测跳转时单点登录
+     */
+    @ApiOperation(value = "用户检测跳转时单点登录")
+    @PostMapping(value = "/ssoLogin")
+    public R<String> ssoLogin() {
+        String userId = tokenService.getLoginUserApplet().getUserId();
+        TSysAppUser sysAppUser = sysAppUserService.getById(userId);
+        if(StringUtils.isEmpty(sysAppUser.getNickName()) || Objects.isNull(sysAppUser.getSex()) || Objects.isNull(sysAppUser.getBirthTime()) || StringUtils.isEmpty(sysAppUser.getPhone())){
+            return R.fail("请先完善用户信息");
+        }
+        R<String> ssoLogin = aiUtil.ssoLogin(userId);
+        int code = ssoLogin.getCode();
+        if(code != 200){
+            return R.fail("单点登录失败");
+        }
+        code = aiUtil.initUser(userId, sysAppUser.getNickName(), sysAppUser.getSex(), DateUtils.localDateTimeToString(sysAppUser.getBirthTime())).getCode();
+        if(code != 200){
+            return R.fail("初始化用户失败");
+        }
+        // 存储用户当日检测
+        Set<String> userSet = new HashSet<>();
+        userSet.add(sysAppUser.getPhone());
+        redisCache.setCacheSet(Constants.AI_USER_INSPECTION,userSet);
+        return R.ok(ssoLogin.getData());
+    }
+
 }
 

--
Gitblit v1.7.1