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; + +}