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
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import modelengine.fit.jober.aipp.dto.AppBuilderAppDto;
import modelengine.fit.jober.aipp.dto.AppBuilderAppMetadataDto;
import modelengine.fit.jober.aipp.dto.AppBuilderFlowGraphDto;
import modelengine.fit.jober.aipp.dto.AppBuilderNodeConfigsDto;
import modelengine.fit.jober.aipp.dto.AppBuilderSaveConfigDto;
import modelengine.fit.jober.aipp.dto.PublishedAppResDto;
import modelengine.fit.jober.aipp.dto.check.AppCheckDto;
Expand Down Expand Up @@ -280,6 +281,36 @@ public Rsp<AppBuilderAppDto> updateByGraph(HttpClassicServerRequest httpRequest,
return this.appService.updateFlowGraph(appId, flowGraphDto, this.contextOf(httpRequest, tenantId));
}

/**
* 修改节点的配置项。
*
* @param httpRequest 请求。
* @param tenantId 租户Id。
* @param nodeConfigs 节点的配置项的 dto。
*/
@CarverSpan(value = "operation.appBuilderApp.update.node.config")
@PutMapping(value = "/node/config", description = "修改节点的配置项")
@AppValidation
public void updateNodeConfig(HttpClassicServerRequest httpRequest, @PathVariable("tenant_id") String tenantId,
@RequestBody @Validated AppBuilderNodeConfigsDto nodeConfigs) {
this.appService.updateNodeConfigs(nodeConfigs, this.contextOf(httpRequest, tenantId));
}

/**
* 发布最新版本。
*
* @param httpRequest 请求。
* @param tenantId 租户Id。
* @param appSuiteId 应用的版本id。
*/
@CarverSpan(value = "operation.appBuilderApp.publish.latest.version")
@PostMapping(value = "/publish/latest_version/{app_suite_id}", description = "发布最新版本")
@AppValidation
public Rsp<AippCreateDto> publishLatestVersion(HttpClassicServerRequest httpRequest,
@PathVariable("tenant_id") String tenantId, @PathVariable("app_suite_id") String appSuiteId) {
return this.appService.publishLatestVersion(appSuiteId, this.contextOf(httpRequest, tenantId));
}

