Browse Source

数据抓取

master
liupopo 2 years ago
parent
commit
dd1e911690
  1. 89
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java
  2. 70
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespPurchase.java
  3. 14
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesAmount.java
  4. 43
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/RespSalesDishes.java
  5. 58
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValuePage.java
  6. 9
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueValues.java

89
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<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) {

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

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

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

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

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

Loading…
Cancel
Save