From fd0e546ca5218928337f7e8bf75c3809c0796822 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Fri, 17 Nov 2023 16:12:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E6=A8=A1?= =?UTF-8?q?=E7=89=88=E6=A0=B7=E5=BC=8F=E5=BA=94=E7=94=A8=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/manage/SysParameterManage.java | 2 +- .../template/manage/TemplateMarketManage.java | 17 +- .../service/TemplateMarketService.java | 31 ++ core/core-frontend/src/api/templateMarket.ts | 13 + .../src/api/templateMarket/index.js | 14 - .../component/MarketPreview.vue | 483 ++++++++++++++++++ .../component/TemplateMarketItem.vue | 122 +++++ .../component/TemplateMarketPreviewItem.vue | 105 ++++ .../src/views/template-market/market.vue | 414 +++++++++++++++ .../api/template/TemplateMarketApi.java | 4 +- .../template/response/MarketBaseResponse.java | 2 + .../response/MarketCategoryBaseResponse.java | 16 + .../response/MarketTemplateBaseResponse.java | 17 + .../response/MarketTemplateInnerResult.java | 17 + 14 files changed, 1232 insertions(+), 25 deletions(-) create mode 100644 core/core-backend/src/main/java/io/dataease/template/service/TemplateMarketService.java create mode 100644 core/core-frontend/src/api/templateMarket.ts delete mode 100644 core/core-frontend/src/api/templateMarket/index.js create mode 100644 core/core-frontend/src/views/template-market/component/MarketPreview.vue create mode 100644 core/core-frontend/src/views/template-market/component/TemplateMarketItem.vue create mode 100644 core/core-frontend/src/views/template-market/component/TemplateMarketPreviewItem.vue create mode 100644 core/core-frontend/src/views/template-market/market.vue create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketCategoryBaseResponse.java create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketTemplateBaseResponse.java create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketTemplateInnerResult.java diff --git a/core/core-backend/src/main/java/io/dataease/system/manage/SysParameterManage.java b/core/core-backend/src/main/java/io/dataease/system/manage/SysParameterManage.java index 48bbbada2f..29198b5241 100644 --- a/core/core-backend/src/main/java/io/dataease/system/manage/SysParameterManage.java +++ b/core/core-backend/src/main/java/io/dataease/system/manage/SysParameterManage.java @@ -64,7 +64,7 @@ public class SysParameterManage { public Map groupVal(String groupKey) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.likeLeft("pkey", groupKey); + queryWrapper.like("pkey", groupKey); List sysSettings = coreSysSettingMapper.selectList(queryWrapper); if (!CollectionUtils.isEmpty(sysSettings)) { return sysSettings.stream().collect(Collectors.toMap(CoreSysSetting::getPkey, CoreSysSetting::getPval)); diff --git a/core/core-backend/src/main/java/io/dataease/template/manage/TemplateMarketManage.java b/core/core-backend/src/main/java/io/dataease/template/manage/TemplateMarketManage.java index e780399556..fbfbd4b7c4 100644 --- a/core/core-backend/src/main/java/io/dataease/template/manage/TemplateMarketManage.java +++ b/core/core-backend/src/main/java/io/dataease/template/manage/TemplateMarketManage.java @@ -5,12 +5,15 @@ import io.dataease.api.template.dto.TemplateManageFileDTO; import io.dataease.api.template.dto.TemplateMarketDTO; import io.dataease.api.template.request.TemplateMarketSearchRequest; import io.dataease.api.template.response.MarketBaseResponse; +import io.dataease.api.template.response.MarketCategoryBaseResponse; +import io.dataease.api.template.response.MarketTemplateBaseResponse; import io.dataease.api.template.vo.TemplateCategoryVO; import io.dataease.exception.DEException; import io.dataease.system.manage.SysParameterManage; import io.dataease.utils.HttpClientConfig; import io.dataease.utils.HttpClientUtil; import io.dataease.utils.JsonUtil; +import io.swagger.v3.core.util.Json; import jakarta.annotation.Resource; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -57,14 +60,13 @@ public class TemplateMarketManage { return HttpClientUtil.get(url, config); } - public MarketBaseResponse searchTemplate(TemplateMarketSearchRequest request) { + public MarketBaseResponse searchTemplate() { try { Map templateParams = sysParameterManage.groupVal("template."); String result = marketGet(templateParams.get("template.url") + POSTS_API, templateParams.get("template.accessKey")); - TypeReference> market = new TypeReference<>() { - }; - List postsResult = JsonUtil.parseList(result,market); - return new MarketBaseResponse(templateParams.get("template.url"), postsResult); + MarketTemplateBaseResponse postsResult = JsonUtil.parseObject(result, MarketTemplateBaseResponse.class); + MarketBaseResponse response = new MarketBaseResponse(templateParams.get("template.url"), postsResult.getData().getContent()); + return response; } catch (Exception e) { DEException.throwException(e); } @@ -74,9 +76,8 @@ public class TemplateMarketManage { public List getCategories() { Map templateParams = sysParameterManage.groupVal("template."); String resultStr = marketGet(templateParams.get("template.url") + CATEGORIES_API, templateParams.get("template.accessKey")); - TypeReference> market = new TypeReference<>() { - }; - List categories = JsonUtil.parseList(resultStr,market); + MarketCategoryBaseResponse categoryBaseResponse = JsonUtil.parseObject(resultStr, MarketCategoryBaseResponse.class); + List categories = categoryBaseResponse.getData(); if (CollectionUtils.isNotEmpty(categories)) { return categories.stream().filter(item -> !"应用系列".equals(item.getName())).sorted(Comparator.comparing(TemplateCategoryVO::getPriority)).map(TemplateCategoryVO::getName).collect(Collectors.toList()); } else { diff --git a/core/core-backend/src/main/java/io/dataease/template/service/TemplateMarketService.java b/core/core-backend/src/main/java/io/dataease/template/service/TemplateMarketService.java new file mode 100644 index 0000000000..f390346e04 --- /dev/null +++ b/core/core-backend/src/main/java/io/dataease/template/service/TemplateMarketService.java @@ -0,0 +1,31 @@ +package io.dataease.template.service; + +import io.dataease.api.template.TemplateMarketApi; +import io.dataease.api.template.response.MarketBaseResponse; +import io.dataease.template.manage.TemplateMarketManage; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author : WangJiaHao + * @date : 2023/11/17 13:20 + */ +@RestController +@RequestMapping("/templateMarket") +public class TemplateMarketService implements TemplateMarketApi { + + @Resource + private TemplateMarketManage templateMarketManage; + @Override + public MarketBaseResponse searchTemplate() { + return templateMarketManage.searchTemplate(); + } + + @Override + public List categories() { + return templateMarketManage.getCategories(); + } +} diff --git a/core/core-frontend/src/api/templateMarket.ts b/core/core-frontend/src/api/templateMarket.ts new file mode 100644 index 0000000000..d68173a385 --- /dev/null +++ b/core/core-frontend/src/api/templateMarket.ts @@ -0,0 +1,13 @@ +import request from '@/config/axios' + +export function searchMarket() { + return request.get({ + url: '/templateMarket/search' + }) +} + +export function getCategories() { + return request.get({ + url: '/templateMarket/categories' + }) +} diff --git a/core/core-frontend/src/api/templateMarket/index.js b/core/core-frontend/src/api/templateMarket/index.js deleted file mode 100644 index 81d500c4fb..0000000000 --- a/core/core-frontend/src/api/templateMarket/index.js +++ /dev/null @@ -1,14 +0,0 @@ -import request from '@/config/axios' - -export function searchMarket(data) { - return request.post({ - url: '/template/market/search', - data - }) -} - -export function getCategories() { - return request.post({ - url: '/template/market/categories' - }) -} diff --git a/core/core-frontend/src/views/template-market/component/MarketPreview.vue b/core/core-frontend/src/views/template-market/component/MarketPreview.vue new file mode 100644 index 0000000000..146d4b04a6 --- /dev/null +++ b/core/core-frontend/src/views/template-market/component/MarketPreview.vue @@ -0,0 +1,483 @@ + + + + + diff --git a/core/core-frontend/src/views/template-market/component/TemplateMarketItem.vue b/core/core-frontend/src/views/template-market/component/TemplateMarketItem.vue new file mode 100644 index 0000000000..32c2072705 --- /dev/null +++ b/core/core-frontend/src/views/template-market/component/TemplateMarketItem.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/core/core-frontend/src/views/template-market/component/TemplateMarketPreviewItem.vue b/core/core-frontend/src/views/template-market/component/TemplateMarketPreviewItem.vue new file mode 100644 index 0000000000..9d6d83ae1e --- /dev/null +++ b/core/core-frontend/src/views/template-market/component/TemplateMarketPreviewItem.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/core/core-frontend/src/views/template-market/market.vue b/core/core-frontend/src/views/template-market/market.vue new file mode 100644 index 0000000000..6809c4cd9e --- /dev/null +++ b/core/core-frontend/src/views/template-market/market.vue @@ -0,0 +1,414 @@ + + + + + diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/template/TemplateMarketApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/template/TemplateMarketApi.java index c1b0751175..867333cbf0 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/template/TemplateMarketApi.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/template/TemplateMarketApi.java @@ -14,8 +14,8 @@ import java.util.List; */ public interface TemplateMarketApi { - @PostMapping("/search") - MarketBaseResponse searchTemplate(@RequestBody TemplateMarketSearchRequest request); + @GetMapping("/search") + MarketBaseResponse searchTemplate(); @GetMapping("/categories") List categories(); diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketBaseResponse.java b/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketBaseResponse.java index 5a791e1116..449befa5c9 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketBaseResponse.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketBaseResponse.java @@ -1,6 +1,7 @@ package io.dataease.api.template.response; import io.dataease.api.template.dto.TemplateMarketDTO; +import lombok.Data; import java.util.List; @@ -8,6 +9,7 @@ import java.util.List; * @author : WangJiaHao * @date : 2023/11/6 17:43 */ +@Data public class MarketBaseResponse { private String baseUrl; diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketCategoryBaseResponse.java b/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketCategoryBaseResponse.java new file mode 100644 index 0000000000..a96bec7db8 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketCategoryBaseResponse.java @@ -0,0 +1,16 @@ +package io.dataease.api.template.response; + +import io.dataease.api.template.vo.TemplateCategoryVO; +import lombok.Data; + +import java.util.List; + +/** + * Author: wangjiahao + * Date: 2022/7/15 + * Description: + */ +@Data +public class MarketCategoryBaseResponse { + private List data; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketTemplateBaseResponse.java b/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketTemplateBaseResponse.java new file mode 100644 index 0000000000..79ffc7f099 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketTemplateBaseResponse.java @@ -0,0 +1,17 @@ +package io.dataease.api.template.response; + +import io.dataease.api.template.dto.TemplateMarketDTO; +import lombok.Data; + +import java.util.List; + +/** + * @author : WangJiaHao + * @date : 2023/11/17 13:41 + */ +@Data +public class MarketTemplateBaseResponse { + + private MarketTemplateInnerResult data; + +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketTemplateInnerResult.java b/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketTemplateInnerResult.java new file mode 100644 index 0000000000..6012a89ddb --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/template/response/MarketTemplateInnerResult.java @@ -0,0 +1,17 @@ +package io.dataease.api.template.response; + +import io.dataease.api.template.dto.TemplateMarketDTO; +import lombok.Data; + +import java.util.List; + +/** + * @author : WangJiaHao + * @date : 2023/11/17 13:41 + */ +@Data +public class MarketTemplateInnerResult { + + private List content; + +}