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,61 +1,61 @@
|
|
|
1
|
-
function buildSort(sort){
|
|
2
|
-
if(!sort){
|
|
3
|
-
return {};
|
|
4
|
-
}
|
|
5
|
-
var result = [];
|
|
6
|
-
for(var k in sort){
|
|
7
|
-
var direction = sort[k];
|
|
8
|
-
if(direction === 'ascend'){
|
|
9
|
-
var sortItem = {};
|
|
10
|
-
sortItem[k] = [{"order":"asc"}]
|
|
11
|
-
result.push(sortItem);
|
|
12
|
-
}
|
|
13
|
-
else if(direction === 'descend'){
|
|
14
|
-
var sortItem = {};
|
|
15
|
-
sortItem[k] = [{"order":"desc"}]
|
|
16
|
-
result.push(sortItem);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function getKeywordQuery(keyword){
|
|
23
|
-
if(keyword && trim(keyword).length>0){
|
|
24
|
-
return "\"" + trim(keyword) + "\""
|
|
25
|
-
}
|
|
26
|
-
else{
|
|
27
|
-
return "*"
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function getFilters(searchArgs){
|
|
32
|
-
delete searchArgs.keyword;
|
|
33
|
-
var filters = [];
|
|
34
|
-
for(var k in searchArgs){
|
|
35
|
-
var v = searchArgs[k];
|
|
36
|
-
if(typeof(v)=='object' && Array.isArray(v)){
|
|
37
|
-
var range={}
|
|
38
|
-
range[k] = {
|
|
39
|
-
'gte':v[0],
|
|
40
|
-
'lte':v[1]
|
|
41
|
-
}
|
|
42
|
-
filters.push({range:range});
|
|
43
|
-
}
|
|
44
|
-
else if(typeof(v)=='object' && v.type==='terms'){
|
|
45
|
-
var terms = {};
|
|
46
|
-
if(v.values){
|
|
47
|
-
terms[k + ".keyword"] = v.values;
|
|
48
|
-
filters.push({terms:terms});
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
else{
|
|
52
|
-
var term = {};
|
|
53
|
-
if(v){
|
|
54
|
-
term[k+".keyword"] = trim('' + v)
|
|
55
|
-
filters.push({term:term})
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return filters;
|
|
1
|
+
function buildSort(sort){
|
|
2
|
+
if(!sort){
|
|
3
|
+
return {};
|
|
4
|
+
}
|
|
5
|
+
var result = [];
|
|
6
|
+
for(var k in sort){
|
|
7
|
+
var direction = sort[k];
|
|
8
|
+
if(direction === 'ascend'){
|
|
9
|
+
var sortItem = {};
|
|
10
|
+
sortItem[k] = [{"order":"asc"}]
|
|
11
|
+
result.push(sortItem);
|
|
12
|
+
}
|
|
13
|
+
else if(direction === 'descend'){
|
|
14
|
+
var sortItem = {};
|
|
15
|
+
sortItem[k] = [{"order":"desc"}]
|
|
16
|
+
result.push(sortItem);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function getKeywordQuery(keyword){
|
|
23
|
+
if(keyword && trim(keyword).length>0){
|
|
24
|
+
return "\"" + trim(keyword) + "\""
|
|
25
|
+
}
|
|
26
|
+
else{
|
|
27
|
+
return "*"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function getFilters(searchArgs){
|
|
32
|
+
delete searchArgs.keyword;
|
|
33
|
+
var filters = [];
|
|
34
|
+
for(var k in searchArgs){
|
|
35
|
+
var v = searchArgs[k];
|
|
36
|
+
if(typeof(v)=='object' && Array.isArray(v)){
|
|
37
|
+
var range={}
|
|
38
|
+
range[k] = {
|
|
39
|
+
'gte':v[0],
|
|
40
|
+
'lte':v[1]
|
|
41
|
+
}
|
|
42
|
+
filters.push({range:range});
|
|
43
|
+
}
|
|
44
|
+
else if(typeof(v)=='object' && v.type==='terms'){
|
|
45
|
+
var terms = {};
|
|
46
|
+
if(v.values){
|
|
47
|
+
terms[k + ".keyword"] = v.values;
|
|
48
|
+
filters.push({terms:terms});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else{
|
|
52
|
+
var term = {};
|
|
53
|
+
if(v){
|
|
54
|
+
term[k+".keyword"] = trim('' + v)
|
|
55
|
+
filters.push({term:term})
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return filters;
|
|
61
61
|
}
|
|
@@ -1,253 +1,253 @@
|
|
|
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
|
-
function trim(s){
|
|
9
|
-
if(s){
|
|
10
|
-
return s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
|
|
11
|
-
}
|
|
12
|
-
return ""
|
|
13
|
-
}
|
|
14
|
-
var spec = @spec;
|
|
15
|
-
|
|
16
|
-
function buildSort(sort){
|
|
17
|
-
if(!sort){
|
|
18
|
-
return {};
|
|
19
|
-
}
|
|
20
|
-
var result = [];
|
|
21
|
-
for(var k in sort){
|
|
22
|
-
var direction = sort[k];
|
|
23
|
-
if(direction === 'ascend'){
|
|
24
|
-
var sortItem = {};
|
|
25
|
-
sortItem[k] = [{"order":"asc"}]
|
|
26
|
-
result.push(sortItem);
|
|
27
|
-
}
|
|
28
|
-
else if(direction === 'descend'){
|
|
29
|
-
var sortItem = {};
|
|
30
|
-
sortItem[k] = [{"order":"desc"}]
|
|
31
|
-
result.push(sortItem);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return result;
|
|
35
|
-
}
|
|
36
|
-
;(function(){
|
|
37
|
-
|
|
38
|
-
var env = checklogin();
|
|
39
|
-
if(!env){
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
var shopId = env.shopId;
|
|
43
|
-
var warehouseId = env.warehouseId;
|
|
44
|
-
var loginId = env.loginId;
|
|
45
|
-
var roleId = env.roleId;
|
|
46
|
-
var orgId = env.orgId;
|
|
47
|
-
var spec = @spec;
|
|
48
|
-
var tableId = 'owl_' + spec._t;
|
|
49
|
-
var permissions = getPermissions(roleId,tableId);
|
|
50
|
-
var m = shopId;
|
|
51
|
-
///////////////////////////////
|
|
52
|
-
|
|
53
|
-
//判断是subplatform,还是shop,还是platform
|
|
54
|
-
var params = JSON.parse($body);
|
|
55
|
-
var searchArgs = params.searchArgs;
|
|
56
|
-
var keyword = searchArgs.keyword;
|
|
57
|
-
var pageSize = params.pageSize;
|
|
58
|
-
var page = params.page;
|
|
59
|
-
var sort = params.sort;
|
|
60
|
-
var recycleBin = searchArgs.recycleBin;
|
|
61
|
-
// $.log("searchArgs=" + JSON.stringify(searchArgs));
|
|
62
|
-
delete searchArgs.recycleBin;
|
|
63
|
-
// $.log("recycleBin=" + recycleBin);
|
|
64
|
-
|
|
65
|
-
var effectiveSort = buildSort(sort);
|
|
66
|
-
if(!page){
|
|
67
|
-
page = 1;
|
|
68
|
-
}
|
|
69
|
-
if(!pageSize){
|
|
70
|
-
pageSize=15;
|
|
71
|
-
}
|
|
72
|
-
pageSize = Number(pageSize);
|
|
73
|
-
var from = page * pageSize-pageSize;
|
|
74
|
-
|
|
75
|
-
function getKeywordQuery(){
|
|
76
|
-
if(keyword && trim(keyword).length>0){
|
|
77
|
-
return "\"" + trim(keyword) + "\""
|
|
78
|
-
}
|
|
79
|
-
else{
|
|
80
|
-
return "*"
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function getFilters(){
|
|
85
|
-
delete searchArgs.keyword;
|
|
86
|
-
var filters = [];
|
|
87
|
-
for(var k in searchArgs){
|
|
88
|
-
var v = searchArgs[k];
|
|
89
|
-
if(typeof(v)=='object' && Array.isArray(v)){
|
|
90
|
-
var range={}
|
|
91
|
-
range[k] = {
|
|
92
|
-
'gte':v[0],
|
|
93
|
-
'lte':v[1]
|
|
94
|
-
}
|
|
95
|
-
filters.push({range:range});
|
|
96
|
-
}
|
|
97
|
-
else if(typeof(v)=='object' && v.type==='terms'){
|
|
98
|
-
var terms = {};
|
|
99
|
-
if(v.values){
|
|
100
|
-
terms[k + ".keyword"] = v.values;
|
|
101
|
-
filters.push({terms:terms});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
else{
|
|
105
|
-
var term = {};
|
|
106
|
-
if(v){
|
|
107
|
-
term[k+".keyword"] = trim('' + v)
|
|
108
|
-
filters.push({term:term})
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
var meta = spec['#meta'];
|
|
114
|
-
var isPublic = meta && meta.isPublic;
|
|
115
|
-
|
|
116
|
-
/*
|
|
117
|
-
if(!isPublic && orgId && orgId!=='0'){
|
|
118
|
-
filters.push({
|
|
119
|
-
"term":{
|
|
120
|
-
"_orgIds.keyword" : orgId
|
|
121
|
-
}
|
|
122
|
-
})
|
|
123
|
-
}
|
|
124
|
-
*/
|
|
125
|
-
if(meta && meta.isTree && env.orgId!=='0'){
|
|
126
|
-
if(meta.root){
|
|
127
|
-
if(meta.root.startsWith("$")){
|
|
128
|
-
var rootId = eval(meta.root.substring(1));
|
|
129
|
-
filters.push({
|
|
130
|
-
"term":{
|
|
131
|
-
"parentPathIds" : rootId
|
|
132
|
-
}
|
|
133
|
-
})
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
return filters;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
var filters = getFilters();
|
|
142
|
-
var meta = spec['#meta'];
|
|
143
|
-
var isPublic = meta && meta.isPublic;
|
|
144
|
-
if(!isPublic && orgId && orgId!=='0') {
|
|
145
|
-
var permissionFilter = getListPermissionFilter(tableId, roleId, orgId, loginId, permissions);
|
|
146
|
-
|
|
147
|
-
if (permissionFilter) {
|
|
148
|
-
filters.push(permissionFilter);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
if(recycleBin){
|
|
153
|
-
filters.push({"term":{"del.keyword":"T"}});
|
|
154
|
-
var query = {
|
|
155
|
-
"query": {
|
|
156
|
-
"bool": {
|
|
157
|
-
"must": {
|
|
158
|
-
"query_string": {
|
|
159
|
-
"query":getKeywordQuery()
|
|
160
|
-
}
|
|
161
|
-
},
|
|
162
|
-
"filter": filters
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
"from" : from, "size" : pageSize,
|
|
166
|
-
sort:effectiveSort || [{owl_createTime:{order:"desc"}}]
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
else{
|
|
170
|
-
var query = {
|
|
171
|
-
"query": {
|
|
172
|
-
"bool": {
|
|
173
|
-
"must": {
|
|
174
|
-
"query_string": {
|
|
175
|
-
"query":getKeywordQuery()
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
"must_not": {
|
|
179
|
-
"match": {
|
|
180
|
-
"del": "T"
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
"filter": filters
|
|
184
|
-
}
|
|
185
|
-
},
|
|
186
|
-
"from" : from, "size" : pageSize,
|
|
187
|
-
sort:effectiveSort || [{owl_createTime:{order:"desc"}}]
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
var elasticSearchUrl = $.getEnv( "elasticSearchUrl" );
|
|
193
|
-
|
|
194
|
-
var headers = { "Content-Type": "application/json;charset=utf-8" };
|
|
195
|
-
var elasticSearchUser = $.getEnv("elasticSearchUser");
|
|
196
|
-
var elasticSearchPass = $.getEnv("elasticSearchPass");
|
|
197
|
-
if(elasticSearchUser && elasticSearchPass){
|
|
198
|
-
var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
199
|
-
var basicAuth = "Basic " + auth;
|
|
200
|
-
headers["Authorization"] = basicAuth;
|
|
201
|
-
}
|
|
202
|
-
var searchUrl = elasticSearchUrl+"/@projectCode/_search";
|
|
203
|
-
|
|
204
|
-
var sndTxt = JSON.stringify(query);
|
|
205
|
-
$.log(sndTxt);
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
var s = HttpUtils.postRaw( searchUrl, sndTxt, headers);
|
|
209
|
-
var result = JSON.parse(s);
|
|
210
|
-
|
|
211
|
-
if(!result.hits || !result.hits.hits){
|
|
212
|
-
// $.log("error search:sndQuery=" + sndTxt + "------\nresponse:\n" + s );
|
|
213
|
-
var ret = {
|
|
214
|
-
state:'ok',
|
|
215
|
-
list:[],
|
|
216
|
-
total:{value:0},
|
|
217
|
-
count:0
|
|
218
|
-
}
|
|
219
|
-
out.print(JSON.stringify(ret));
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
var hits = result.hits.hits;
|
|
225
|
-
var total = result.hits.total;
|
|
226
|
-
|
|
227
|
-
var objs = hits.map(function(hit){return hit._source});
|
|
228
|
-
|
|
229
|
-
delete query.from;
|
|
230
|
-
delete query.size;
|
|
231
|
-
delete query.sort;
|
|
232
|
-
sndTxt = JSON.stringify(query);
|
|
233
|
-
var countUrl = elasticSearchUrl+"/@projectCode/_count";
|
|
234
|
-
|
|
235
|
-
var ss = HttpUtils.postRaw( countUrl, sndTxt, headers);
|
|
236
|
-
var cr = JSON.parse(ss);
|
|
237
|
-
|
|
238
|
-
var count = cr.count;
|
|
239
|
-
//这里重新从pigeon取了一次数据,做了删除的判断
|
|
240
|
-
// var ids = hits.map(function(hit){return hit._source.id});
|
|
241
|
-
// var list = owl_wh_receiptService.getObjects(ids);
|
|
242
|
-
// var objs = list.filter(function(value){
|
|
243
|
-
// return value.del != "T";
|
|
244
|
-
// });
|
|
245
|
-
var ret = {
|
|
246
|
-
state:'ok',
|
|
247
|
-
list:objs,
|
|
248
|
-
total:total,
|
|
249
|
-
count : count
|
|
250
|
-
}
|
|
251
|
-
out.print(JSON.stringify(ret));
|
|
252
|
-
|
|
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
|
+
function trim(s){
|
|
9
|
+
if(s){
|
|
10
|
+
return s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
|
|
11
|
+
}
|
|
12
|
+
return ""
|
|
13
|
+
}
|
|
14
|
+
var spec = @spec;
|
|
15
|
+
|
|
16
|
+
function buildSort(sort){
|
|
17
|
+
if(!sort){
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
var result = [];
|
|
21
|
+
for(var k in sort){
|
|
22
|
+
var direction = sort[k];
|
|
23
|
+
if(direction === 'ascend'){
|
|
24
|
+
var sortItem = {};
|
|
25
|
+
sortItem[k] = [{"order":"asc"}]
|
|
26
|
+
result.push(sortItem);
|
|
27
|
+
}
|
|
28
|
+
else if(direction === 'descend'){
|
|
29
|
+
var sortItem = {};
|
|
30
|
+
sortItem[k] = [{"order":"desc"}]
|
|
31
|
+
result.push(sortItem);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
;(function(){
|
|
37
|
+
|
|
38
|
+
var env = checklogin();
|
|
39
|
+
if(!env){
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
var shopId = env.shopId;
|
|
43
|
+
var warehouseId = env.warehouseId;
|
|
44
|
+
var loginId = env.loginId;
|
|
45
|
+
var roleId = env.roleId;
|
|
46
|
+
var orgId = env.orgId;
|
|
47
|
+
var spec = @spec;
|
|
48
|
+
var tableId = 'owl_' + spec._t;
|
|
49
|
+
var permissions = getPermissions(roleId,tableId);
|
|
50
|
+
var m = shopId;
|
|
51
|
+
///////////////////////////////
|
|
52
|
+
|
|
53
|
+
//判断是subplatform,还是shop,还是platform
|
|
54
|
+
var params = JSON.parse($body);
|
|
55
|
+
var searchArgs = params.searchArgs;
|
|
56
|
+
var keyword = searchArgs.keyword;
|
|
57
|
+
var pageSize = params.pageSize;
|
|
58
|
+
var page = params.page;
|
|
59
|
+
var sort = params.sort;
|
|
60
|
+
var recycleBin = searchArgs.recycleBin;
|
|
61
|
+
// $.log("searchArgs=" + JSON.stringify(searchArgs));
|
|
62
|
+
delete searchArgs.recycleBin;
|
|
63
|
+
// $.log("recycleBin=" + recycleBin);
|
|
64
|
+
|
|
65
|
+
var effectiveSort = buildSort(sort);
|
|
66
|
+
if(!page){
|
|
67
|
+
page = 1;
|
|
68
|
+
}
|
|
69
|
+
if(!pageSize){
|
|
70
|
+
pageSize=15;
|
|
71
|
+
}
|
|
72
|
+
pageSize = Number(pageSize);
|
|
73
|
+
var from = page * pageSize-pageSize;
|
|
74
|
+
|
|
75
|
+
function getKeywordQuery(){
|
|
76
|
+
if(keyword && trim(keyword).length>0){
|
|
77
|
+
return "\"" + trim(keyword) + "\""
|
|
78
|
+
}
|
|
79
|
+
else{
|
|
80
|
+
return "*"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function getFilters(){
|
|
85
|
+
delete searchArgs.keyword;
|
|
86
|
+
var filters = [];
|
|
87
|
+
for(var k in searchArgs){
|
|
88
|
+
var v = searchArgs[k];
|
|
89
|
+
if(typeof(v)=='object' && Array.isArray(v)){
|
|
90
|
+
var range={}
|
|
91
|
+
range[k] = {
|
|
92
|
+
'gte':v[0],
|
|
93
|
+
'lte':v[1]
|
|
94
|
+
}
|
|
95
|
+
filters.push({range:range});
|
|
96
|
+
}
|
|
97
|
+
else if(typeof(v)=='object' && v.type==='terms'){
|
|
98
|
+
var terms = {};
|
|
99
|
+
if(v.values){
|
|
100
|
+
terms[k + ".keyword"] = v.values;
|
|
101
|
+
filters.push({terms:terms});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else{
|
|
105
|
+
var term = {};
|
|
106
|
+
if(v){
|
|
107
|
+
term[k+".keyword"] = trim('' + v)
|
|
108
|
+
filters.push({term:term})
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
var meta = spec['#meta'];
|
|
114
|
+
var isPublic = meta && meta.isPublic;
|
|
115
|
+
|
|
116
|
+
/*
|
|
117
|
+
if(!isPublic && orgId && orgId!=='0'){
|
|
118
|
+
filters.push({
|
|
119
|
+
"term":{
|
|
120
|
+
"_orgIds.keyword" : orgId
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
}
|
|
124
|
+
*/
|
|
125
|
+
if(meta && meta.isTree && env.orgId!=='0'){
|
|
126
|
+
if(meta.root){
|
|
127
|
+
if(meta.root.startsWith("$")){
|
|
128
|
+
var rootId = eval(meta.root.substring(1));
|
|
129
|
+
filters.push({
|
|
130
|
+
"term":{
|
|
131
|
+
"parentPathIds" : rootId
|
|
132
|
+
}
|
|
133
|
+
})
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
}
|
|
138
|
+
return filters;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
var filters = getFilters();
|
|
142
|
+
var meta = spec['#meta'];
|
|
143
|
+
var isPublic = meta && meta.isPublic;
|
|
144
|
+
if(!isPublic && orgId && orgId!=='0') {
|
|
145
|
+
var permissionFilter = getListPermissionFilter(tableId, roleId, orgId, loginId, permissions);
|
|
146
|
+
|
|
147
|
+
if (permissionFilter) {
|
|
148
|
+
filters.push(permissionFilter);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if(recycleBin){
|
|
153
|
+
filters.push({"term":{"del.keyword":"T"}});
|
|
154
|
+
var query = {
|
|
155
|
+
"query": {
|
|
156
|
+
"bool": {
|
|
157
|
+
"must": {
|
|
158
|
+
"query_string": {
|
|
159
|
+
"query":getKeywordQuery()
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"filter": filters
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"from" : from, "size" : pageSize,
|
|
166
|
+
sort:effectiveSort || [{owl_createTime:{order:"desc"}}]
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
else{
|
|
170
|
+
var query = {
|
|
171
|
+
"query": {
|
|
172
|
+
"bool": {
|
|
173
|
+
"must": {
|
|
174
|
+
"query_string": {
|
|
175
|
+
"query":getKeywordQuery()
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"must_not": {
|
|
179
|
+
"match": {
|
|
180
|
+
"del": "T"
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"filter": filters
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"from" : from, "size" : pageSize,
|
|
187
|
+
sort:effectiveSort || [{owl_createTime:{order:"desc"}}]
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
var elasticSearchUrl = $.getEnv( "elasticSearchUrl" );
|
|
193
|
+
|
|
194
|
+
var headers = { "Content-Type": "application/json;charset=utf-8" };
|
|
195
|
+
var elasticSearchUser = $.getEnv("elasticSearchUser");
|
|
196
|
+
var elasticSearchPass = $.getEnv("elasticSearchPass");
|
|
197
|
+
if(elasticSearchUser && elasticSearchPass){
|
|
198
|
+
var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
199
|
+
var basicAuth = "Basic " + auth;
|
|
200
|
+
headers["Authorization"] = basicAuth;
|
|
201
|
+
}
|
|
202
|
+
var searchUrl = elasticSearchUrl+"/@projectCode/_search";
|
|
203
|
+
|
|
204
|
+
var sndTxt = JSON.stringify(query);
|
|
205
|
+
$.log(sndTxt);
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
var s = HttpUtils.postRaw( searchUrl, sndTxt, headers);
|
|
209
|
+
var result = JSON.parse(s);
|
|
210
|
+
|
|
211
|
+
if(!result.hits || !result.hits.hits){
|
|
212
|
+
// $.log("error search:sndQuery=" + sndTxt + "------\nresponse:\n" + s );
|
|
213
|
+
var ret = {
|
|
214
|
+
state:'ok',
|
|
215
|
+
list:[],
|
|
216
|
+
total:{value:0},
|
|
217
|
+
count:0
|
|
218
|
+
}
|
|
219
|
+
out.print(JSON.stringify(ret));
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
var hits = result.hits.hits;
|
|
225
|
+
var total = result.hits.total;
|
|
226
|
+
|
|
227
|
+
var objs = hits.map(function(hit){return hit._source});
|
|
228
|
+
|
|
229
|
+
delete query.from;
|
|
230
|
+
delete query.size;
|
|
231
|
+
delete query.sort;
|
|
232
|
+
sndTxt = JSON.stringify(query);
|
|
233
|
+
var countUrl = elasticSearchUrl+"/@projectCode/_count";
|
|
234
|
+
|
|
235
|
+
var ss = HttpUtils.postRaw( countUrl, sndTxt, headers);
|
|
236
|
+
var cr = JSON.parse(ss);
|
|
237
|
+
|
|
238
|
+
var count = cr.count;
|
|
239
|
+
//这里重新从pigeon取了一次数据,做了删除的判断
|
|
240
|
+
// var ids = hits.map(function(hit){return hit._source.id});
|
|
241
|
+
// var list = owl_wh_receiptService.getObjects(ids);
|
|
242
|
+
// var objs = list.filter(function(value){
|
|
243
|
+
// return value.del != "T";
|
|
244
|
+
// });
|
|
245
|
+
var ret = {
|
|
246
|
+
state:'ok',
|
|
247
|
+
list:objs,
|
|
248
|
+
total:total,
|
|
249
|
+
count : count
|
|
250
|
+
}
|
|
251
|
+
out.print(JSON.stringify(ret));
|
|
252
|
+
|
|
253
253
|
})();
|