ModelController.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.pavis.admin.controller.aigc;
  2. import com.pavis.admin.aigc.core.SpringContextHolder;
  3. import com.pavis.admin.aigc.event.ProviderRefreshEvent;
  4. import io.swagger.v3.oas.annotations.Operation;
  5. import jakarta.annotation.Resource;
  6. import top.continew.starter.extension.crud.enums.Api;
  7. import io.swagger.v3.oas.annotations.tags.Tag;
  8. import org.springframework.web.bind.annotation.*;
  9. import top.continew.starter.extension.crud.annotation.CrudRequestMapping;
  10. import com.pavis.admin.common.controller.BaseController;
  11. import com.pavis.admin.aigc.model.query.ModelQuery;
  12. import com.pavis.admin.aigc.model.req.ModelReq;
  13. import com.pavis.admin.aigc.model.resp.ModelDetailResp;
  14. import com.pavis.admin.aigc.model.resp.ModelResp;
  15. import com.pavis.admin.aigc.service.ModelService;
  16. import java.util.List;
  17. /**
  18. * AIGC模型配置管理 API
  19. *
  20. * @author semi
  21. * @since 2025/05/26 17:28
  22. */
  23. @Tag(name = "AIGC模型配置管理 API")
  24. @RestController
  25. @CrudRequestMapping(value = "/aigc/model", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE, Api.EXPORT})
  26. public class ModelController extends BaseController<ModelService, ModelResp, ModelDetailResp, ModelQuery, ModelReq> {
  27. @Resource
  28. private SpringContextHolder contextHolder;
  29. @Operation(summary = "模型和配置新增接口", description = "模型和配置新增接口")
  30. @PostMapping(value = "/insModelAndSecret")
  31. public void insModelAndSecret(@RequestBody ModelReq modelReq) {
  32. baseService.insModelAndSecret(modelReq);
  33. // 重新加载模型
  34. SpringContextHolder.publishEvent(new ProviderRefreshEvent(modelReq));
  35. }
  36. @Operation(summary = "模型和配置查询接口", description = "模型和配置查询接口")
  37. @PostMapping(value = "/selModelAndSecrt")
  38. public List<ModelResp> selModelAndSecrt(@RequestBody ModelQuery modelQuery) {
  39. return baseService.selModelAndSecrtList(modelQuery);
  40. }
  41. @Operation(summary = "模型和配置更新接口", description = "模型和配置更新接口")
  42. @PostMapping(value = "/updateModelAndSecrt")
  43. public void updateModelAndSecrt(@RequestBody ModelResp modelResp) {
  44. baseService.updateModelAndSecrt(modelResp);
  45. // 重新加载模型
  46. SpringContextHolder.publishEvent(new ProviderRefreshEvent(modelResp));
  47. }
  48. @Operation(summary = "模型和配置删除接口", description = "模型和配置删除接口")
  49. @PostMapping(value = "/delModelAndSecrt")
  50. public void delModelAndSecrt(List<Long> ids) {
  51. baseService.delModelAndSecrt(ids);
  52. }
  53. }