liupopo 2 years ago
parent
commit
1c9a18bfc2
  1. 2
      yxt-supervise-cyf/yxt-supervise-cyf-ui/vue.config.js
  2. 43
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java
  3. 12
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValue.java
  4. 62
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueRows.java
  5. 77
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueRowsCells.java
  6. 40
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueRowsCellsProps.java

2
yxt-supervise-cyf/yxt-supervise-cyf-ui/vue.config.js

@ -24,7 +24,7 @@ module.exports = {
*在大多数情况下请使用/
*详细信息https://cli.vuejs.org/config/#publicpath
*/
publicPath: process.env.NODE_ENV === 'production' ? '/cyf/' : '/',
publicPath: '/', //process.env.NODE_ENV === 'production' ? '/cyf/' : '/',
outputDir: 'cyf-ui',
assetsDir: 'static',
lintOnSave: process.env.NODE_ENV === 'development',

43
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java

@ -44,7 +44,7 @@ public class ZhjSpider {
}
public static void main(String[] args) {
List<RespSalesAmount> s = ZhjSpider.crawlSalesAmount("20230506");
List<RespSalesAmount> s = ZhjSpider.crawlSalesAmount("20230508");
System.out.println(s);
}
@ -67,7 +67,15 @@ public class ZhjSpider {
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\"}";
/**
* 抓取一营业指标实收金额数据
*
* @param dateStr 抓取数据日期(yyyyMMdd)
* @return 门店实收金额列表
*/
public static List<RespSalesAmount> crawlSalesAmount(String dateStr) {
String olapQueryParam = olapQueryParam_salesAmount.replace("VAR_DATE_STR", dateStr);
String componentId = "52dece2d-ba6d-452e-8497-f94baff096c4";
@ -90,10 +98,41 @@ public class ZhjSpider {
return list;
}
/**
* 抓取三菜品销售菜品销量数据
*
* @param dateStr
* @param storeName
* @return
*/
public static String crawlSalesDishes(String dateStr,String storeName) {
String olapQueryParam = olapQueryParam_salesAmount
.replace("VAR_DATE_STR", dateStr)
.replace("V_STORE_NAME",storeName);
String componentId = "8d8a8363-89d8-4bec-9a58-c7c13ae63f15";
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("olapQueryParam", olapQueryParam);
paramMap.put("componentId", componentId);
paramMap.put("reportId", reportId);
paramMap.put("componentType", "70");
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();
}
public static ZhjResp dopost(Map<String, Object> paramMap) {
HttpRequest request = ZhjSpiderConfig.fillHeaders(HttpRequest.post(url));
String result = request.form(paramMap).execute().body();
L.debug("param:{},,,,result:{}", paramMap.toString(), result);
L.debug("param:{}######result:{}", paramMap.toString(), result);
ZhjResp bean = JSONUtil.toBean(result, ZhjResp.class);
return bean;
}

12
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValue.java

@ -5,18 +5,18 @@ import java.util.List;
public class ZhjRespDataValue {
private List<Object> rows = new ArrayList<>();
private List<ZhjRespDataValueRows> rows = new ArrayList<>();
private List<ZhjRespDataValueColumns> columns = new ArrayList<>();
private List<List<ZhjRespDataValueValues>> values=new ArrayList<>();
private String page;
private ZhjRespDataValuePage page;
private ZhjRespDataValueExtra extra;
public List<Object> getRows() {
public List<ZhjRespDataValueRows> getRows() {
return rows;
}
public void setRows(List<Object> rows) {
public void setRows(List<ZhjRespDataValueRows> rows) {
this.rows = rows;
}
@ -36,11 +36,11 @@ public class ZhjRespDataValue {
this.values = values;
}
public String getPage() {
public ZhjRespDataValuePage getPage() {
return page;
}
public void setPage(String page) {
public void setPage(ZhjRespDataValuePage page) {
this.page = page;
}

62
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueRows.java

@ -0,0 +1,62 @@
package com.yxt.supervise.dbcenter.zhj.crawl.spider;
import java.util.ArrayList;
import java.util.List;
public class ZhjRespDataValueRows {
private boolean total; // false,
private boolean subtotal; // false,
private String summaryType; // null,
private List<ZhjRespDataValueRowsCells> cells = new ArrayList<>(); // [
private String groupName; // null,
private String groups; // null
public boolean isTotal() {
return total;
}
public void setTotal(boolean total) {
this.total = total;
}
public boolean isSubtotal() {
return subtotal;
}
public void setSubtotal(boolean subtotal) {
this.subtotal = subtotal;
}
public String getSummaryType() {
return summaryType;
}
public void setSummaryType(String summaryType) {
this.summaryType = summaryType;
}
public List<ZhjRespDataValueRowsCells> getCells() {
return cells;
}
public void setCells(List<ZhjRespDataValueRowsCells> cells) {
this.cells = cells;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public String getGroups() {
return groups;
}
public void setGroups(String groups) {
this.groups = groups;
}
}

77
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueRowsCells.java

@ -0,0 +1,77 @@
package com.yxt.supervise.dbcenter.zhj.crawl.spider;
public class ZhjRespDataValueRowsCells {
private String value; // "(抖音)番茄鸡腿米线套餐",
private String raw; // null,
private String dataType; // "string",
private String id; // null,
private String parentId; // null,
private String hasChildren; // null,
private String ranking; // null,
private ZhjRespDataValueRowsCellsProps props; // {
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getRaw() {
return raw;
}
public void setRaw(String raw) {
this.raw = raw;
}
public String getDataType() {
return dataType;
}
public void setDataType(String dataType) {
this.dataType = dataType;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getHasChildren() {
return hasChildren;
}
public void setHasChildren(String hasChildren) {
this.hasChildren = hasChildren;
}
public String getRanking() {
return ranking;
}
public void setRanking(String ranking) {
this.ranking = ranking;
}
public ZhjRespDataValueRowsCellsProps getProps() {
return props;
}
public void setProps(ZhjRespDataValueRowsCellsProps props) {
this.props = props;
}
}

40
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/spider/ZhjRespDataValueRowsCellsProps.java

@ -0,0 +1,40 @@
package com.yxt.supervise.dbcenter.zhj.crawl.spider;
public class ZhjRespDataValueRowsCellsProps {
private String guid; // "f8e0f500-ffc6-4821-9190-5cd3b3c906e9",
private String hasPermission; // null,
private String dataMask; // null,
private String supportDrill; // null
public String getGuid() {
return guid;
}
public void setGuid(String guid) {
this.guid = guid;
}
public String getHasPermission() {
return hasPermission;
}
public void setHasPermission(String hasPermission) {
this.hasPermission = hasPermission;
}
public String getDataMask() {
return dataMask;
}
public void setDataMask(String dataMask) {
this.dataMask = dataMask;
}
public String getSupportDrill() {
return supportDrill;
}
public void setSupportDrill(String supportDrill) {
this.supportDrill = supportDrill;
}
}
Loading…
Cancel
Save