【调整】modal 修改为 model

This commit is contained in:
cherishsince 2024-05-07 14:43:07 +08:00
parent 893d394a0a
commit 46b5f17bbc
9 changed files with 69 additions and 71 deletions

View File

@ -2,10 +2,10 @@ package cn.iocoder.yudao.module.ai.controller.admin.model;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalAddReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalListReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalListRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
import cn.iocoder.yudao.module.ai.service.AiChatModalService; import cn.iocoder.yudao.module.ai.service.AiChatModelService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -24,38 +24,38 @@ import org.springframework.web.bind.annotation.*;
*/ */
@Tag(name = "A6-AI模型") @Tag(name = "A6-AI模型")
@RestController @RestController
@RequestMapping("/ai/chat/modal") @RequestMapping("/ai/chat/model")
@Slf4j @Slf4j
@AllArgsConstructor @AllArgsConstructor
public class AiChatModalController { public class AiChatModelController {
private final AiChatModalService aiChatModalService; private final AiChatModelService aiChatModelService;
@Operation(summary = "ai模型 - 模型列表") @Operation(summary = "ai模型 - 模型列表")
@GetMapping("/list") @GetMapping("/list")
public PageResult<AiChatModalListRespVO> list(@ModelAttribute AiChatModalListReqVO req) { public PageResult<AiChatModelListRespVO> list(@ModelAttribute AiChatModelListReqVO req) {
return aiChatModalService.list(req); return aiChatModelService.list(req);
} }
@Operation(summary = "ai模型 - 添加") @Operation(summary = "ai模型 - 添加")
@PutMapping("/add") @PutMapping("/add")
public CommonResult<Void> add(@RequestBody @Validated AiChatModalAddReqVO req) { public CommonResult<Void> add(@RequestBody @Validated AiChatModelAddReqVO req) {
aiChatModalService.add(req); aiChatModelService.add(req);
return CommonResult.success(null); return CommonResult.success(null);
} }
@Operation(summary = "ai模型 - 修改") @Operation(summary = "ai模型 - 修改")
@PostMapping("/update") @PostMapping("/update")
public CommonResult<Void> update(@RequestParam("id") Long id, public CommonResult<Void> update(@RequestParam("id") Long id,
@RequestBody @Validated AiChatModalAddReqVO req) { @RequestBody @Validated AiChatModelAddReqVO req) {
aiChatModalService.update(id, req); aiChatModelService.update(id, req);
return CommonResult.success(null); return CommonResult.success(null);
} }
@Operation(summary = "ai模型 - 删除") @Operation(summary = "ai模型 - 删除")
@DeleteMapping("/delete") @DeleteMapping("/delete")
public CommonResult<Void> delete(@RequestParam("id") Long id) { public CommonResult<Void> delete(@RequestParam("id") Long id) {
aiChatModalService.delete(id); aiChatModelService.delete(id);
return CommonResult.success(null); return CommonResult.success(null);
} }
} }

View File

