From 69a0e318bb6ce1efec4d67d8751b7574b37ba49e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 23 九月 2025 18:07:13 +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