1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- // ___classname___ JSON数据导入程序
- // ___datetime_now___ 由 JsonImportGen.js 自动生成,请勿手动修改
- // 输入输出参数格式化
- input = INPUT;
- try {
- input = decodeURIComponent(input);
- } catch (e) { }
- try {
- input = base64.decode(input);
- } catch (e) { }
- try {
- input = JSON.parse(input);
- input = JSON.parse(input);
- } catch (e) { }
- output = {};
- testcfg = {};
- try {
- testcfg = JSON.parse(etcd.get("/api/test.json"));
- } catch (e) { }
- function teststoredfs() {
- // 输入JSON临时存入DFS
- dir = "/opt___classname___";
- d = new Date();
- d.setMinutes(d.getMinutes() - d.getTimezoneOffset());
- dtm = d.toJSON().replace(/[\-\:\.TZ ]/mg, "");
- fn = dir + "/" + dtm;
- if (input.id) {
- fn += "." + input.id;
- } else {
- fn += "_" + _.random(0, 1000000);
- }
- fn += ".json";
- dfs.write(fn, JSON.stringify(input, " ", 4));
- output.filename = fn;
- // 刪除旧交件
- files = dfs.readdir(dir);
- dt = Date.now() - 1000 * 3600 * 24 * 10;
- for (var i = files.length - 1; i >= 0; i--) {
- if (files[i].mtime < dt) {
- dfs.remove(files[i].fullname);
- files.splice(i, 1);
- }
- }
- // 留最后10个
- files.sort(function (a, b) { return a.mtime - b.mtime; });
- for (var i = 0; i < files.length - 10; i++) {
- dfs.remove(files[i].fullname);
- }
- }
- // 主执行阶段
- try {
- if (!input["--testing--"]) {
- if (testcfg.storedfs) {
- teststoredfs();
- }
- if (testcfg.checkfields) {
- eval(dfs.read("/script/matrix/utils/ajs/checkfields.js"));
- var newkeys = checkfields(input, ___field_map___);
- if (newkeys) {
- eval(dfs.read("/script/matrix/utils/ajs/JsonImporterFuncs.js"));
- var result = runServerJS("/matrix/utils/ajs/InitJsonImporter.js", { classname: "___classname___" });
- for (var k in result) {
- output[k] = result[k];
- }
- output.newkeys = newkeys;
- throw ("ok");
- }
- }
- }
- // 数据合法性检查
- if (___datacheck___) { }
- // mql定义
- mql = `___mql___`;
- // 执行mql
- ret = odb.mql(mql, ___values___);
- // 打印完成信息
- output.info = ___datainfo___;
- log.info(output.info);
- } catch (e) {
- if (e != "ok") {
- if (typeof (e) == "object") {
- output.error = e;
- } else if (typeof (e) == "string") {
- output.error = "插库错误:" + e;
- } else {
- output.error = JSON.stringify(e);
- }
- log.error(output.error);
- }
- }
- // 返回输出信息
- OUTPUT = output;
|