/**
* 更新app的基本信息。
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,197 +32,206 @@
*/
public interface AppVersionService {
/**
* 通过appId获取 {@link AppVersion}.
* 通过appId获取 {@link AppVersion}
*
* @param appId app多版本中的唯一标识.
* @return {@link Optional}{@code <}{@link AppVersion}{@code >} 对象.
* @param appId app多版本中的唯一标识
* @return {@link Optional}{@code <}{@link AppVersion}{@code >} 对象
*/
Optional<AppVersion> getByAppId(String appId);

/**
* 通过path获取 {@link AppVersion}.
* 通过path获取 {@link AppVersion}
*
* @param path 路径.
* @return {@link Optional}{@code <}{@link AppVersion}{@code >} 对象.
* @param path 路径
* @return {@link Optional}{@code <}{@link AppVersion}{@code >} 对象
*/
Optional<AppVersion> getByPath(String path);

/**
* 强制获取一个应用,若获取不到则抛出应用版本不存在的异常.
* 强制获取一个应用,若获取不到则抛出应用版本不存在的异常
*
* @param appId 应用版本id.
* @return {@link AppVersion} 对象
* @throws AippException 异常.
* @param appId 应用版本id
* @return {@link AppVersion} 对象
* @throws AippException 异常
*/
AppVersion retrieval(String appId);

/**
* 通过appSuiteId获取所有的 {@link AppVersion} 列表.
* 通过appSuiteId获取所有的 {@link AppVersion} 列表
*
* @param appSuiteId 应用的唯一id.
* @return {@link List}{@code <}{@link AppVersion}{@code >} 集合.
* @param appSuiteId 应用的唯一id
* @return {@link List}{@code <}{@link AppVersion}{@code >} 集合
*/
List<AppVersion> getByAppSuiteId(String appSuiteId);

/**
* 运行 App 的某个版本.
* 运行 App 的某个版本
*
* @param request 运行请求.
* @param context 操作人上下文信息.
* @return {@link Choir}{@code <}{@link Object}{@code >} SSE对象.
* @param request 运行请求
* @param context 操作人上下文信息
* @return {@link Choir}{@code <}{@link Object}{@code >} SSE对象
*/
Choir<Object> run(CreateAppChatRequest request, OperationContext context);

/**
* 调试 App 的某个版本.
* 调试 App 的某个版本
*
* @param request 运行请求.
* @param context 操作人上下文信息.
* @return {@link Choir}{@code <}{@link Object}{@code >} SSE对象.
* @param request 运行请求
* @param context 操作人上下文信息
* @return {@link Choir}{@code <}{@link Object}{@code >} SSE对象
*/
Choir<Object> debug(CreateAppChatRequest request, OperationContext context);

/**
* 重新启动任务实例.
* 重新启动任务实例
*
* @param instanceId 任务实例id.
* @param params 重启参数.
* @param context 操作人上下文.
* @return {@link Choir}{@code <}{@link Object}{@code >} SSE对象.
* @param instanceId 任务实例id
* @param params 重启参数
* @param context 操作人上下文
* @return {@link Choir}{@code <}{@link Object}{@code >} SSE对象
*/
Choir<Object> restart(String instanceId, Map<String, Object> params, OperationContext context);

/**
* 创建一个 {@link AppVersion} 对象.
* 创建一个 {@link AppVersion} 对象
*
* @param templateId 模板id.
* @param dto 创建参数.
* @param context 操作人上下文信息.
* @return {@link AppVersion} 对象.
* @param templateId 模板id
* @param dto 创建参数
* @param context 操作人上下文信息
* @return {@link AppVersion} 对象
*/
AppVersion create(String templateId, AppBuilderAppCreateDto dto, OperationContext context);

/**
* 通过模板对象创建app.
* 通过模板对象创建app
*
* @param template 模板对象.
* @param context 操作人上下文.
* @return {@link AppVersion} 应用版本.
* @param template 模板对象
* @param context 操作人上下文
* @return {@link AppVersion} 应用版本
*/
AppVersion createByTemplate(AppTemplate template, OperationContext context);

/**
* 升级并创建一个新版本.
* 升级并创建一个新版本
*
* @param appId 待升级的appid.
* @param dto 升级参数.
* @param context 操作人上下文信息.
* @return {@link AppVersion} 对象.
* @param appId 待升级的appid
* @param dto 升级参数
* @param context 操作人上下文信息
* @return {@link AppVersion} 对象
*/
AppVersion upgrade(String appId, AppBuilderAppCreateDto dto, OperationContext context);

/**
* 校验app名称是否符合规范.
* 校验app名称是否符合规范
*
* @param name 名称.
* @param context 操作人上下文信息.
* @throws AippException 业务异常.
* @param name 名称
* @param context 操作人上下文信息
* @throws AippException 业务异常
*/
void validateAppName(String name, OperationContext context) throws AippException;

/**
* 通过应用id获取最新创建的应用版本.
* 通过应用id获取最新创建的应用版本
*
* @param appSuiteId 应用id.
* @return {@link Optional}{@code <}{@link AppVersion}{@code >} 对象.
* @param appSuiteId 应用id
* @return {@link Optional}{@code <}{@link AppVersion}{@code >} 对象
*/
Optional<AppVersion> getLatestCreatedByAppSuiteId(String appSuiteId);

/**
* 通过应用id获取最先创建的应用版本.
* 通过应用id获取最先创建的应用版本
*
* @param appSuiteId 应用id.
* @return {@link Optional}{@code <}{@link AppVersion}{@code >} 对象.
* @param appSuiteId 应用id
* @return {@link Optional}{@code <}{@link AppVersion}{@code >} 对象
*/
Optional<AppVersion> getFirstCreatedByAppSuiteId(String appSuiteId);

/**
* 通过tenantId以及查询条件分页查询.
* 通过tenantId以及查询条件分页查询
*
* @param cond 查询条件.
* @param tenantId 租户id.
* @param offset 偏移量.
* @param limit 条数限制.
* @return {@link AppVersion} 分页集合.
* @param cond 查询条件
* @param tenantId 租户id
* @param offset 偏移量
* @param limit 条数限制
* @return {@link AppVersion} 分页集合
*/
RangedResultSet<AppVersion> pageListByTenantId(AppQueryCondition cond, String tenantId, long offset, int limit);

/**
* 根据条件以及tenantId统计app数量.
* 根据条件以及tenantId统计app数量
*
* @param cond 查询条件.
* @param tenantId 租户id.
* @return 数量.
* @param cond 查询条件
* @param tenantId 租户id
* @return 数量
*/
long countByTenantId(AppQueryCondition cond, String tenantId);

/**
* 根据传入的 {@link AppBuilderAppDto} 数据进行修改.
* 根据传入的 {@link AppBuilderAppDto} 数据进行修改
*
* @param appId 版本id.
* @param appDto 待修改数据.
* @param context 操作人上下文信息.
* @return {@link AppVersion} 对象.
* @param appId 版本id
* @param appDto 待修改数据
* @param context 操作人上下文信息
* @return {@link AppVersion} 对象
*/
AppVersion update(String appId, AppBuilderAppDto appDto, OperationContext context);

/**
* 根据传入的 {@link AppBuilderFlowGraphDto} 数据进行修改.
* 根据传入的 {@link AppBuilderFlowGraphDto} 数据进行修改
*
* @param appId 版本id.
* @param graphDto 待修改数据.
* @param context 操作人上下文信息.
* @return {@link AppVersion} 对象.
* @param appId 版本id
* @param graphDto 待修改数据
* @param context 操作人上下文信息
* @return {@link AppVersion} 对象
*/
AppVersion update(String appId, AppBuilderFlowGraphDto graphDto, OperationContext context);

/**
* 根据传入的 {@link AppBuilderSaveConfigDto} 数据进行修改.
* 根据传入的 {@link AppVersion} 数据更新流程。
*
* @param appId 版本id.
* @param appBuilderSaveConfigDto 待修改数据.
* @param context 操作人上下文信息.
* @return {@link AppVersion} 对象.
* @param appVersion 应用版本。
* @param graphDto 待修改数据。
* @param context 操作人上下文信息。
*/
void updateGraph(AppVersion appVersion, AppBuilderFlowGraphDto graphDto, OperationContext context);

/**
* 根据传入的 {@link AppBuilderSaveConfigDto} 数据进行修改。
*
* @param appId 版本id。
* @param appBuilderSaveConfigDto 待修改数据。
* @param context 操作人上下文信息。
* @return {@link AppVersion} 对象。
*/
AppVersion update(String appId, AppBuilderSaveConfigDto appBuilderSaveConfigDto, OperationContext context);

/**
* 根据传入的 {@link AppVersion} 进行修改.
* 根据传入的 {@link AppVersion} 进行修改
*
* @param appVersion {@link AppVersion} 对象.
* @param appVersion {@link AppVersion} 对象
*/
void update(AppVersion appVersion);

/**
* 通过id批量删除.
* 通过id批量删除
*
* @param appIds 版本id集合.
* @param appIds 版本id集合
*/
void deleteByIds(List<String> appIds);

/**
* 判断应用名称是否已经存在.
* 判断应用名称是否已经存在
*
* @param appName 应用名称.
* @param context 操作人上下文.
* @return true/false.
* @param appName 应用名称
* @param context 操作人上下文
* @return true/false
*/
boolean isNameExists(String appName, OperationContext context);

/**
* 保存.
* 保存
*
* @param appVersion {@link AppVersion} 对象.
* @param appVersion {@link AppVersion} 对象
*/
void save(AppVersion appVersion);
}
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,12 @@ public AppVersion update(String appId, AppBuilderFlowGraphDto graphDto, Operatio
if (appVersion.isPublished()) {
throw new AippException(AippErrCode.APP_HAS_ALREADY);
}
this.updateGraph(appVersion, graphDto, context);
return appVersion;
}

