Skip to content

Commit ce70c04

Browse files
wuayeewuayee
andauthored
[appBuilder] 多版本和结构优化 (#210)
Co-authored-by: wuayee <wuayee@noreply.gitcode.com>
1 parent 60bd941 commit ce70c04

File tree

380 files changed

+19731
-9661
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

380 files changed

+19731
-9661
lines changed

app-builder/jane/jober-genericable/src/main/java/modelengine/fit/jober/common/RangedResultSet.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import java.util.List;
1313
import java.util.Objects;
14+
import java.util.Optional;
1415

1516
/**
1617
* 批量返回结构体。
@@ -67,7 +68,25 @@ public static <T> RangedResultSet<T> create(List<T> results, Range range, long t
6768
* @return RangedResultSet
6869
*/
6970
public static <T> RangedResultSet<T> create(List<T> results, RangeResult range) {
70-
return new RangedResultSet(results, range);
71+
return new RangedResultSet<>(results, range);
72+
}
73+
74+
/**
75+
* 集合是否为空.
76+
*
77+
* @return 返回集合是否是空的 {@code boolean}。
78+
*/
79+
public boolean isEmpty() {
80+
return this.range.getTotal() == 0;
81+
}
82+
83+
/**
84+
* 获取第一个元素.
85+
*
86+
* @return {@link Optional}{@code <}{@code T}{@code >} Optional对象.
87+
*/
88+
public Optional<T> getFirst() {
89+
return this.isEmpty() ? Optional.empty() : Optional.of(this.results.get(0));
7190
}
7291

7392
public List<T> getResults() {

app-builder/jane/jober-multiversion-genericable/src/main/java/modelengine/fit/jane/meta/multiversion/MetaInstanceService.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ void patchMetaInstance(String versionId, String instanceId, InstanceDeclarationI
7676
* 查询meta实例。
7777
*
7878
* @param versionId 表示实例所属meta唯一标识的 {@link String}。
79-
* @param filter 表示meta实例过滤器的 {@link MetaInstanceFilter}。
80-
* @param offset 表示查询到的meta版本的结果集在全量结果集中的偏移量的 64 位整数
81-
* @param limit 表示查询到的meta版本的结果集中的最大数量的 32 位整数
79+
* @param filter 表示 meta 实例过滤器的 {@link MetaInstanceFilter}。
80+
* @param offset 表示查询到的meta版本的结果集在全量结果集中的偏移量的 64 位整数的 {@code long}
81+
* @param limit 表示查询到的meta版本的结果集中的最大数量的 32 位整数的 {@code int}
8282
* @param context 表示操作上下文的 {@link OperationContext}。
8383
* @return 表示查询到的结果集的 {@link RangedResultSet}{@code <}{@link Instance}{@code >}。
8484
*/
@@ -90,8 +90,8 @@ RangedResultSet<Instance> list(String versionId, MetaInstanceFilter filter, long
9090
* 查询meta实例。
9191
*
9292
* @param versionId 表示实例所属meta唯一标识的 {@link String}。
93-
* @param offset 表示查询到的meta版本的结果集在全量结果集中的偏移量的 64 位整数
94-
* @param limit 表示查询到的meta版本的结果集中的最大数量的 32 位整数
93+
* @param offset 表示查询到的meta版本的结果集在全量结果集中的偏移量的 64 位整数的 {@code long}
94+
* @param limit 表示查询到的meta版本的结果集中的最大数量的 32 位整数的 {@code int}
9595
* @param context 表示操作上下文的 {@link OperationContext}。
9696
* @return 表示查询到的结果集的 {@link RangedResultSet}{@code <}{@link Instance}{@code >}。
9797
*/
@@ -102,7 +102,8 @@ RangedResultSet<Instance> list(String versionId, MetaInstanceFilter filter, long
102102
* 查询meta实例。
103103
*
104104
* @param ids 表示实例id集合。
105-
* @param limit 表示查询到的meta版本的结果集中的最大数量的 32 位整数。
105+
* @param offset 表示查询到的meta版本的结果集在全量结果集中的偏移量的 64 位整数的 {@code long}。
106+
* @param limit 表示查询到的meta版本的结果集中的最大数量的 32 位整数的 {@code int}。
106107
* @param context 表示操作上下文的 {@link OperationContext}。
107108
* @return 表示查询到的结果集的 {@link RangedResultSet}{@code <}{@link Instance}{@code >}。
108109
*/
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved.
3+
* This file is a part of the ModelEngine Project.
4+
* Licensed under the MIT License. See License.txt in the project root for license information.
5+
*/
6+
7+
package modelengine.fit.jober.aipp;
8+
9+
import modelengine.fit.jober.aipp.mapper.AppChatNumMapper;
10+
import modelengine.fitframework.annotation.Component;
11+
import modelengine.fitframework.plugin.Plugin;
12+
import modelengine.fitframework.plugin.PluginStartedObserver;
13+
import modelengine.fitframework.util.ObjectUtils;
14+
import modelengine.fitframework.util.StringUtils;
15+
16+
/**
17+
* 插件启动器
18+
*
19+
* @author 邬涨财
20+
* @since 2025-06-04
21+
*/
22+
@Component
23+
public class AippPluginStarter implements PluginStartedObserver {
24+
@Override
25+
public void onPluginStarted(Plugin plugin) {
26+
if (!StringUtils.equals(plugin.metadata().name(), "aipp-plugin")) {
27+
return;
28+
}
29+
plugin.container().all(AppChatNumMapper.class).stream().findAny().ifPresent(beanFactory -> {
30+
AppChatNumMapper appChatNumMapper = ObjectUtils.cast(beanFactory.get());
31+
appChatNumMapper.clearNum();
32+
});
33+
}
34+
}

app-builder/jane/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/aop/LocaleAspect.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@
66

77
package modelengine.fit.jober.aipp.aop;
88

9-
import lombok.RequiredArgsConstructor;
109
import modelengine.fit.jober.aipp.service.DatabaseFieldLocaleService;
10+
import modelengine.jade.authentication.context.UserContext;
11+
import modelengine.jade.authentication.context.UserContextHolder;
12+
13+
import lombok.RequiredArgsConstructor;
1114
import modelengine.fitframework.annotation.Component;
1215
import modelengine.fitframework.aop.ProceedingJoinPoint;
1316
import modelengine.fitframework.aop.annotation.Around;
@@ -36,11 +39,8 @@
3639
@RequiredArgsConstructor
3740
public class LocaleAspect {
3841
private static final Logger log = Logger.get(LocaleAspect.class);
39-
4042
private static final String I18N_PATTERN = "i18n_appBuilder_\\{(.*?)\\}";
41-
4243
private static final Pattern PATTERN = Pattern.compile(I18N_PATTERN);
43-
4444
private static final List<Locale> LOCALES = Collections.unmodifiableList(
4545
Arrays.asList(new Locale("en"), new Locale("zh"), new Locale("en", "US"), new Locale("zh", "CN")));
4646

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved.
3+
* This file is a part of the ModelEngine Project.
4+
* Licensed under the MIT License. See License.txt in the project root for license information.
5+
*--------------------------------------------------------------------------------------------*/
6+
7+
package modelengine.fit.jober.aipp.common;
8+
9+
import modelengine.fit.jober.aipp.domains.business.RunContext;
10+
import modelengine.fit.jober.aipp.entity.ChatSession;
11+
12+
/**
13+
* 应用执行接口。
14+
*
15+
* @author 张越
16+
* @since 2025-01-10
17+
*/
18+
public interface AppTaskRunnable {
19+
/**
20+
* 运行任务。
21+
*
22+
* @param context 上下文信息。
23+
*/
24+
void run(RunContext context);
25+
26+
/**
27+
* 运行任务。
28+
*
29+
* @param context 上下文信息。
30+
* @param chatSession 会话对象。
31+
*/
32+
void run(RunContext context, ChatSession<Object> chatSession);
33+
}

app-builder/jane/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/common/exception/AippCheckedException.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66

77
package modelengine.fit.jober.aipp.common.exception;
88

9-
import lombok.Getter;
109
import modelengine.fit.jane.common.entity.OperationContext;
1110

11+
import lombok.Getter;
12+
1213
/**
1314
* aipp通用受检异常
1415
*

app-builder/jane/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/common/exception/AippTaskNotFoundException.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66

77
package modelengine.fit.jober.aipp.common.exception;
88

9-
import lombok.Getter;
109
import modelengine.fit.jane.common.entity.OperationContext;
1110

11+
import lombok.Getter;
12+
1213
/**
1314
* aipp通用受检异常
1415
*
@@ -19,10 +20,9 @@
1920
public class AippTaskNotFoundException extends AippCheckedException {
2021
private OperationContext context;
2122

22-
private modelengine.fit.jober.aipp.common.exception.AippErrCode error;
23+
private AippErrCode error;
2324

24-
public AippTaskNotFoundException(OperationContext context,
25-
modelengine.fit.jober.aipp.common.exception.AippErrCode error) {
25+
public AippTaskNotFoundException(OperationContext context, AippErrCode error) {
2626
super(context, error);
2727
}
2828

app-builder/jane/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/condition/AippQueryCondition.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,18 @@
2626
public class AippQueryCondition {
2727
@RequestQuery(name = "name", required = false)
2828
private String name;
29-
3029
@RequestQuery(name = "status", required = false)
3130
private String status;
32-
3331
@RequestQuery(name = "version", required = false)
3432
private String version;
35-
3633
@RequestQuery(name = "creator", required = false)
3734
private String creator;
38-
39-
@Property(description = "排序条件,支持字段:create_at/update_at", example = "create_at")
35+
@Property(description = "排序条件,支持字段:create_at/update_at",
36+
example = "create_at")
4037
@RequestQuery(name = "sort", required = false, defaultValue = "update_at")
4138
private String sort;
42-
43-
@Property(description = "排序方向,descend表示降序,ascend表示升序", example = "descend")
39+
@Property(description = "排序方向,descend表示降序,ascend表示升序",
40+
example = "descend")
4441
@RequestQuery(name = "order", required = false, defaultValue = "descend")
4542
private String order;
4643
}

app-builder/jane/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/condition/AppQueryCondition.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public class AppQueryCondition {
2929

3030
@RequestParam(name = "type", required = false, defaultValue = "app")
3131
private String type;
32-
3332
private List<String> ids;
3433

3534
@RequestParam(name = "name", required = false)
@@ -40,11 +39,14 @@ public class AppQueryCondition {
4039

4140
@RequestParam(name = "app_category", required = false)
4241
private String appCategory;
43-
4442
private List<String> excludeNames;
43+
private String appSuiteId;
44+
private String orderBy;
45+
private String sort;
46+
private Long offset;
47+
private Integer limit;
4548

4649
@RequestParam(name = "app_type", required = false)
4750
private String appType;
48-
4951
private String createBy;
5052
}

app-builder/jane/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/condition/FormQueryCondition.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,11 @@
2525
@AllArgsConstructor
2626
public class FormQueryCondition {
2727
private String tenantId;
28-
2928
private String type;
30-
3129
private Long offset;
32-
3330
private int limit;
34-
3531
private String name;
36-
3732
private String id;
38-
3933
private String createBy;
40-
4134
private List<String> excludeNames;
4235
}

0 commit comments

Comments
 (0)