办学质量监测教学评价系统
ageer
2024-02-28 9bbf90458a71c40fbb559ef7149a9b5af9a7309b
修复付费用户验证
已修改1个文件
42 ■■■■■ 文件已修改
ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/service/impl/ISseServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/service/impl/ISseServiceImpl.java
@@ -74,8 +74,23 @@
    public SseEmitter sseChat(ChatRequest chatRequest) {
        LocalCache.CACHE.put("userId",getUserId());
        SseEmitter sseEmitter = new SseEmitter(0L);
        SysUser sysUser = sysUserMapper.selectById(getUserId());
        // TODO 添加枚举
        if ("0".equals(sysUser.getUserGrade()) && !ChatCompletion.Model.GPT_3_5_TURBO.getName().equals(chatRequest.getModel())) {
            // 创建并发送一个名为 "error" 的事件,带有错误消息和状态码
            SseEmitter.SseEventBuilder event = SseEmitter.event()
                .name("error") // 客户端将监听这个事件名
                .data("免费用户暂时不支持此模型,请切换gpt-3.5-turbo模型或者点击《进入市场选购您的商品》充值后使用!");
            try {
                sseEmitter.send(event);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
            sseEmitter.complete();
            return sseEmitter;
        }
        SSEEventSourceListener openAIEventSourceListener = new SSEEventSourceListener(sseEmitter);
        checkUserGrade(sseEmitter, chatRequest.getModel());
        // 获取对话消息列表
        List<Message> msgList = chatRequest.getMessages();
        // 图文识别上下文信息
@@ -255,18 +270,19 @@
            }
        }
        // TODO 添加枚举
        if ("0".equals(sysUser.getUserGrade()) && !ChatCompletion.Model.GPT_3_5_TURBO.getName().equals(model)) {
            // 创建并发送一个名为 "error" 的事件,带有错误消息和状态码
            SseEmitter.SseEventBuilder event = SseEmitter.event()
                .name("error") // 客户端将监听这个事件名
                .data("免费用户暂时不支持此模型,请切换gpt-3.5-turbo模型或者点击《进入市场选购您的商品》充值后使用!");
            try {
                emitter.send(event);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
            emitter.complete();
        }
//        if ("0".equals(sysUser.getUserGrade()) && !ChatCompletion.Model.GPT_3_5_TURBO.getName().equals(model)) {
//            // 创建并发送一个名为 "error" 的事件,带有错误消息和状态码
//            SseEmitter.SseEventBuilder event = SseEmitter.event()
//                .name("error") // 客户端将监听这个事件名
//                .data("免费用户暂时不支持此模型,请切换gpt-3.5-turbo模型或者点击《进入市场选购您的商品》充值后使用!");
//            try {
//                emitter.send(event);
//            } catch (IOException e) {
//                throw new RuntimeException(e);
//            }
//            emitter.complete();
//
//        }
    }
    /**