作者 钟来

模块整理

@@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
28 import org.springframework.web.bind.annotation.*; 28 import org.springframework.web.bind.annotation.*;
29 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; 29 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
30 30
  31 +import javax.servlet.http.HttpServletRequest;
31 import java.io.IOException; 32 import java.io.IOException;
32 import java.math.BigDecimal; 33 import java.math.BigDecimal;
33 import java.util.concurrent.ScheduledExecutorService; 34 import java.util.concurrent.ScheduledExecutorService;
@@ -62,7 +63,7 @@ public class ChatGPTStreamController extends BaseController { @@ -62,7 +63,7 @@ public class ChatGPTStreamController extends BaseController {
62 @Transactional 63 @Transactional
63 @PostMapping("/chat") 64 @PostMapping("/chat")
64 @ResponseBody 65 @ResponseBody
65 - public SseEmitter sseChat(@RequestBody ChatRequest chatRequest) { 66 + public SseEmitter sseChat(@RequestBody ChatRequest chatRequest, HttpServletRequest request) {
66 67
67 OpenAiLoginUser userInfo = (OpenAiLoginUser) SecurityUtils.getLoginUser(); 68 OpenAiLoginUser userInfo = (OpenAiLoginUser) SecurityUtils.getLoginUser();
68 69
@@ -89,7 +90,7 @@ public class ChatGPTStreamController extends BaseController { @@ -89,7 +90,7 @@ public class ChatGPTStreamController extends BaseController {
89 { 90 {
90 chatRequest.setModel(ChatCompletion.Model.GPT_4_0314); 91 chatRequest.setModel(ChatCompletion.Model.GPT_4_0314);
91 } 92 }
92 - sseService.sseChat(true,user_id,uid, chatRequest, chatRequest.getModel(),completeCallback); 93 + sseService.sseChat(true,user_id,uid, chatRequest, chatRequest.getModel(),completeCallback,request);
93 }catch (Exception e) 94 }catch (Exception e)
94 { 95 {
95 log.error("主业务流程异常",e); 96 log.error("主业务流程异常",e);
@@ -116,7 +117,7 @@ public class ChatGPTStreamController extends BaseController { @@ -116,7 +117,7 @@ public class ChatGPTStreamController extends BaseController {
116 @Transactional 117 @Transactional
117 @PostMapping("/chatNotData") 118 @PostMapping("/chatNotData")
118 @ResponseBody 119 @ResponseBody
119 - public SseEmitter chatNotData(@RequestBody ChatRequest chatRequest) { 120 + public SseEmitter chatNotData(@RequestBody ChatRequest chatRequest,HttpServletRequest request) {
120 121
121 OpenAiLoginUser userInfo = (OpenAiLoginUser) SecurityUtils.getLoginUser(); 122 OpenAiLoginUser userInfo = (OpenAiLoginUser) SecurityUtils.getLoginUser();
122 123
@@ -141,7 +142,7 @@ public class ChatGPTStreamController extends BaseController { @@ -141,7 +142,7 @@ public class ChatGPTStreamController extends BaseController {
141 throw new BaseException("您的余额不足请联系管理员或者充值"); 142 throw new BaseException("您的余额不足请联系管理员或者充值");
142 } 143 }
143 log.info("{}验证通过开始发送chatgpt请求", uid); 144 log.info("{}验证通过开始发送chatgpt请求", uid);
144 - sseService.sseChat(false,user_id,uid, chatRequest, chatRequest.getModel(),completeCallback); 145 + sseService.sseChat(false,user_id,uid, chatRequest, chatRequest.getModel(),completeCallback,request);
145 }catch (Exception e) 146 }catch (Exception e)
146 { 147 {
147 log.error("主业务流程异常",e); 148 log.error("主业务流程异常",e);
  1 +package com.zhonglai.luhui.openai.controller;
  2 +
  3 +import com.ruoyi.common.core.domain.AjaxResult;
  4 +import com.ruoyi.common.core.page.TableDataInfo;
  5 +import com.zhonglai.luhui.action.BaseController;
  6 +import com.zhonglai.luhui.dao.service.PublicService;
  7 +import com.zhonglai.luhui.security.dto.OpenAiUserInfo;
  8 +import com.zhonglai.luhui.security.utils.SecurityUtils;
  9 +import io.swagger.annotations.Api;
  10 +import io.swagger.annotations.ApiOperation;
  11 +import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.web.bind.annotation.GetMapping;
  13 +import org.springframework.web.bind.annotation.PostMapping;
  14 +import org.springframework.web.bind.annotation.RequestMapping;
  15 +import org.springframework.web.bind.annotation.RestController;
  16 +
  17 +import java.util.List;
  18 +import java.util.Map;
  19 +
  20 +@Api(tags = "话提管理")
  21 +@RestController
  22 +@RequestMapping("/userRoom")
  23 +public class UserRoomController extends BaseController {
  24 + @Autowired
  25 + private PublicService publicService;
  26 +
  27 + @ApiOperation("获取话提列表")
  28 + @GetMapping("/getUserRoomList")
  29 + public TableDataInfo getUserRoomList()
  30 + {
  31 + startPage();
  32 + List<Map<String,Object>> list=publicService.getObjectListBySQL("SELECT * FROM `user_room` WHERE user_id="+SecurityUtils.getUserId().toString()+" AND is_delete=1");
  33 + return getDataTable(list);
  34 + }
  35 +
  36 +// @ApiOperation("添加话提")
  37 +// @PostMapping("/addUserRoom")
  38 +// public AjaxResult addUserRoom()
  39 +// {
  40 +//
  41 +// }
  42 +
  43 +}
@@ -17,6 +17,7 @@ import com.zhonglai.luhui.security.utils.SecurityUtils; @@ -17,6 +17,7 @@ import com.zhonglai.luhui.security.utils.SecurityUtils;
17 import org.springframework.beans.factory.annotation.Autowired; 17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.stereotype.Service; 18 import org.springframework.stereotype.Service;
19 19
  20 +import javax.servlet.http.HttpServletRequest;
20 import java.math.BigDecimal; 21 import java.math.BigDecimal;
21 import java.util.Arrays; 22 import java.util.Arrays;
22 23
@@ -34,7 +35,7 @@ public class CompleteCallbackImpl implements CompleteCallback { @@ -34,7 +35,7 @@ public class CompleteCallbackImpl implements CompleteCallback {
34 private TokenService tokenService; 35 private TokenService tokenService;
35 36
36 @Override 37 @Override
37 - public void sseChatEnd(int recordId,long tokens,String contents) { 38 + public void sseChatEnd(int recordId, long tokens, String contents, HttpServletRequest request) {
38 BigDecimal[] bs = vipService.getUnitprice(); 39 BigDecimal[] bs = vipService.getUnitprice();
39 BigDecimal openaiUnitprice = bs[0]; 40 BigDecimal openaiUnitprice = bs[0];
40 BigDecimal realityUnitprice = bs[1]; 41 BigDecimal realityUnitprice = bs[1];
@@ -87,7 +88,8 @@ public class CompleteCallbackImpl implements CompleteCallback { @@ -87,7 +88,8 @@ public class CompleteCallbackImpl implements CompleteCallback {
87 88
88 publicService.updateBySql("UPDATE `lk_openai`.`user_info` SET flow_packet_remain=flow_packet_remain-" + userFlowPacketRemainLog.getTotal_tokens() + " WHERE id=" + gptMessage.getUser_id()); 89 publicService.updateBySql("UPDATE `lk_openai`.`user_info` SET flow_packet_remain=flow_packet_remain-" + userFlowPacketRemainLog.getTotal_tokens() + " WHERE id=" + gptMessage.getUser_id());
89 90
90 - OpenAiLoginUser userInfo = (OpenAiLoginUser) SecurityUtils.getLoginUser(); 91 +
  92 + OpenAiLoginUser userInfo = (OpenAiLoginUser)tokenService.getLoginUser(request);
91 userInfo.setOpenAiUserInfo(openAiUserInfo); 93 userInfo.setOpenAiUserInfo(openAiUserInfo);
92 tokenService.setLoginUser(userInfo); 94 tokenService.setLoginUser(userInfo);
93 } 95 }