From 624b1cce7495dcd4d264c37edebdf11ed9472c50 Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Sat, 17 May 2025 23:54:25 +0800 Subject: [PATCH] =?UTF-8?q?update:=E4=BC=98=E5=8C=96=E5=B7=B2=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=9A=84Group=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/annotation/CreateGroup.java | 13 --- .../common/annotation/UpdateGroup.java | 13 --- .../xiaozhi/common/constant/Constant.java | 2 +- .../common/service/impl/BaseServiceImpl.java | 83 +++++-------------- .../controller/ModelProviderController.java | 6 +- .../modules/model/dto/ModelProviderDTO.java | 2 +- .../impl/ModelProviderServiceImpl.java | 2 +- main/manager-web/src/apis/module/model.js | 23 ++--- .../src/components/ProviderDialog.vue | 26 +++--- 9 files changed, 52 insertions(+), 118 deletions(-) delete mode 100644 main/manager-api/src/main/java/xiaozhi/common/annotation/CreateGroup.java delete mode 100644 main/manager-api/src/main/java/xiaozhi/common/annotation/UpdateGroup.java diff --git a/main/manager-api/src/main/java/xiaozhi/common/annotation/CreateGroup.java b/main/manager-api/src/main/java/xiaozhi/common/annotation/CreateGroup.java deleted file mode 100644 index 7864ec3f..00000000 --- a/main/manager-api/src/main/java/xiaozhi/common/annotation/CreateGroup.java +++ /dev/null @@ -1,13 +0,0 @@ -package xiaozhi.common.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target({ElementType.TYPE, ElementType.FIELD, ElementType.ANNOTATION_TYPE}) -@Retention(RetentionPolicy.RUNTIME) -public @interface CreateGroup { - // 可以定义一些元数据或者参数 -} - diff --git a/main/manager-api/src/main/java/xiaozhi/common/annotation/UpdateGroup.java b/main/manager-api/src/main/java/xiaozhi/common/annotation/UpdateGroup.java deleted file mode 100644 index ce168f99..00000000 --- a/main/manager-api/src/main/java/xiaozhi/common/annotation/UpdateGroup.java +++ /dev/null @@ -1,13 +0,0 @@ -package xiaozhi.common.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target({ElementType.TYPE, ElementType.FIELD, ElementType.ANNOTATION_TYPE}) -@Retention(RetentionPolicy.RUNTIME) -public @interface UpdateGroup { - // 可以定义一些元数据或者参数 -} - diff --git a/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java b/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java index b4b361ad..b197c506 100644 --- a/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java +++ b/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java @@ -199,7 +199,7 @@ public interface Constant { /** * 版本号 */ - public static final String VERSION = "0.4.3"; + public static final String VERSION = "0.4.4"; /** * 无效固件URL diff --git a/main/manager-api/src/main/java/xiaozhi/common/service/impl/BaseServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/common/service/impl/BaseServiceImpl.java index 49a003cb..9d06c09a 100644 --- a/main/manager-api/src/main/java/xiaozhi/common/service/impl/BaseServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/common/service/impl/BaseServiceImpl.java @@ -47,6 +47,12 @@ public abstract class BaseServiceImpl, T> implements Bas * @param params 分页查询参数 * @param defaultOrderField 默认排序字段 * @param isAsc 排序方式 + * @see xiaozhi.common.constant.Constant + * params.put(Constant.PAGE, "1"); + * params.put(Constant.LIMIT, "10"); + * params.put(Constant.ORDER_FIELD, "field"); // 单个字段 + * params.put(Constant.ORDER_FIELD, List.of("field1", "field2")); // 多个字段 + * params.put(Constant.ORDER, "asc"); */ protected IPage getPage(Map params, String defaultOrderField, boolean isAsc) { // 分页参数 @@ -66,81 +72,34 @@ public abstract class BaseServiceImpl, T> implements Bas // 分页参数 params.put(Constant.PAGE, page); - // 排序字段 - String orderField = (String) params.get(Constant.ORDER_FIELD); - String order = (String) params.get(Constant.ORDER); - - // 前端字段排序 - if (StringUtils.isNotBlank(orderField) && StringUtils.isNotBlank(order)) { - if (Constant.ASC.equalsIgnoreCase(order)) { - return page.addOrder(OrderItem.asc(orderField)); - } else { - return page.addOrder(OrderItem.desc(orderField)); - } - } - - // 没有排序字段,则不排序 - if (StringUtils.isBlank(defaultOrderField)) { - return page; - } - - // 默认排序 - if (isAsc) { - page.addOrder(OrderItem.asc(defaultOrderField)); - } else { - page.addOrder(OrderItem.desc(defaultOrderField)); - } - - return page; - } - - /** - * 获取分页对象 - * @see xiaozhi.common.constant.Constant - * params.put(Constant.PAGE, "1"); - * params.put(Constant.LIMIT, "10"); - * params.put(Constant.ORDER_FIELD, List.of("model_type", "sort")); - * params.put(Constant.ORDER, "asc"); - * - * @param params 分页查询参数 - */ - protected IPage getPage(Map params) { - // 分页参数 - long curPage = 1; - long limit = 10; - - if (params.get(Constant.PAGE) != null) { - curPage = Long.parseLong((String) params.get(Constant.PAGE)); - } - - if (params.get(Constant.LIMIT) != null) { - limit = Long.parseLong((String) params.get(Constant.LIMIT)); - } - - // 分页对象 - Page page = new Page<>(curPage, limit); - - // 分页参数 - params.put(Constant.PAGE, page); - // 排序字段 Object orderField = params.get(Constant.ORDER_FIELD); + String order = (String) params.get(Constant.ORDER); List orderFields = new ArrayList<>(); + // 处理排序字段 if (orderField instanceof String) { orderFields.add((String) orderField); } else if (orderField instanceof List) { - orderFields.addAll( (List) orderField); + orderFields.addAll((List) orderField); } - String order = (String) params.get(Constant.ORDER); - // 有排序字段则排序,默认降序 + // 有排序字段则排序 if (CollectionUtils.isNotEmpty(orderFields)) { if (StringUtils.isNotBlank(order) && Constant.ASC.equalsIgnoreCase(order)) { - return page.addOrder(OrderItem.ascs(orderFields.toArray(new String[orderFields.size()]))); + return page.addOrder(OrderItem.ascs(orderFields.toArray(new String[0]))); } else { - return page.addOrder(OrderItem.descs(orderFields.toArray(new String[orderFields.size()]))); + return page.addOrder(OrderItem.descs(orderFields.toArray(new String[0]))); + } + } + + // 没有排序字段,使用默认排序 + if (StringUtils.isNotBlank(defaultOrderField)) { + if (isAsc) { + page.addOrder(OrderItem.asc(defaultOrderField)); + } else { + page.addOrder(OrderItem.desc(defaultOrderField)); } } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/controller/ModelProviderController.java b/main/manager-api/src/main/java/xiaozhi/modules/model/controller/ModelProviderController.java index 64e14cb3..fc534a0a 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/controller/ModelProviderController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/controller/ModelProviderController.java @@ -16,9 +16,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; -import xiaozhi.common.annotation.UpdateGroup; import xiaozhi.common.page.PageData; import xiaozhi.common.utils.Result; +import xiaozhi.common.validator.group.UpdateGroup; import xiaozhi.modules.model.dto.ModelProviderDTO; import xiaozhi.modules.model.service.ModelProviderService; @@ -34,8 +34,8 @@ public class ModelProviderController { @Operation(summary = "获取模型供应器列表") @RequiresPermissions("sys:role:superAdmin") public Result> getListPage(ModelProviderDTO modelProviderDTO, - @RequestParam(required = true, defaultValue = "0") String page, - @RequestParam(required = true, defaultValue = "10") String limit) { + @RequestParam(required = true, defaultValue = "0") String page, + @RequestParam(required = true, defaultValue = "10") String limit) { return new Result>() .ok(modelProviderService.getListPage(modelProviderDTO, page, limit)); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/dto/ModelProviderDTO.java b/main/manager-api/src/main/java/xiaozhi/modules/model/dto/ModelProviderDTO.java index 26df9a01..317820d5 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/dto/ModelProviderDTO.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/dto/ModelProviderDTO.java @@ -11,7 +11,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; -import xiaozhi.common.annotation.UpdateGroup; +import xiaozhi.common.validator.group.UpdateGroup; @Data @Schema(description = "模型供应器/商") diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelProviderServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelProviderServiceImpl.java index e7899672..ffeec288 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelProviderServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelProviderServiceImpl.java @@ -50,7 +50,7 @@ public class ModelProviderServiceImpl extends BaseServiceImpl pageParam = getPage(params); + IPage pageParam = getPage(params, null, true); QueryWrapper wrapper = new QueryWrapper(); diff --git a/main/manager-web/src/apis/module/model.js b/main/manager-web/src/apis/module/model.js index e64072a8..08615693 100644 --- a/main/manager-web/src/apis/module/model.js +++ b/main/manager-web/src/apis/module/model.js @@ -215,15 +215,12 @@ export default { RequestService.sendRequest() .url(`${getServiceUrl()}/models/provider?${queryParams.toString()}`) .method('GET') - // 如果需要额外设置 header,可以在这里添加 - // .headers({ 'X-Custom-Header': 'xxx' }) .success((res) => { RequestService.clearRequestTime(); callback(res); }) .fail((err) => { - console.error('获取供应器列表失败:', err); - this.$message.error('获取供应器列表失败'); + this.$message.error(err.msg || '获取供应器列表失败'); RequestService.reAjaxFun(() => { this.getModelProviders(params, callback); }); @@ -249,17 +246,15 @@ export default { .method('POST') .data(postData) .success((res) => { - console.log('新增模型供应器成功:', res); RequestService.clearRequestTime(); - // this.$message.success('新增模型供应器成功'); callback(res); }) .fail((err) => { - console.error('新增模型供应器失败:', err); - // this.$message.error(err.msg || '新增模型供应器失败'); - // RequestService.reAjaxFun(() => { - // this.addModelProvider(params, callback); - // }); + console.error('新增模型供应器失败:', err) + this.$message.error(err.msg || '新增模型供应器失败') + RequestService.reAjaxFun(() => { + this.addModelProvider(params, callback); + }); }).send(); }, @@ -287,7 +282,7 @@ export default { callback(res); }) .fail((err) => { - console.error('更新模型供应器失败:', err); + this.$message.error(err.msg || '更新模型供应器失败') RequestService.reAjaxFun(() => { this.updateModelProvider(params, callback); }); @@ -304,9 +299,9 @@ export default { callback(res); }) .fail((err) => { - console.error('删除参数失败:', err) + this.$message.error(err.msg || '删除模型供应器失败') RequestService.reAjaxFun(() => { - this.deleteParam(ids, callback) + this.deleteModelProviderByIds(ids, callback) }) }).send() }, diff --git a/main/manager-web/src/components/ProviderDialog.vue b/main/manager-web/src/components/ProviderDialog.vue index 72437450..7fd1fcf8 100644 --- a/main/manager-web/src/components/ProviderDialog.vue +++ b/main/manager-web/src/components/ProviderDialog.vue @@ -1,5 +1,6 @@