owl-cli 6.149.0 → 6.151.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +2 -2
- package/.vscode/launch.json +22 -22
- package/.vscode/settings.json +2 -2
- package/bin/createTables.js +94 -94
- package/bin/deploy.js +66 -66
- package/bin/dsl.js +223 -223
- package/bin/genEvents.js +188 -188
- package/bin/owl-init.js +50 -50
- package/bin/owl.js +305 -305
- package/bin/owlconfig.json +16 -16
- package/bin/table_mysql.js +189 -189
- package/bin/undeploy.js +56 -56
- package/defaultTemplate/api/build.xml +94 -94
- package/defaultTemplate/api/src/about.html +12 -12
- package/defaultTemplate/api/src/about.jsx +11 -11
- package/defaultTemplate/api/src/handlers/aggs.jsx +161 -161
- package/defaultTemplate/api/src/handlers/batchImport.jsx +78 -78
- package/defaultTemplate/api/src/handlers/delete.jsx +88 -88
- package/defaultTemplate/api/src/handlers/export.jsx +117 -117
- package/defaultTemplate/api/src/handlers/exportDoc.jsx +27 -27
- package/defaultTemplate/api/src/handlers/exportEx.jsx +77 -77
- package/defaultTemplate/api/src/handlers/exportWithTemplates.jsx +50 -50
- package/defaultTemplate/api/src/handlers/exportZip.jsx +26 -26
- package/defaultTemplate/api/src/handlers/get.jsx +50 -50
- package/defaultTemplate/api/src/handlers/getByIds.jsx +51 -51
- package/defaultTemplate/api/src/handlers/getChildren.jsx +96 -96
- package/defaultTemplate/api/src/handlers/getExportTaskInfo.jsx +34 -34
- package/defaultTemplate/api/src/handlers/getSpec.jsx +40 -40
- package/defaultTemplate/api/src/handlers/include/checklogin.jsx +787 -786
- package/defaultTemplate/api/src/handlers/include/diff.jsx +315 -315
- package/defaultTemplate/api/src/handlers/include/util.jsx +60 -60
- package/defaultTemplate/api/src/handlers/list.jsx +252 -252
- package/defaultTemplate/api/src/handlers/listEx.jsx +142 -136
- package/defaultTemplate/api/src/handlers/reIndex.jsx +63 -63
- package/defaultTemplate/api/src/handlers/recovery.jsx +53 -53
- package/defaultTemplate/api/src/handlers/save.jsx +125 -125
- package/defaultTemplate/api/src/handlers/upload.jsx +72 -72
- package/defaultTemplate/api/src/init/indexConfigs/changeMapping.json +14 -14
- package/defaultTemplate/api/src/init/indexConfigs/createAliase.json +10 -10
- package/defaultTemplate/api/src/init/indexConfigs/createIndex.json +55 -55
- package/defaultTemplate/api/src/init/indexConfigs/rebuildIndex.sh +27 -27
- package/defaultTemplate/api/src/init/indexConfigs/reindex.json +10 -10
- package/defaultTemplate/api/src/init/init.jsx +25 -25
- package/defaultTemplate/api/src/meta.json +10 -10
- package/defaultTemplate/api/src/services/dblayer.jsx +251 -251
- package/defaultTemplate/api/src/services/modelService.jsx +1239 -1239
- package/defaultTemplate/api/src/services/sqlstring.jsx +240 -240
- package/defaultTemplate/api/src/tasks/export.jsx +366 -366
- package/defaultTemplate/api/src/tasks/exportDoc.jsx +99 -99
- package/defaultTemplate/api/src/tasks/exportExTask.jsx +332 -332
- package/defaultTemplate/api/src/tasks/exportWithTemplateTask.jsx +128 -128
- package/defaultTemplate/api/src/tasks/exportZip.jsx +49 -49
- package/examples/buildProperties/build.properties +2 -2
- package/examples/gitignore/gitignore_example.txt +1 -1
- package/examples/models/product.json +52 -52
- package/examples/models/shop.json +71 -71
- package/examples/models/sku.json +254 -254
- package/examples/models/user.json +49 -49
- package/examples/owlconfig.json +13 -13
- package/package.json +33 -33
- package/todo.txt +4 -4
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
-
<project name="@projectCode" default="all" basedir=".">
|
|
3
|
-
<property environment="env"/>
|
|
4
|
-
<available file=".git" type="dir" property="git.present"/>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<property file="@buildProperties"></property>
|
|
9
|
-
<tstamp>
|
|
10
|
-
<format property="buildTime" pattern="yyyy-MM-dd hh:mm aa" offset="+8" unit="hour"/>
|
|
11
|
-
</tstamp>
|
|
12
|
-
|
|
13
|
-
<target name="build" depends="init,copy,doImport,closure,buildZip"></target>
|
|
14
|
-
<target name="build-debug" depends="init,copy,doImport,rename,buildZip"></target>
|
|
15
|
-
|
|
16
|
-
<target name="rename" depends="doImport">
|
|
17
|
-
|
|
18
|
-
</target>
|
|
19
|
-
|
|
20
|
-
<target name="closure" depends="doImport">
|
|
21
|
-
|
|
22
|
-
</target>
|
|
23
|
-
|
|
24
|
-
<target name="doImport" >
|
|
25
|
-
|
|
26
|
-
</target>
|
|
27
|
-
|
|
28
|
-
<target name="clean" >
|
|
29
|
-
<delete includeemptydirs="true" quiet="true" failonerror="false">
|
|
30
|
-
<fileset dir="build" includes="**/*"/>
|
|
31
|
-
</delete>
|
|
32
|
-
</target>
|
|
33
|
-
|
|
34
|
-
<target name="copy">
|
|
35
|
-
<copy todir="build" overwrite="true">
|
|
36
|
-
<fileset dir="src">
|
|
37
|
-
<include name="**/*.*"/>
|
|
38
|
-
</fileset>
|
|
39
|
-
</copy>
|
|
40
|
-
|
|
41
|
-
<exec executable="git" outputproperty="git.version" failifexecutionfails="false" errorproperty="">
|
|
42
|
-
<arg value="describe"/>
|
|
43
|
-
<arg value="--tags"/>
|
|
44
|
-
<arg value="--always"/>
|
|
45
|
-
<arg value="HEAD"/>
|
|
46
|
-
</exec>
|
|
47
|
-
|
|
48
|
-
<echoproperties destfile="git.properties" />
|
|
49
|
-
|
|
50
|
-
<replace file="build/about.jsx" propertyfile="git.properties">
|
|
51
|
-
<replacefilter token="@{git.version}" property="git.version"/>
|
|
52
|
-
<replacefilter token="@{buildTime}" property="buildTime"/>
|
|
53
|
-
</replace>
|
|
54
|
-
|
|
55
|
-
<replace file="build/about.html" propertyfile="git.properties">
|
|
56
|
-
<replacefilter token="@{git.version}" property="git.version"/>
|
|
57
|
-
<replacefilter token="@{buildTime}" property="buildTime"/>
|
|
58
|
-
</replace>
|
|
59
|
-
|
|
60
|
-
</target>
|
|
61
|
-
|
|
62
|
-
<target name="buildZip">
|
|
63
|
-
<mkdir dir="out"></mkdir>
|
|
64
|
-
<mkdir dir="build"></mkdir>
|
|
65
|
-
<exec executable="java">
|
|
66
|
-
<arg line="-jar "></arg>
|
|
67
|
-
<arg path="@libpath/appBuilder.jar"/>
|
|
68
|
-
<arg line="build"></arg>
|
|
69
|
-
<arg line="out/@projectCode.zip"/>
|
|
70
|
-
</exec>
|
|
71
|
-
</target>
|
|
72
|
-
|
|
73
|
-
<target name="deploy">
|
|
74
|
-
<exec executable="java">
|
|
75
|
-
<arg line="-jar "></arg>
|
|
76
|
-
<arg path="@libpath/appDeployer.jar"/>
|
|
77
|
-
<arg line="${deployUrl}"></arg>
|
|
78
|
-
<arg line="${deployPass}"></arg>
|
|
79
|
-
<arg line="out/@projectCode.zip"/>
|
|
80
|
-
<arg line="@projectNameApi"/>
|
|
81
|
-
<arg line="@projectCode"/>
|
|
82
|
-
</exec>
|
|
83
|
-
</target>
|
|
84
|
-
|
|
85
|
-
<target name="all" depends="build,deploy">
|
|
86
|
-
</target>
|
|
87
|
-
|
|
88
|
-
<target name="all-debug" depends="build-debug,deploy"></target>
|
|
89
|
-
|
|
90
|
-
<target name="init">
|
|
91
|
-
<mkdir dir="build/client"></mkdir>
|
|
92
|
-
<mkdir dir="out"></mkdir>
|
|
93
|
-
</target>
|
|
94
|
-
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
+
<project name="@projectCode" default="all" basedir=".">
|
|
3
|
+
<property environment="env"/>
|
|
4
|
+
<available file=".git" type="dir" property="git.present"/>
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
<property file="@buildProperties"></property>
|
|
9
|
+
<tstamp>
|
|
10
|
+
<format property="buildTime" pattern="yyyy-MM-dd hh:mm aa" offset="+8" unit="hour"/>
|
|
11
|
+
</tstamp>
|
|
12
|
+
|
|
13
|
+
<target name="build" depends="init,copy,doImport,closure,buildZip"></target>
|
|
14
|
+
<target name="build-debug" depends="init,copy,doImport,rename,buildZip"></target>
|
|
15
|
+
|
|
16
|
+
<target name="rename" depends="doImport">
|
|
17
|
+
|
|
18
|
+
</target>
|
|
19
|
+
|
|
20
|
+
<target name="closure" depends="doImport">
|
|
21
|
+
|
|
22
|
+
</target>
|
|
23
|
+
|
|
24
|
+
<target name="doImport" >
|
|
25
|
+
|
|
26
|
+
</target>
|
|
27
|
+
|
|
28
|
+
<target name="clean" >
|
|
29
|
+
<delete includeemptydirs="true" quiet="true" failonerror="false">
|
|
30
|
+
<fileset dir="build" includes="**/*"/>
|
|
31
|
+
</delete>
|
|
32
|
+
</target>
|
|
33
|
+
|
|
34
|
+
<target name="copy">
|
|
35
|
+
<copy todir="build" overwrite="true">
|
|
36
|
+
<fileset dir="src">
|
|
37
|
+
<include name="**/*.*"/>
|
|
38
|
+
</fileset>
|
|
39
|
+
</copy>
|
|
40
|
+
|
|
41
|
+
<exec executable="git" outputproperty="git.version" failifexecutionfails="false" errorproperty="">
|
|
42
|
+
<arg value="describe"/>
|
|
43
|
+
<arg value="--tags"/>
|
|
44
|
+
<arg value="--always"/>
|
|
45
|
+
<arg value="HEAD"/>
|
|
46
|
+
</exec>
|
|
47
|
+
|
|
48
|
+
<echoproperties destfile="git.properties" />
|
|
49
|
+
|
|
50
|
+
<replace file="build/about.jsx" propertyfile="git.properties">
|
|
51
|
+
<replacefilter token="@{git.version}" property="git.version"/>
|
|
52
|
+
<replacefilter token="@{buildTime}" property="buildTime"/>
|
|
53
|
+
</replace>
|
|
54
|
+
|
|
55
|
+
<replace file="build/about.html" propertyfile="git.properties">
|
|
56
|
+
<replacefilter token="@{git.version}" property="git.version"/>
|
|
57
|
+
<replacefilter token="@{buildTime}" property="buildTime"/>
|
|
58
|
+
</replace>
|
|
59
|
+
|
|
60
|
+
</target>
|
|
61
|
+
|
|
62
|
+
<target name="buildZip">
|
|
63
|
+
<mkdir dir="out"></mkdir>
|
|
64
|
+
<mkdir dir="build"></mkdir>
|
|
65
|
+
<exec executable="java">
|
|
66
|
+
<arg line="-jar "></arg>
|
|
67
|
+
<arg path="@libpath/appBuilder.jar"/>
|
|
68
|
+
<arg line="build"></arg>
|
|
69
|
+
<arg line="out/@projectCode.zip"/>
|
|
70
|
+
</exec>
|
|
71
|
+
</target>
|
|
72
|
+
|
|
73
|
+
<target name="deploy">
|
|
74
|
+
<exec executable="java">
|
|
75
|
+
<arg line="-jar "></arg>
|
|
76
|
+
<arg path="@libpath/appDeployer.jar"/>
|
|
77
|
+
<arg line="${deployUrl}"></arg>
|
|
78
|
+
<arg line="${deployPass}"></arg>
|
|
79
|
+
<arg line="out/@projectCode.zip"/>
|
|
80
|
+
<arg line="@projectNameApi"/>
|
|
81
|
+
<arg line="@projectCode"/>
|
|
82
|
+
</exec>
|
|
83
|
+
</target>
|
|
84
|
+
|
|
85
|
+
<target name="all" depends="build,deploy">
|
|
86
|
+
</target>
|
|
87
|
+
|
|
88
|
+
<target name="all-debug" depends="build-debug,deploy"></target>
|
|
89
|
+
|
|
90
|
+
<target name="init">
|
|
91
|
+
<mkdir dir="build/client"></mkdir>
|
|
92
|
+
<mkdir dir="out"></mkdir>
|
|
93
|
+
</target>
|
|
94
|
+
|
|
95
95
|
</project>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
6
|
-
<title>about:@projectCodeService</title>
|
|
7
|
-
</head>
|
|
8
|
-
<body style="margin: 60px">
|
|
9
|
-
<h3>git_version: @{git.version}</h3>
|
|
10
|
-
<h3>owl_version: @owl_version</h3>
|
|
11
|
-
<h3>build time : @{buildTime}</h3>
|
|
12
|
-
<h3>spec : @spec</h3>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
6
|
+
<title>about:@projectCodeService</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body style="margin: 60px">
|
|
9
|
+
<h3>git_version: @{git.version}</h3>
|
|
10
|
+
<h3>owl_version: @owl_version</h3>
|
|
11
|
+
<h3>build time : @{buildTime}</h3>
|
|
12
|
+
<h3>spec : @spec</h3>
|
|
13
13
|
</body>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
//#import Util.js
|
|
2
|
-
|
|
3
|
-
var repository_version = "@{git.version}"
|
|
4
|
-
var buildTime = "@{buildTime}"
|
|
5
|
-
|
|
6
|
-
var pageData = {
|
|
7
|
-
repository_version: repository_version,
|
|
8
|
-
buildTime: buildTime,
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
var html = $.runArtTemplate(appId,appMd5,"about.html",pageData);
|
|
1
|
+
//#import Util.js
|
|
2
|
+
|
|
3
|
+
var repository_version = "@{git.version}"
|
|
4
|
+
var buildTime = "@{buildTime}"
|
|
5
|
+
|
|
6
|
+
var pageData = {
|
|
7
|
+
repository_version: repository_version,
|
|
8
|
+
buildTime: buildTime,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
var html = $.runArtTemplate(appId,appMd5,"about.html",pageData);
|
|
12
12
|
out.print(html);
|
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
//#import Util.js
|
|
2
|
-
//#import base64.js
|
|
3
|
-
//#import HttpUtil.js
|
|
4
|
-
//#import session.js
|
|
5
|
-
//#import $@projectCode:services/modelService.jsx
|
|
6
|
-
//#import @handlers/include/checklogin.jsx
|
|
7
|
-
|
|
8
|
-
var spec = @spec;
|
|
9
|
-
|
|
10
|
-
function trim(s){
|
|
11
|
-
if(s){
|
|
12
|
-
return s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
|
|
13
|
-
}
|
|
14
|
-
return ""
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
;(function(){
|
|
18
|
-
|
|
19
|
-
var env = checklogin();
|
|
20
|
-
if(!env){
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
var shopId = env.shopId;
|
|
24
|
-
var warehouseId = env.warehouseId;
|
|
25
|
-
var m = shopId;
|
|
26
|
-
|
|
27
|
-
//判断是subplatform,还是shop,还是platform
|
|
28
|
-
var params = JSON.parse($body);
|
|
29
|
-
var searchArgs = params.searchArgs;
|
|
30
|
-
var keyword = searchArgs.keyword;
|
|
31
|
-
var pageSize = 0;
|
|
32
|
-
var from = 0;
|
|
33
|
-
|
|
34
|
-
function getKeywordQuery(){
|
|
35
|
-
if(keyword && trim(keyword).length>0){
|
|
36
|
-
return "\"" + trim(keyword) + "\""
|
|
37
|
-
}
|
|
38
|
-
else{
|
|
39
|
-
return "*"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function getFilters(){
|
|
44
|
-
delete searchArgs.keyword;
|
|
45
|
-
var filters = [];
|
|
46
|
-
for(var k in searchArgs){
|
|
47
|
-
var v = searchArgs[k];
|
|
48
|
-
if(typeof(v)=='object' && Array.isArray(v)){
|
|
49
|
-
var range={}
|
|
50
|
-
range[k] = {
|
|
51
|
-
'gte':v[0],
|
|
52
|
-
'lte':v[1]
|
|
53
|
-
}
|
|
54
|
-
filters.push({range:range});
|
|
55
|
-
}
|
|
56
|
-
else{
|
|
57
|
-
var term = {};
|
|
58
|
-
if(v){
|
|
59
|
-
term[k+".keyword"] = trim('' + v)
|
|
60
|
-
filters.push({term:term})
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
return filters;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
var filters = getFilters();
|
|
70
|
-
|
|
71
|
-
if(m !== '0'){
|
|
72
|
-
filters = filters.concat([
|
|
73
|
-
{"term": { "_m.keyword": m }},
|
|
74
|
-
{"term":{"_t":spec["_t"]}}
|
|
75
|
-
]);
|
|
76
|
-
}
|
|
77
|
-
else{
|
|
78
|
-
//如果m === '0',代表是平台
|
|
79
|
-
filters = filters.concat([
|
|
80
|
-
{"term":{"_t":spec["_t"]}}
|
|
81
|
-
]);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
var query = {
|
|
86
|
-
"query": {
|
|
87
|
-
"bool": {
|
|
88
|
-
"must": {
|
|
89
|
-
"query_string": {
|
|
90
|
-
"query":getKeywordQuery()
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
"must_not": {
|
|
94
|
-
"match": {
|
|
95
|
-
"del": "T"
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
"filter": filters
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
var aggs = {};
|
|
104
|
-
|
|
105
|
-
var meta = spec[ "#meta" ];
|
|
106
|
-
if(meta.charts){
|
|
107
|
-
for(var i=0; i < meta.charts.length; i++){
|
|
108
|
-
var chart = meta.charts[i];
|
|
109
|
-
/*
|
|
110
|
-
chart = {
|
|
111
|
-
name:"daily_new_object",
|
|
112
|
-
agg: {
|
|
113
|
-
"date_histogram": {
|
|
114
|
-
"field": "owl_createTime",
|
|
115
|
-
"calender_interval": "day",
|
|
116
|
-
"format" : "yyyy-MM-dd",
|
|
117
|
-
"time_zone": "+08:00"
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
description:'新增用户'
|
|
121
|
-
}
|
|
122
|
-
*/
|
|
123
|
-
aggs[chart.name] = chart.agg;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if(aggs){
|
|
129
|
-
query.aggs = aggs;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
//下面开始计算统计数据
|
|
135
|
-
|
|
136
|
-
var elasticSearchUrl = $.getEnv( "elasticSearchUrl" );
|
|
137
|
-
|
|
138
|
-
var headers = { "Content-Type": "application/json;charset=utf-8" };
|
|
139
|
-
var elasticSearchUser = $.getEnv("elasticSearchUser");
|
|
140
|
-
var elasticSearchPass = $.getEnv("elasticSearchPass");
|
|
141
|
-
if(elasticSearchUser && elasticSearchPass){
|
|
142
|
-
var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
143
|
-
var basicAuth = "Basic " + auth;
|
|
144
|
-
headers["Authorization"] = basicAuth;
|
|
145
|
-
}
|
|
146
|
-
var searchUrl = elasticSearchUrl+"/@projectCode/_search";
|
|
147
|
-
|
|
148
|
-
var sndTxt = JSON.stringify(query);
|
|
149
|
-
$.log(sndTxt);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
var s = HttpUtils.postRaw( searchUrl, sndTxt, headers);
|
|
153
|
-
var result = JSON.parse(s);
|
|
154
|
-
|
|
155
|
-
result.state = 'ok';
|
|
156
|
-
out.print(JSON.stringify(result));
|
|
157
|
-
|
|
158
|
-
})();
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
1
|
+
//#import Util.js
|
|
2
|
+
//#import base64.js
|
|
3
|
+
//#import HttpUtil.js
|
|
4
|
+
//#import session.js
|
|
5
|
+
//#import $@projectCode:services/modelService.jsx
|
|
6
|
+
//#import @handlers/include/checklogin.jsx
|
|
7
|
+
|
|
8
|
+
var spec = @spec;
|
|
9
|
+
|
|
10
|
+
function trim(s){
|
|
11
|
+
if(s){
|
|
12
|
+
return s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
|
|
13
|
+
}
|
|
14
|
+
return ""
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
;(function(){
|
|
18
|
+
|
|
19
|
+
var env = checklogin();
|
|
20
|
+
if(!env){
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
var shopId = env.shopId;
|
|
24
|
+
var warehouseId = env.warehouseId;
|
|
25
|
+
var m = shopId;
|
|
26
|
+
|
|
27
|
+
//判断是subplatform,还是shop,还是platform
|
|
28
|
+
var params = JSON.parse($body);
|
|
29
|
+
var searchArgs = params.searchArgs;
|
|
30
|
+
var keyword = searchArgs.keyword;
|
|
31
|
+
var pageSize = 0;
|
|
32
|
+
var from = 0;
|
|
33
|
+
|
|
34
|
+
function getKeywordQuery(){
|
|
35
|
+
if(keyword && trim(keyword).length>0){
|
|
36
|
+
return "\"" + trim(keyword) + "\""
|
|
37
|
+
}
|
|
38
|
+
else{
|
|
39
|
+
return "*"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function getFilters(){
|
|
44
|
+
delete searchArgs.keyword;
|
|
45
|
+
var filters = [];
|
|
46
|
+
for(var k in searchArgs){
|
|
47
|
+
var v = searchArgs[k];
|
|
48
|
+
if(typeof(v)=='object' && Array.isArray(v)){
|
|
49
|
+
var range={}
|
|
50
|
+
range[k] = {
|
|
51
|
+
'gte':v[0],
|
|
52
|
+
'lte':v[1]
|
|
53
|
+
}
|
|
54
|
+
filters.push({range:range});
|
|
55
|
+
}
|
|
56
|
+
else{
|
|
57
|
+
var term = {};
|
|
58
|
+
if(v){
|
|
59
|
+
term[k+".keyword"] = trim('' + v)
|
|
60
|
+
filters.push({term:term})
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
}
|
|
66
|
+
return filters;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
var filters = getFilters();
|
|
70
|
+
|
|
71
|
+
if(m !== '0'){
|
|
72
|
+
filters = filters.concat([
|
|
73
|
+
{"term": { "_m.keyword": m }},
|
|
74
|
+
{"term":{"_t":spec["_t"]}}
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
else{
|
|
78
|
+
//如果m === '0',代表是平台
|
|
79
|
+
filters = filters.concat([
|
|
80
|
+
{"term":{"_t":spec["_t"]}}
|
|
81
|
+
]);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
var query = {
|
|
86
|
+
"query": {
|
|
87
|
+
"bool": {
|
|
88
|
+
"must": {
|
|
89
|
+
"query_string": {
|
|
90
|
+
"query":getKeywordQuery()
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"must_not": {
|
|
94
|
+
"match": {
|
|
95
|
+
"del": "T"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"filter": filters
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
var aggs = {};
|
|
104
|
+
|
|
105
|
+
var meta = spec[ "#meta" ];
|
|
106
|
+
if(meta.charts){
|
|
107
|
+
for(var i=0; i < meta.charts.length; i++){
|
|
108
|
+
var chart = meta.charts[i];
|
|
109
|
+
/*
|
|
110
|
+
chart = {
|
|
111
|
+
name:"daily_new_object",
|
|
112
|
+
agg: {
|
|
113
|
+
"date_histogram": {
|
|
114
|
+
"field": "owl_createTime",
|
|
115
|
+
"calender_interval": "day",
|
|
116
|
+
"format" : "yyyy-MM-dd",
|
|
117
|
+
"time_zone": "+08:00"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
description:'新增用户'
|
|
121
|
+
}
|
|
122
|
+
*/
|
|
123
|
+
aggs[chart.name] = chart.agg;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
if(aggs){
|
|
129
|
+
query.aggs = aggs;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
//下面开始计算统计数据
|
|
135
|
+
|
|
136
|
+
var elasticSearchUrl = $.getEnv( "elasticSearchUrl" );
|
|
137
|
+
|
|
138
|
+
var headers = { "Content-Type": "application/json;charset=utf-8" };
|
|
139
|
+
var elasticSearchUser = $.getEnv("elasticSearchUser");
|
|
140
|
+
var elasticSearchPass = $.getEnv("elasticSearchPass");
|
|
141
|
+
if(elasticSearchUser && elasticSearchPass){
|
|
142
|
+
var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
143
|
+
var basicAuth = "Basic " + auth;
|
|
144
|
+
headers["Authorization"] = basicAuth;
|
|
145
|
+
}
|
|
146
|
+
var searchUrl = elasticSearchUrl+"/@projectCode/_search";
|
|
147
|
+
|
|
148
|
+
var sndTxt = JSON.stringify(query);
|
|
149
|
+
$.log(sndTxt);
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
var s = HttpUtils.postRaw( searchUrl, sndTxt, headers);
|
|
153
|
+
var result = JSON.parse(s);
|
|
154
|
+
|
|
155
|
+
result.state = 'ok';
|
|
156
|
+
out.print(JSON.stringify(result));
|
|
157
|
+
|
|
158
|
+
})();
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|