Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions app-builder/plugins/aipp-custom-model-center/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@
<groupId>org.fitframework.integration</groupId>
<artifactId>fit-druid</artifactId>
</dependency>
<dependency>
<groupId>modelengine.fit.jade.service</groupId>
<artifactId>tool-service</artifactId>
</dependency>

<!-- Test -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
package modelengine.fit.jade.aipp.model.mapper;

import modelengine.fit.jade.aipp.model.po.ModelPo;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;
Expand All @@ -22,16 +23,30 @@ public interface ModelMapper {
/**
* 根据模型标识查询模型信息。
*
* @param modelId 表示模型标识
* @return 模型信息 {@link ModelPo}。
* @param modelId 表示模型标识的 {@link String}
* @return 模型信息的 {@link ModelPo}。
*/
ModelPo get(String modelId);
ModelPo getModel(String modelId);

/**
* 根据模型标识列表批量查询模型信息。
*
* @param modelIds 表示模型标识列表
* @return 模型信息列表 {@link List}{@code <}{@link ModelPo}{@code >}.
* @param modelIds 表示模型标识列表的 {@link List}{@code <}{@link String}{@code >}
* @return 模型信息列表的 {@link List}{@code <}{@link ModelPo}{@code >}
*/
List<ModelPo> listModels(List<String> modelIds);

/**
* 插入模型信息。
*
* @param model 表示待插入的模型信息的 {@link ModelPo}。
*/
void insertModel(ModelPo model);

/**
* 根据模型标识删除模型信息。
*
* @param modelId 表示待删除模型标识的 {@link String}。
*/
void deleteByModelId(String modelId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
package modelengine.fit.jade.aipp.model.mapper;

import modelengine.fit.jade.aipp.model.po.UserModelPo;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

Expand All @@ -22,16 +24,56 @@ public interface UserModelMapper {
/**
* 根据用户标识获取用户模型关系列表。
*
* @param userId 表示用户标识
* @return 用户模型关系列表 {@link List}{@code <}{@link UserModelPo}{@code >}.
* @param userId 表示用户标识的 {@link String}
* @return 用户模型关系列表的 {@link List}{@code <}{@link UserModelPo}{@code >}
*/
List<UserModelPo> listUserModels(String userId);

/**
* 根据用户标识获取默认用户模型关系。
*
* @param userId 表示用户标识
* @return 默认的用户模型关系
* @param userId 表示用户标识的 {@link String}
* @return 默认的用户模型关系的 {@link UserModelPo}
*/
UserModelPo getDefault(String userId);

/**
* 判断指定用户是否已绑定默认模型。
*
* @param userId 表示用户标识的 {@link String}。
* @return 若已绑定默认模型则返回 {@code true},否则返回 {@code false}。
*/
boolean hasDefaultModel(String userId);

/**
* 插入用户模型绑定关系。
*
* @param userModel 表示待插入的用户模型关系对象的 {@link UserModelPo}。
*/
void insertUserModel(UserModelPo userModel);

/**
* 根据模型标识删除对应的用户模型绑定关系。
*
* @param modelId 表示模型标识的 {@link String}。
*/
void deleteByModelId(String modelId);

/**
* 查找指定用户最新创建的模型绑定记录(按创建时间降序,取第一条)。
*
* @param userId 表示用户标识的 {@link String}。
* @return 最新的用户模型关系的 {@link UserModelPo}。
*/
UserModelPo findLatestUserModel(String userId);

/**
* 更新指定用户的所有模型绑定记录的默认状态。
* <p>若记录中的模型标识与传入的 {@code modelId} 一致,则设置为默认(1),否则设为非默认(0)。</p>
*
* @param userId 表示用户标识的 {@link String}。
* @param modelId 表示需设为默认的模型标识的 {@link String}。
* @return 成功更新的记录条数的 {@code int}。
*/
int setDefault(@Param("userId") String userId, @Param("modelId") String modelId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,157 @@

package modelengine.fit.jade.aipp.model.po;

import lombok.AllArgsConstructor;
import lombok.Data;
import modelengine.jade.common.po.BasePo;

import java.time.LocalDateTime;

/**
* 模型信息 ORM 对象。
*
* @author lixin
* @since 2025/3/11
*/
@Data
@AllArgsConstructor
public class ModelPo extends BasePo {
private String modelId;
private String name;
private String tag;
private String baseUrl;
private String type;

/**
* 用于构建 {@link ModelPo} 实例的构建器类。
*/
public static class Builder {
private final ModelPo instance = new ModelPo();

/**
* 设置模型标识符。
*
* @param modelId 表示模型唯一标识的 {@link String}。
* @return {@link Builder} 构建器本身。
*/
public Builder modelId(String modelId) {
this.instance.setModelId(modelId);
return this;
}

/**
* 设置模型名称。
*
* @param name 表示模型名称的 {@link String}。
* @return {@link Builder} 构建器本身。
*/
public Builder name(String name) {
this.instance.setName(name);
return this;
}

/**
* 设置模型标签。
*
* @param tag 表示模型所属标签的 {@link String}。
* @return {@link Builder} 构建器本身。
*/
public Builder tag(String tag) {
this.instance.setTag(tag);
return this;
}

/**
* 设置模型基础地址。
*
* @param baseUrl 表示模型服务访问基础地址的 {@link String}。
* @return {@link Builder} 构建器本身。
*/
public Builder baseUrl(String baseUrl) {
this.instance.setBaseUrl(baseUrl);
return this;
}

/**
* 设置模型类型。
*
* @param type 表示模型类型的 {@link String}。
* @return {@link Builder} 构建器本身。
*/
public Builder type(String type) {
this.instance.setType(type);
return this;
}

/**
* 设置数据库主键标识。
*
* @param id 表示模型数据的唯一数据库主键的 {@link Long}。
* @return {@link Builder} 构建器本身。
*/
public Builder id(Long id) {
this.instance.setId(id);
return this;
}

/**
* 设置创建时间。
*
* @param createdAt 表示模型创建时间的 {@link LocalDateTime}。
* @return {@link Builder} 构建器本身。
*/
public Builder createdAt(LocalDateTime createdAt) {
this.instance.setCreatedAt(createdAt);
return this;
}

/**
* 设置更新时间。
*
* @param updatedAt 表示模型最近更新时间的 {@link LocalDateTime}。
* @return {@link Builder} 构建器本身。
*/
public Builder updatedAt(LocalDateTime updatedAt) {
this.instance.setUpdatedAt(updatedAt);
return this;
}

/**
* 设置创建人标识。
*
* @param createdBy 表示创建该模型记录的用户标识的 {@link String}。
* @return {@link Builder} 构建器本身。
*/
public Builder createdBy(String createdBy) {
this.instance.setCreatedBy(createdBy);
return this;
}

/**
* 设置更新人标识。
*
* @param updatedBy 表示最近更新该模型记录的用户标识的 {@link String}。
* @return {@link Builder} 构建器本身。
*/
public Builder updatedBy(String updatedBy) {
this.instance.setUpdatedBy(updatedBy);
return this;
}

/**
* 构建并返回 {@link ModelPo} 实例。
*
* @return 构建完成的 {@link ModelPo} 实例。
*/
public ModelPo build() {
return this.instance;
}
}

/**
* 创建并返回一个新的 {@link Builder} 构建器实例。
*
* @return {@link Builder} 实例,用于构建 {@link ModelPo}。
*/
public static Builder builder() {
return new Builder();
}
}
Loading