diff --git a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java index 7549aec0..6c18445c 100644 --- a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java +++ b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java @@ -2,9 +2,7 @@ package com.yxt.supervise.dbcenter.zhj.crawl; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONUtil; -import com.yxt.supervise.dbcenter.zhj.crawl.spider.RespSalesAmount; -import com.yxt.supervise.dbcenter.zhj.crawl.spider.ZhjResp; -import com.yxt.supervise.dbcenter.zhj.crawl.spider.ZhjRespDataValueValues; +import com.yxt.supervise.dbcenter.zhj.crawl.spider.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,6 +16,11 @@ public class ZhjSpider { private static final Logger L = LoggerFactory.getLogger(ZhjSpider.class); private static String url = "https://bi.aliyuncs.com/api/v2/biPlatform/query/byQueryParam"; + private static String reportId = "85c4af04-1910-4005-8e47-742af1acb713"; + private static String olapQueryParam_salesAmount = "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"31ce439f-747c-45d0-8f35-51fe9daea91e\",\"fid\":\"5805bc15e1\",\"areaType\":\"row\"},{\"guid\":\"6e8c6afd-038a-4644-85c1-ffb813dc8614\",\"fid\":\"fa1b7a0d21\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\"},{\"type\":\"paging\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"3fd928d207\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"POS点餐\"},{\"valueType\":\"string\",\"value\":\"会员充值\"},{\"valueType\":\"string\",\"value\":\"扫码点餐\"},{\"valueType\":\"string\",\"value\":\"美团外卖点餐\"},{\"valueType\":\"string\",\"value\":\"饿了么外卖点餐\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; + private static String olapQueryParam_salesDishes = "{\"componentId\":\"8d8a8363-89d8-4bec-9a58-c7c13ae63f15\",\"componentName\":\"菜品销量\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"f8e0f500-ffc6-4821-9190-5cd3b3c906e9\",\"fid\":\"19a1d100cc\",\"areaType\":\"row\"},{\"guid\":\"1c13f425-828d-48ad-8549-de85dd3c259e\",\"fid\":\"2083fd4437\",\"areaType\":\"row\"},{\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"fid\":\"0e325d5eed\",\"areaType\":\"column\",\"granularity\":null,\"aggregate\":\"sum\"},{\"guid\":\"a4cfd195-dfd3-4947-a024-076ca806793f\",\"fid\":\"b9d5c6b646\",\"areaType\":\"column\",\"aggregate\":\"avg\"}]},\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\"},{\"type\":\"paging\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"1ca1ab13fe\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"熟溢香\"}]},{\"field\":{\"fid\":\"1ca1ab13fe\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"熟溢香\"}]},{\"field\":{\"fid\":\"e3aec87664\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"V_STORE_NAME\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"pivot\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; + private static String olapQueryParam_purchase = "{\"componentId\":\"1cdfd850-7d65-48ca-b71d-03c9e1b979ac\",\"componentName\":\"熟溢香馍馍卤采购明细表\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"899dd166-55f9-4ada-9f32-856f86cab0ce\",\"fid\":\"5f2e64d20f\",\"areaType\":\"column\"},{\"guid\":\"bf3d46dd-3759-49a2-a035-424023202ce8\",\"fid\":\"6dd7171857\",\"areaType\":\"column\",\"dateTrunc\":\"day\"},{\"guid\":\"82f79e88-5328-40f6-9ea8-9a5a91c389cd\",\"fid\":\"22b739da7f\",\"areaType\":\"column\"},{\"guid\":\"f563a6d0-6604-4b12-915a-94421dca00d6\",\"fid\":\"c6139dca5d\",\"areaType\":\"column\"},{\"guid\":\"17c3dfb5-a9b5-4d16-965b-36ce7ab704c9\",\"fid\":\"dde06772b7\",\"areaType\":\"column\"},{\"guid\":\"26c3dcd5-3e1e-46cd-8a0a-7af9c0871efa\",\"fid\":\"118f5bd47e\",\"areaType\":\"column\"},{\"guid\":\"665a4b3d-30d0-42bd-a4c6-7096bb252e4e\",\"fid\":\"a112247f18\",\"areaType\":\"column\"}]},\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\"},{\"type\":\"paging\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"5f2e64d20f\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"熟溢香振头店\"},{\"valueType\":\"string\",\"value\":\"馍馍卤振岗店\"},{\"valueType\":\"string\",\"value\":\"馍馍卤雅清街店\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]},{\"field\":{\"fid\":\"e8201f16d9\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"熟溢香\"}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":true}},{\"type\":\"advancedParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; + public static void maintest(String[] args) { // olapQueryParam: {"componentId":"52dece2d-ba6d-452e-8497-f94baff096c4","componentName":"指标看板-熟溢香支付方式_knief","configs":[{"type":"field","config":{"fields":[{"guid":"31ce439f-747c-45d0-8f35-51fe9daea91e","fid":"5805bc15e1","areaType":"row"},{"guid":"6e8c6afd-038a-4644-85c1-ffb813dc8614","fid":"fa1b7a0d21","areaType":"column","aggregate":"sum"}]},"cubeId":"90bb4e6c-c315-465b-9c3b-74a22a0d84e6"},{"type":"paging","cubeId":"90bb4e6c-c315-465b-9c3b-74a22a0d84e6","config":{"limit":1000,"offset":0,"pagedByAllDim":true}},{"type":"beforeAggregateCondition","cubeId":"90bb4e6c-c315-465b-9c3b-74a22a0d84e6","config":{"logicalOperator":"AND","conditions":[{"field":{"fid":"3fd928d207"},"functionalOperator":"in","args":[{"valueType":"string","value":"POS点餐"},{"valueType":"string","value":"会员充值"},{"valueType":"string","value":"扫码点餐"},{"valueType":"string","value":"美团外卖点餐"},{"valueType":"string","value":"饿了么外卖点餐"}]},{"logicalOperator":"AND","conditions":[{"field":{"fid":"15784307a1","dateTrunc":"day"},"functionalOperator":"greaterThanOrEqual","args":[{"valueType":"string","value":"20230506"}]},{"field":{"fid":"15784307a1","dateTrunc":"day"},"functionalOperator":"lessThanOrEqual","args":[{"valueType":"string","value":"20230506"}]}]}]}},{"type":"queryConfig","cubeId":"90bb4e6c-c315-465b-9c3b-74a22a0d84e6","config":{"needCount":false,"queryCount":false,"queryDetail":false}},{"type":"advancedParam","cubeId":"90bb4e6c-c315-465b-9c3b-74a22a0d84e6","config":{"autoInsightParam":{"enable":false},"wordCloudParam":{},"summarizeParams":[],"trendLineParams":[],"forecastParams":[],"anomalyDetectionParams":[],"clusteringParams":[],"groupParam":null}},{"type":"annotationParam","cubeId":"90bb4e6c-c315-465b-9c3b-74a22a0d84e6","config":{"measureThresholdParams":[],"inflectionPointParams":[]}}],"dataType":"general","reportId":"85c4af04-1910-4005-8e47-742af1acb713"} @@ -43,11 +46,6 @@ public class ZhjSpider { System.out.println(result2); } - public static void main(String[] args) { - List s = ZhjSpider.crawlSalesAmount("20230508"); - System.out.println(s); - } - public static String crawlSalesAmountt() { Map paramMap = new HashMap<>(); paramMap.put("olapQueryParam", "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"31ce439f-747c-45d0-8f35-51fe9daea91e\",\"fid\":\"5805bc15e1\",\"areaType\":\"row\"},{\"guid\":\"6e8c6afd-038a-4644-85c1-ffb813dc8614\",\"fid\":\"fa1b7a0d21\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\"},{\"type\":\"paging\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"3fd928d207\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"POS点餐\"},{\"valueType\":\"string\",\"value\":\"会员充值\"},{\"valueType\":\"string\",\"value\":\"扫码点餐\"},{\"valueType\":\"string\",\"value\":\"美团外卖点餐\"},{\"valueType\":\"string\",\"value\":\"饿了么外卖点餐\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"20230506\"}]},{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"20230506\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"); @@ -65,10 +63,12 @@ public class ZhjSpider { return result; } - private static String reportId = "85c4af04-1910-4005-8e47-742af1acb713"; - private static String olapQueryParam_salesAmount = "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"31ce439f-747c-45d0-8f35-51fe9daea91e\",\"fid\":\"5805bc15e1\",\"areaType\":\"row\"},{\"guid\":\"6e8c6afd-038a-4644-85c1-ffb813dc8614\",\"fid\":\"fa1b7a0d21\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\"},{\"type\":\"paging\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"3fd928d207\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"POS点餐\"},{\"valueType\":\"string\",\"value\":\"会员充值\"},{\"valueType\":\"string\",\"value\":\"扫码点餐\"},{\"valueType\":\"string\",\"value\":\"美团外卖点餐\"},{\"valueType\":\"string\",\"value\":\"饿了么外卖点餐\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; - private static String olapQueryParam_salesDishes = "{\"componentId\":\"8d8a8363-89d8-4bec-9a58-c7c13ae63f15\",\"componentName\":\"菜品销量\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"f8e0f500-ffc6-4821-9190-5cd3b3c906e9\",\"fid\":\"19a1d100cc\",\"areaType\":\"row\"},{\"guid\":\"1c13f425-828d-48ad-8549-de85dd3c259e\",\"fid\":\"2083fd4437\",\"areaType\":\"row\"},{\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"fid\":\"0e325d5eed\",\"areaType\":\"column\",\"granularity\":null,\"aggregate\":\"sum\"},{\"guid\":\"a4cfd195-dfd3-4947-a024-076ca806793f\",\"fid\":\"b9d5c6b646\",\"areaType\":\"column\",\"aggregate\":\"avg\"}]},\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\"},{\"type\":\"paging\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"limit\":20,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"1ca1ab13fe\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"熟溢香\"}]},{\"field\":{\"fid\":\"1ca1ab13fe\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"熟溢香\"}]},{\"field\":{\"fid\":\"e3aec87664\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"V_STORE_NAME\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"pivot\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; - private static String olapQueryParam_purchase = "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"31ce439f-747c-45d0-8f35-51fe9daea91e\",\"fid\":\"5805bc15e1\",\"areaType\":\"row\"},{\"guid\":\"6e8c6afd-038a-4644-85c1-ffb813dc8614\",\"fid\":\"fa1b7a0d21\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\"},{\"type\":\"paging\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"3fd928d207\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"POS点餐\"},{\"valueType\":\"string\",\"value\":\"会员充值\"},{\"valueType\":\"string\",\"value\":\"扫码点餐\"},{\"valueType\":\"string\",\"value\":\"美团外卖点餐\"},{\"valueType\":\"string\",\"value\":\"饿了么外卖点餐\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; + public static void main(String[] args) { +// List s = ZhjSpider.crawlSalesAmount("20230508"); +// List s = ZhjSpider.crawlSalesDishes("20230509", "熟溢香振头店"); + List s = ZhjSpider.crawlPurchase("20230508"); + System.out.println(s); + } /** * 抓取一、营业指标,实收金额数据 @@ -105,10 +105,10 @@ public class ZhjSpider { * @param storeName * @return */ - public static String crawlSalesDishes(String dateStr,String storeName) { - String olapQueryParam = olapQueryParam_salesAmount + public static List crawlSalesDishes(String dateStr, String storeName) { + String olapQueryParam = olapQueryParam_salesDishes .replace("VAR_DATE_STR", dateStr) - .replace("V_STORE_NAME",storeName); + .replace("V_STORE_NAME", storeName); String componentId = "8d8a8363-89d8-4bec-9a58-c7c13ae63f15"; Map paramMap = new HashMap<>(); paramMap.put("olapQueryParam", olapQueryParam); @@ -118,15 +118,56 @@ public class ZhjSpider { ZhjResp resp = dopost(paramMap); -// List> values = resp.getData().getValue().getValues(); -// List list = new ArrayList<>(); -// for (List vlist : values) { -// ZhjRespDataValueValues v0 = vlist.get(0); -// ZhjRespDataValueValues v1 = vlist.get(1); -// RespSalesAmount obj = new RespSalesAmount(v0.getV(), v1.getV()); -// list.add(obj); -// } - return resp.toString(); + List rows = resp.getData().getValue().getRows(); + List> values = resp.getData().getValue().getValues(); + List list = new ArrayList<>(); + int size = rows.size(); + for (int i = 0; i < size; i++) { + String value0 = rows.get(i).getCells().get(0).getValue(); + String value1 = rows.get(i).getCells().get(1).getValue(); + ZhjRespDataValueValues v0 = values.get(i).get(0); + ZhjRespDataValueValues v1 = values.get(i).get(1); + RespSalesDishes obj = new RespSalesDishes(); + obj.setDishesName(value0); + obj.setUnit(value1); + obj.setSalesCount(v0.getV()); + obj.setSalesPrice(v1.getV()); + list.add(obj); + } + return list; + } + + /** + * 抓取四、采购 数据 + * + * @param dateStr 抓取数据日期(yyyyMMdd) + * @return 门店,采购信息列表 + */ + public static List crawlPurchase(String dateStr) { + String olapQueryParam = olapQueryParam_purchase.replace("VAR_DATE_STR", dateStr); + String componentId = "1cdfd850-7d65-48ca-b71d-03c9e1b979ac"; + Map paramMap = new HashMap<>(); + paramMap.put("olapQueryParam", olapQueryParam); + paramMap.put("componentId", componentId); + paramMap.put("reportId", reportId); + paramMap.put("componentType", "73"); + + ZhjResp resp = dopost(paramMap); + + List> values = resp.getData().getValue().getValues(); + List list = new ArrayList<>(); + for (List vlist : values) { + RespPurchase obj = new RespPurchase(); + obj.setStoreName(vlist.get(0).getV()); + obj.setPurchaseDate(vlist.get(1).getV()); + obj.setMaterialName(vlist.get(2).getV()); + obj.setUnit(vlist.get(3).getV()); + obj.setPurchaseCount(vlist.get(4).getV()); + obj.setTaxPrice(vlist.get(5).getV()); + obj.setPurchaseAmount(vlist.get(6).getV()); + list.add(obj); + } + return list; } public static ZhjResp dopost(Map paramMap) { diff --git a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespPurchase.java b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespPurchase.java new file mode 100644 index 00000000..4ccb2f11 --- /dev/null +++ b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespPurchase.java @@ -0,0 +1,70 @@ +package com.yxt.supervise.dbcenter.zhj.crawl.spider; + +import io.swagger.annotations.ApiModelProperty; + +public class RespPurchase { + + private String storeName;//门店名称 + private String purchaseDate;//采购日期 + private String materialName;//物料名称 + private String unit;//规格单位 + private String purchaseCount;//采购数量 + private String taxPrice; //含税单价 + private String purchaseAmount; //采购金额 + + public String getStoreName() { + return storeName; + } + + public void setStoreName(String storeName) { + this.storeName = storeName; + } + + public String getPurchaseDate() { + return purchaseDate; + } + + public void setPurchaseDate(String purchaseDate) { + this.purchaseDate = purchaseDate; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getPurchaseCount() { + return purchaseCount; + } + + public void setPurchaseCount(String purchaseCount) { + this.purchaseCount = purchaseCount; + } + + public String getTaxPrice() { + return taxPrice; + } + + public void setTaxPrice(String taxPrice) { + this.taxPrice = taxPrice; + } + + public String getPurchaseAmount() { + return purchaseAmount; + } + + public void setPurchaseAmount(String purchaseAmount) { + this.purchaseAmount = purchaseAmount; + } +} diff --git a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesAmount.java b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesAmount.java index 69162d6c..60d0665d 100644 --- a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesAmount.java +++ b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesAmount.java @@ -5,13 +5,13 @@ public class RespSalesAmount { public RespSalesAmount() { } - public RespSalesAmount(String storeName, String amountString) { + public RespSalesAmount(String storeName, String salesAmount) { this.storeName = storeName; - this.amountString = amountString; + this.salesAmount = salesAmount; } private String storeName; - private String amountString; + private String salesAmount; public String getStoreName() { return storeName; @@ -21,11 +21,11 @@ public class RespSalesAmount { this.storeName = storeName; } - public String getAmountString() { - return amountString; + public String getSalesAmount() { + return salesAmount; } - public void setAmountString(String amountString) { - this.amountString = amountString; + public void setSalesAmount(String salesAmount) { + this.salesAmount = salesAmount; } } diff --git a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesDishes.java b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesDishes.java new file mode 100644 index 00000000..5f6d213e --- /dev/null +++ b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesDishes.java @@ -0,0 +1,43 @@ +package com.yxt.supervise.dbcenter.zhj.crawl.spider; + +import io.swagger.annotations.ApiModelProperty; + +public class RespSalesDishes { + + private String dishesName; + private String unit; + private String salesCount; + private String salesPrice; + + public String getDishesName() { + return dishesName; + } + + public void setDishesName(String dishesName) { + this.dishesName = dishesName; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getSalesCount() { + return salesCount; + } + + public void setSalesCount(String salesCount) { + this.salesCount = salesCount; + } + + public String getSalesPrice() { + return salesPrice; + } + + public void setSalesPrice(String salesPrice) { + this.salesPrice = salesPrice; + } +} diff --git a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValuePage.java b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValuePage.java new file mode 100644 index 00000000..bbce3206 --- /dev/null +++ b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValuePage.java @@ -0,0 +1,58 @@ +package com.yxt.supervise.dbcenter.zhj.crawl.spider; + +public class ZhjRespDataValuePage { + private Long limit; // 20, + private Long offset; // 0, + private Long count; // 129, + private boolean pagedByAllDim; // true, + private Long realLimit; // null, + private Long realOffset; // null + + public Long getLimit() { + return limit; + } + + public void setLimit(Long limit) { + this.limit = limit; + } + + public Long getOffset() { + return offset; + } + + public void setOffset(Long offset) { + this.offset = offset; + } + + public Long getCount() { + return count; + } + + public void setCount(Long count) { + this.count = count; + } + + public boolean isPagedByAllDim() { + return pagedByAllDim; + } + + public void setPagedByAllDim(boolean pagedByAllDim) { + this.pagedByAllDim = pagedByAllDim; + } + + public Long getRealLimit() { + return realLimit; + } + + public void setRealLimit(Long realLimit) { + this.realLimit = realLimit; + } + + public Long getRealOffset() { + return realOffset; + } + + public void setRealOffset(Long realOffset) { + this.realOffset = realOffset; + } +} diff --git a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueValues.java b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueValues.java index 21fc72a5..b7b81a94 100644 --- a/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueValues.java +++ b/yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueValues.java @@ -2,6 +2,7 @@ package com.yxt.supervise.dbcenter.zhj.crawl.spider; public class ZhjRespDataValueValues { private String v; + private String dimGranularity; public String getV() { return v; @@ -10,4 +11,12 @@ public class ZhjRespDataValueValues { public void setV(String v) { this.v = v; } + + public String getDimGranularity() { + return dimGranularity; + } + + public void setDimGranularity(String dimGranularity) { + this.dimGranularity = dimGranularity; + } }