|
|
@ -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<RespSalesAmount> s = ZhjSpider.crawlSalesAmount("20230508"); |
|
|
|
System.out.println(s); |
|
|
|
} |
|
|
|
|
|
|
|
public static String crawlSalesAmountt() { |
|
|
|
Map<String, Object> 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<RespSalesAmount> s = ZhjSpider.crawlSalesAmount("20230508");
|
|
|
|
// List<RespSalesDishes> s = ZhjSpider.crawlSalesDishes("20230509", "熟溢香振头店");
|
|
|
|
List<RespPurchase> 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<RespSalesDishes> 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<String, Object> paramMap = new HashMap<>(); |
|
|
|
paramMap.put("olapQueryParam", olapQueryParam); |
|
|
@ -118,15 +118,56 @@ public class ZhjSpider { |
|
|
|
|
|
|
|
ZhjResp resp = dopost(paramMap); |
|
|
|
|
|
|
|
// List<List<ZhjRespDataValueValues>> values = resp.getData().getValue().getValues();
|
|
|
|
// List<RespSalesAmount> list = new ArrayList<>();
|
|
|
|
// for (List<ZhjRespDataValueValues> 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<ZhjRespDataValueRows> rows = resp.getData().getValue().getRows(); |
|
|
|
List<List<ZhjRespDataValueValues>> values = resp.getData().getValue().getValues(); |
|
|
|
List<RespSalesDishes> 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<RespPurchase> crawlPurchase(String dateStr) { |
|
|
|
String olapQueryParam = olapQueryParam_purchase.replace("VAR_DATE_STR", dateStr); |
|
|
|
String componentId = "1cdfd850-7d65-48ca-b71d-03c9e1b979ac"; |
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
paramMap.put("olapQueryParam", olapQueryParam); |
|
|
|
paramMap.put("componentId", componentId); |
|
|
|
paramMap.put("reportId", reportId); |
|
|
|
paramMap.put("componentType", "73"); |
|
|
|
|
|
|
|
ZhjResp resp = dopost(paramMap); |
|
|
|
|
|
|
|
List<List<ZhjRespDataValueValues>> values = resp.getData().getValue().getValues(); |
|
|
|
List<RespPurchase> list = new ArrayList<>(); |
|
|
|
for (List<ZhjRespDataValueValues> 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<String, Object> paramMap) { |
|
|
|