@ -15,10 +15,9 @@ import lombok.experimental.Accessors;
*/ */
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
public class AiChatModalAddReqVO { public class AiChatModelAddReqVO {
@Schema(description = "API 秘钥编号") @Schema(description = "API 秘钥编号")
@Size(max = 32, message = "API 秘钥编号最大32个字符")
@NotNull(message = "API 秘钥编号不能为空!") @NotNull(message = "API 秘钥编号不能为空!")
private Long keyId; private Long keyId;

View File

@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
*/ */
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
public class AiChatModalListReqVO extends PageParam { public class AiChatModelListReqVO extends PageParam {
@Schema(description = "名字搜搜") @Schema(description = "名字搜搜")
private String search; private String search;

View File

@ -13,7 +13,7 @@ import lombok.experimental.Accessors;
*/ */
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
public class AiChatModalListRespVO { public class AiChatModelListRespVO {
@Schema(description = "id") @Schema(description = "id")
private Long id; private Long id;

View File

@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.ai.convert; package cn.iocoder.yudao.module.ai.convert;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalAddReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalListRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModalDO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@ -17,9 +17,9 @@ import java.util.List;
* @since 1.0 * @since 1.0
*/ */
@Mapper @Mapper
public interface AiChatModalConvert { public interface AiChatModelConvert {
AiChatModalConvert INSTANCE = Mappers.getMapper(AiChatModalConvert.class); AiChatModelConvert INSTANCE = Mappers.getMapper(AiChatModelConvert.class);
/** /**
* 转换 - AiChatModalListRes * 转换 - AiChatModalListRes
@ -27,7 +27,7 @@ public interface AiChatModalConvert {
* @param list * @param list
* @return * @return
*/ */
List<AiChatModalListRespVO> convertAiChatModalListRes(List<AiChatModalDO> list); List<AiChatModelListRespVO> convertAiChatModalListRes(List<AiChatModelDO> list);
/** /**
* 转换 - AiChatModalDO * 转换 - AiChatModalDO
@ -35,7 +35,7 @@ public interface AiChatModalConvert {
* @param req * @param req
* @return * @return
*/ */
AiChatModalDO convertAiChatModalDO(AiChatModalAddReqVO req); AiChatModelDO convertAiChatModalDO(AiChatModelAddReqVO req);
/** /**
@ -44,6 +44,6 @@ public interface AiChatModalConvert {
* @param aiChatModalDO * @param aiChatModalDO
* @return * @return
*/ */
AiChatModalRespVO convertAiChatModalRes(AiChatModalDO aiChatModalDO); AiChatModalRespVO convertAiChatModalRes(AiChatModelDO aiChatModalDO);
} }

View File

@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*; import lombok.*;
import lombok.experimental.Accessors;
/** /**
* AI 聊天模型 DO * AI 聊天模型 DO
@ -22,7 +21,7 @@ import lombok.experimental.Accessors;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class AiChatModalDO extends BaseDO { public class AiChatModelDO extends BaseDO {
/** /**
* 编号 * 编号
@ -76,6 +75,6 @@ public class AiChatModalDO extends BaseDO {
/** /**
* 上下文的最大 Message 数量 * 上下文的最大 Message 数量
*/ */
private Integer maxContexts; private Integer i;
} }

View File

@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModalDO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -18,17 +18,17 @@ import org.springframework.stereotype.Repository;
*/ */
@Repository @Repository
@Mapper @Mapper
public interface AiChatModalMapper extends BaseMapperX<AiChatModalDO> { public interface AiChatModelMapper extends BaseMapperX<AiChatModelDO> {
/** /**
* 查询 - 第一个modal * 查询 - 第一个modal
* *
* @return * @return
*/ */
default AiChatModalDO selectFirstModal() { default AiChatModelDO selectFirstModal() {
PageResult<AiChatModalDO> pageResult = selectPage(new PageParam().setPageNo(1).setPageSize(1), PageResult<AiChatModelDO> pageResult = selectPage(new PageParam().setPageNo(1).setPageSize(1),
new LambdaQueryWrapperX<AiChatModalDO>() new LambdaQueryWrapperX<AiChatModelDO>()
.orderByAsc(AiChatModalDO::getSort) .orderByAsc(AiChatModelDO::getSort)
); );
if (CollUtil.isEmpty(pageResult.getList())) { if (CollUtil.isEmpty(pageResult.getList())) {
return null; return null;

View File

@ -1,11 +1,11 @@
package cn.iocoder.yudao.module.ai.service; package cn.iocoder.yudao.module.ai.service;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalAddReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalListReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalListRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModalDO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
/** /**
* ai modal * ai modal
@ -14,7 +14,7 @@ import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModalDO;
* @time 2024/4/24 19:42 * @time 2024/4/24 19:42
* @since 1.0 * @since 1.0
*/ */
public interface AiChatModalService { public interface AiChatModelService {
/** /**
* ai modal - 列表 * ai modal - 列表
@ -22,14 +22,14 @@ public interface AiChatModalService {
* @param req * @param req
* @return * @return
*/ */
PageResult<AiChatModalListRespVO> list(AiChatModalListReqVO req); PageResult<AiChatModelListRespVO> list(AiChatModelListReqVO req);
/** /**
* ai modal - 添加 * ai modal - 添加
* *
* @param req * @param req
*/ */
void add(AiChatModalAddReqVO req); void add(AiChatModelAddReqVO req);
/** /**
* ai modal - 更新 * ai modal - 更新
@ -37,7 +37,7 @@ public interface AiChatModalService {
* @param id * @param id
* @param req * @param req
*/ */
void update(Long id, AiChatModalAddReqVO req); void update(Long id, AiChatModelAddReqVO req);
/** /**
* ai modal - 删除 * ai modal - 删除
@ -60,7 +60,7 @@ public interface AiChatModalService {
* @param id * @param id
* @return * @return
*/ */
AiChatModalDO validateExists(Long id); AiChatModelDO validateExists(Long id);
/** /**
* 校验 - 校验是否可用 * 校验 - 校验是否可用

View File

@ -8,15 +8,15 @@ import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.ai.ErrorCodeConstants; import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalAddReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalListReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalListRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
import cn.iocoder.yudao.module.ai.convert.AiChatModalConvert; import cn.iocoder.yudao.module.ai.convert.AiChatModelConvert;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModalDO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
import cn.iocoder.yudao.module.ai.dal.mysql.AiChatModalMapper; import cn.iocoder.yudao.module.ai.dal.mysql.AiChatModelMapper;
import cn.iocoder.yudao.module.ai.dal.vo.AiChatModalConfigVO; import cn.iocoder.yudao.module.ai.dal.vo.AiChatModalConfigVO;
import cn.iocoder.yudao.module.ai.service.AiChatModalService; import cn.iocoder.yudao.module.ai.service.AiChatModelService;
import jakarta.validation.ConstraintViolation; import jakarta.validation.ConstraintViolation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -35,51 +35,51 @@ import java.util.Set;
@AllArgsConstructor @AllArgsConstructor
@Service @Service
@Slf4j @Slf4j
public class AiChatModalServiceImpl implements AiChatModalService { public class AiChatModalServiceImpl implements AiChatModelService {
private final AiChatModalMapper aiChatModalMapper; private final AiChatModelMapper aiChatModelMapper;
@Override @Override
public PageResult<AiChatModalListRespVO> list(AiChatModalListReqVO req) { public PageResult<AiChatModelListRespVO> list(AiChatModelListReqVO req) {
LambdaQueryWrapperX<AiChatModalDO> queryWrapperX = new LambdaQueryWrapperX<>(); LambdaQueryWrapperX<AiChatModelDO> queryWrapperX = new LambdaQueryWrapperX<>();
// 查询的都是未禁用的模型 // 查询的都是未禁用的模型
queryWrapperX.eq(AiChatModalDO::getStatus, CommonStatusEnum.ENABLE.getStatus()); queryWrapperX.eq(AiChatModelDO::getStatus, CommonStatusEnum.ENABLE.getStatus());
// search // search
if (!StrUtil.isBlank(req.getSearch())) { if (!StrUtil.isBlank(req.getSearch())) {
queryWrapperX.like(AiChatModalDO::getName, req.getSearch().trim()); queryWrapperX.like(AiChatModelDO::getName, req.getSearch().trim());
} }
// 默认排序 // 默认排序
queryWrapperX.orderByAsc(AiChatModalDO::getSort); queryWrapperX.orderByAsc(AiChatModelDO::getSort);
// 查询 // 查询
PageResult<AiChatModalDO> aiChatModalDOPageResult = aiChatModalMapper.selectPage(req, queryWrapperX); PageResult<AiChatModelDO> aiChatModalDOPageResult = aiChatModelMapper.selectPage(req, queryWrapperX);
// 转换 res // 转换 res
List<AiChatModalListRespVO> resList = AiChatModalConvert.INSTANCE.convertAiChatModalListRes(aiChatModalDOPageResult.getList()); List<AiChatModelListRespVO> resList = AiChatModelConvert.INSTANCE.convertAiChatModalListRes(aiChatModalDOPageResult.getList());
return new PageResult<>(resList, aiChatModalDOPageResult.getTotal()); return new PageResult<>(resList, aiChatModalDOPageResult.getTotal());
} }
@Override @Override
public void add(AiChatModalAddReqVO req) { public void add(AiChatModelAddReqVO req) {
// 校验 platformtype // 校验 platformtype
validatePlatform(req.getPlatform()); validatePlatform(req.getPlatform());
// 转换 do // 转换 do
AiChatModalDO insertChatModalDO = AiChatModalConvert.INSTANCE.convertAiChatModalDO(req); AiChatModelDO insertChatModalDO = AiChatModelConvert.INSTANCE.convertAiChatModalDO(req);
// 设置默认属性 // 设置默认属性
insertChatModalDO.setStatus(CommonStatusEnum.ENABLE.getStatus()); insertChatModalDO.setStatus(CommonStatusEnum.ENABLE.getStatus());
// 保存数据库 // 保存数据库
aiChatModalMapper.insert(insertChatModalDO); aiChatModelMapper.insert(insertChatModalDO);
} }
@Override @Override
public void update(Long id, AiChatModalAddReqVO req) { public void update(Long id, AiChatModelAddReqVO req) {
// 校验 platform // 校验 platform
validatePlatform(req.getPlatform()); validatePlatform(req.getPlatform());
// 校验模型是否存在 // 校验模型是否存在
validateExists(id); validateExists(id);
// 转换 updateChatModalDO // 转换 updateChatModalDO
AiChatModalDO updateChatModalDO = AiChatModalConvert.INSTANCE.convertAiChatModalDO(req); AiChatModelDO updateChatModalDO = AiChatModelConvert.INSTANCE.convertAiChatModalDO(req);
updateChatModalDO.setId(id); updateChatModalDO.setId(id);
// 更新数据库 // 更新数据库
aiChatModalMapper.updateById(updateChatModalDO); aiChatModelMapper.updateById(updateChatModalDO);
} }
@Override @Override
@ -87,14 +87,14 @@ public class AiChatModalServiceImpl implements AiChatModalService {
// 检查 modal 是否存在 // 检查 modal 是否存在
validateExists(id); validateExists(id);
// 删除 delete // 删除 delete
aiChatModalMapper.deleteById(id); aiChatModelMapper.deleteById(id);
} }
@Override @Override
public AiChatModalRespVO getChatModalOfValidate(Long modalId) { public AiChatModalRespVO getChatModalOfValidate(Long modalId) {
// 检查 modal 是否存在 // 检查 modal 是否存在
AiChatModalDO aiChatModalDO = validateExists(modalId); AiChatModelDO aiChatModalDO = validateExists(modalId);
return AiChatModalConvert.INSTANCE.convertAiChatModalRes(aiChatModalDO); return AiChatModelConvert.INSTANCE.convertAiChatModalRes(aiChatModalDO);
} }
@Override @Override
@ -105,8 +105,8 @@ public class AiChatModalServiceImpl implements AiChatModalService {
} }
} }
public AiChatModalDO validateExists(Long id) { public AiChatModelDO validateExists(Long id) {
AiChatModalDO aiChatModalDO = aiChatModalMapper.selectById(id); AiChatModelDO aiChatModalDO = aiChatModelMapper.selectById(id);
if (aiChatModalDO == null) { if (aiChatModalDO == null) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.AI_MODAL_NOT_EXIST); throw ServiceExceptionUtil.exception(ErrorCodeConstants.AI_MODAL_NOT_EXIST);
} }