ChatGptController.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.cyksj.web.controller.gpt;
  2. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  3. import com.cyksj.dto.Result;
  4. import com.cyksj.enums.GatewayResponse;
  5. import com.cyksj.model.entity.Account;
  6. import com.cyksj.service.chatgpt.ChatGptAuthService;
  7. import com.cyksj.service.mange.CmsAccountService;
  8. import lombok.RequiredArgsConstructor;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.springframework.web.bind.annotation.GetMapping;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RestController;
  13. import java.util.List;
  14. /**
  15. * @author chan
  16. * @date 2023/6/2 5:19 PM
  17. */
  18. @Slf4j
  19. @RequiredArgsConstructor
  20. @RestController
  21. @RequestMapping("/manage/chat")
  22. public class ChatGptController {
  23. private final ChatGptAuthService chatGptAuthService;
  24. private final CmsAccountService accountService;
  25. @GetMapping("/getAccessToken")
  26. private Result<String> getAccessToken(String username) throws Exception {
  27. log.info("获取chatgpt 凭证 username:{}",username);
  28. String accessToken = chatGptAuthService.getAccessToken(username);
  29. log.info("获取chatgpt 凭证返回 token:{}",accessToken);
  30. return GatewayResponse.SUCCESS.newBuilder().toResult(accessToken);
  31. }
  32. @GetMapping("/init")
  33. private Result<String> init() throws Exception {
  34. List<Account> list = accountService.list(Wrappers.lambdaQuery(Account.class).eq(Account::getGoodsId, 18).eq(Account::getGptRefreshToken, ""));
  35. for (Account account : list) {
  36. log.info("账号:{} 正在执行获取token", account.getAccount());
  37. try {
  38. chatGptAuthService.getRefreshToken(account);
  39. }catch (Exception e){
  40. log.error("账号:{} 获取token 错误:{}",account.getAccount(), e.getMessage());
  41. }
  42. }
  43. return GatewayResponse.SUCCESS.newBuilder().toResult();
  44. }
  45. }