AiChatController.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package jnpf.base.controller;
  2. import io.swagger.v3.oas.annotations.Operation;
  3. import io.swagger.v3.oas.annotations.Parameter;
  4. import io.swagger.v3.oas.annotations.Parameters;
  5. import io.swagger.v3.oas.annotations.tags.Tag;
  6. import jnpf.base.ActionResult;
  7. import jnpf.base.entity.AiChatEntity;
  8. import jnpf.base.model.ai.AiChatVo;
  9. import jnpf.base.model.ai.AiForm;
  10. import jnpf.base.model.ai.AiHisVo;
  11. import jnpf.base.model.ai.AiParam;
  12. import jnpf.base.service.AiChatService;
  13. import jnpf.constant.MsgCode;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.List;
  17. @Tag(name = "AI助手", description = "Aichat")
  18. @RestController
  19. @RequestMapping("/api/system/Aichat")
  20. public class AiChatController {
  21. @Autowired
  22. private AiChatService aiChatService;
  23. //ai助手接口
  24. @Operation(summary = "发送对话")
  25. @Parameters({
  26. @Parameter(name = "param", description = "对话内容参数"),
  27. })
  28. @PostMapping("/send")
  29. public ActionResult send(@RequestBody AiParam param) {
  30. String content = aiChatService.send(param.getKeyword());
  31. return ActionResult.success(MsgCode.SU000.get(), content);
  32. }
  33. @Operation(summary = "ai会话列表")
  34. @GetMapping("/history/list")
  35. public ActionResult historyList() {
  36. List<AiChatVo> listVo = aiChatService.historyList();
  37. return ActionResult.success(listVo);
  38. }
  39. @Operation(summary = "ai会话记录")
  40. @Parameters({
  41. @Parameter(name = "id", description = "会话id"),
  42. })
  43. @GetMapping("/history/get/{id}")
  44. public ActionResult historyGet(@PathVariable("id") String id) {
  45. List<AiHisVo> listVo = aiChatService.historyGet(id);
  46. return ActionResult.success(listVo);
  47. }
  48. @Operation(summary = "保存历史记录")
  49. @Parameters({
  50. @Parameter(name = "form", description = "会话信息表单"),
  51. })
  52. @PostMapping("/history/save")
  53. public ActionResult historySave(@RequestBody AiForm form) {
  54. String chatId = aiChatService.historySave(form);
  55. return ActionResult.success(MsgCode.SU002.get(), chatId);
  56. }
  57. @Operation(summary = "删除ai会话")
  58. @Parameters({
  59. @Parameter(name = "form", description = "删除ai会话"),
  60. })
  61. @DeleteMapping("/history/delete/{id}")
  62. public ActionResult historyDelete(@PathVariable("id") String id) {
  63. AiChatEntity byId = aiChatService.getById(id);
  64. if (byId != null) {
  65. aiChatService.delete(id);
  66. return ActionResult.success(MsgCode.SU003.get());
  67. }
  68. return ActionResult.fail(MsgCode.FA003.get());
  69. }
  70. }