@Override
public void updateGraph(AppVersion appVersion, AppBuilderFlowGraphDto graphDto, OperationContext context) {
Span.current().setAttribute("name", appVersion.getData().getName());
LocalDateTime operateTime = LocalDateTime.now();
appVersion.getFlowGraph().setUpdateAt(operateTime);
Expand All @@ -389,7 +395,6 @@ public AppVersion update(String appId, AppBuilderFlowGraphDto graphDto, Operatio
appVersion.getData().setUpdateBy(context.getOperator());
appVersion.putAttributes(new HashMap<>());
this.repository.update(appVersion);
return appVersion;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import modelengine.fit.jober.aipp.dto.AppBuilderConfigDto;
import modelengine.fit.jober.aipp.dto.AppBuilderConfigFormPropertyDto;
import modelengine.fit.jober.aipp.dto.AppBuilderFlowGraphDto;
import modelengine.fit.jober.aipp.dto.AppBuilderNodeConfigsDto;
import modelengine.fit.jober.aipp.dto.AppBuilderSaveConfigDto;
import modelengine.fit.jober.aipp.dto.PublishedAppResDto;
import modelengine.fit.jober.aipp.dto.check.AppCheckDto;
Expand Down Expand Up @@ -104,6 +105,24 @@ Rsp<AppBuilderAppDto> saveConfig(String appId, AppBuilderSaveConfigDto appBuilde
@Genericable(id = "modelengine.fit.jober.aipp.service.flow.graph.update")
Rsp<AppBuilderAppDto> updateFlowGraph(String appId, AppBuilderFlowGraphDto graphDto, OperationContext context);

/**
* 更新节点的配置项。
*
* @param nodeConfigs 节点配置项的 {@link AppBuilderNodeConfigsDto}。
* @param context 表示操作上下文的 {@link OperationContext}。
*/
@Genericable(id = "modelengine.fit.jober.aipp.service.update.node.configs")
void updateNodeConfigs(AppBuilderNodeConfigsDto nodeConfigs, OperationContext context);

/**
* 发布最新版本。
*
* @param appSuiteId 应用的版本 id 的 {@link String}。
* @param context 表示操作上下文的 {@link OperationContext}。
*/
@Genericable(id = "modelengine.fit.jober.aipp.service.app.publish.latest.version")
Rsp<AippCreateDto> publishLatestVersion(String appSuiteId, OperationContext context);

/**
* 发布应用。
*
Expand Down
Loading