UNPKG

owhat-job

Version:

owhat红包清理

828 lines (678 loc) 185 kB
'use strict'; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; var _gcl = require('gcl'); var _gcl2 = _interopRequireDefault(_gcl); var _myprocesscontroller = require('myprocesscontroller'); var _myprocesscontroller2 = _interopRequireDefault(_myprocesscontroller); var _aliOss = require('ali-oss'); var _aliOss2 = _interopRequireDefault(_aliOss); var _eshelper = require('./util/eshelper'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } //console.log = function() {}; _myprocesscontroller2.default.start(_asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee37() { var conf, count, max, threadcount, that; return _regenerator2.default.wrap(function _callee37$(_context37) { while (1) { switch (_context37.prev = _context37.next) { case 0: conf = _gcl2.default.AppSettings(this.Config, "add_file"); if (conf) { _context37.next = 3; break; } throw new Error('add_static配置获取失败!'); case 3: count = parseInt(conf.count || 1000); max = parseInt(conf.max || 1); threadcount = conf.threadcount || 1; console.log('数据库初始化完成', threadcount, max); that = this; return _context37.abrupt('return', new _myprocesscontroller2.default.CACProcess(new (function (_pro$ADataWorker) { _inherits(_class, _pro$ADataWorker); function _class() { _classCallCheck(this, _class); return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, 'file', threadcount, max)); } _createClass(_class, [{ key: 'getData', value: function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(data) { var ret, result, map; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: console.log('file-schedule获取数据'); ret = null; _context.prev = 2; _context.next = 5; return that.Ni.excute('add.redis.getstaticmq', { count: count }); case 5: ret = _context.sent; console.log('getschedulemq', ret.hasData() && ret.last()[0]); if (!(ret.hasData() && ret.last()[0].length && !ret.last()[0][0].affected)) { _context.next = 15; break; } result = []; map = {}; ret.last()[0].map(function (v) { try { var value = _gcl2.default.json(v.value); result[result.length] = { type: value.Type, params: value.Params }; } catch (ee) { that.Log.release('add.redis.getstaticmq-单条 -' + ee.message + ',json=' + _gcl2.default.toJsonString(v)); console.log('add.redis.getstaticmq-单条 -', ee.stack, _gcl2.default.toJsonString(v)); } }); console.log('add.redis.getstaticmq', '\u83B7\u53D6' + ret.last()[0].length + '\u6761\u6570\u636E', result); return _context.abrupt('return', result); case 15: if (!ret.hasData()) { console.log('没有返回数据!', ret.last()); } else { console.log('奇怪错误 未返回返回数据 也没有此次请求的num'); } case 16: _context.next = 22; break; case 18: _context.prev = 18; _context.t0 = _context['catch'](2); that.Log.release('add.redis.getschedulemsmq -' + _context.t0.message + ',json=' + _gcl2.default.toJsonString(ret.last())); console.log('add.redis.getschedulemsmq -', _context.t0.stack, ret.last()); case 22: if (ret) { ret.clear(); } return _context.abrupt('return', null); case 24: case 'end': return _context.stop(); } } }, _callee, this, [[2, 18]]); })); function getData(_x) { return _ref2.apply(this, arguments); } return getData; }() }, { key: 'custom', value: function () { var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2(ret, data) { var res, name, result, params, _this; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: if (!data.array) data.array = 1;else data.array++; if (!data.Log) { data.Log = that.Log; data.Ni = that.Middler.getObjectByAppName('Ni', 'templatemanager'); data.Config = that.Config; } res = null; name = void 0; result = void 0; params = ret.params; _this = this; _context2.prev = 7; _context2.t0 = ret.type.toLowerCase(); _context2.next = _context2.t0 === 'index.banner' ? 11 : _context2.t0 === 'index.author' ? 14 : _context2.t0 === 'authors' ? 17 : _context2.t0 === 'author' ? 20 : _context2.t0 === 'index.article' ? 23 : _context2.t0 === 'index.articleexcel' ? 26 : _context2.t0 === 'index.articlehot' ? 29 : _context2.t0 === 'article' ? 32 : _context2.t0 === 'index.excel' ? 35 : _context2.t0 === 'article.comment' ? 38 : _context2.t0 === 'comment.report' ? 41 : _context2.t0 === 'index.topic' ? 44 : _context2.t0 === 'topics' ? 47 : _context2.t0 === 'topic' ? 50 : _context2.t0 === 'index.finance' ? 53 : _context2.t0 === 'index.category' ? 56 : _context2.t0 === 'index.motto' ? 59 : _context2.t0 === 'index.excels' ? 62 : _context2.t0 === 'index.partner' ? 65 : 68; break; case 11: _context2.next = 13; return this.buildIndexBanner(data.Ni); case 13: return _context2.abrupt('break', 70); case 14: _context2.next = 16; return this.buildIndexAuthor(data.Ni); case 16: return _context2.abrupt('break', 70); case 17: _context2.next = 19; return this.buildAuthors(data.Ni); case 19: return _context2.abrupt('break', 70); case 20: _context2.next = 22; return this.buildAuthor(data.Ni, params); case 22: return _context2.abrupt('break', 70); case 23: _context2.next = 25; return this.buildIndexArticle(data.Ni); case 25: return _context2.abrupt('break', 70); case 26: _context2.next = 28; return this.buildIndexArticleExcel(data.Ni); case 28: return _context2.abrupt('break', 70); case 29: _context2.next = 31; return this.buildIndexArticleHot(data.Ni); case 31: return _context2.abrupt('break', 70); case 32: _context2.next = 34; return this.buildArticle(data.Ni, params); case 34: return _context2.abrupt('break', 70); case 35: _context2.next = 37; return this.buildIndexExcel(data.Ni); case 37: return _context2.abrupt('break', 70); case 38: _context2.next = 40; return this.buildArticleComment(data.Ni, params); case 40: return _context2.abrupt('break', 70); case 41: _context2.next = 43; return this.buildCommentReport(data.Ni, params); case 43: return _context2.abrupt('break', 70); case 44: _context2.next = 46; return this.buildIndexTopic(data.Ni); case 46: return _context2.abrupt('break', 70); case 47: _context2.next = 49; return this.buildTopics(data.Ni); case 49: return _context2.abrupt('break', 70); case 50: _context2.next = 52; return this.buildTopic(data.Ni, params); case 52: return _context2.abrupt('break', 70); case 53: _context2.next = 55; return this.buildIndexFinance(data.Ni); case 55: return _context2.abrupt('break', 70); case 56: _context2.next = 58; return this.buildIndexCategory(data.Ni); case 58: return _context2.abrupt('break', 70); case 59: _context2.next = 61; return this.buildIndexMotto(data.Ni); case 61: return _context2.abrupt('break', 70); case 62: _context2.next = 64; return this.buildExcels(data.Ni); case 64: return _context2.abrupt('break', 70); case 65: _context2.next = 67; return this.buildIndexPartner(data.Ni); case 67: return _context2.abrupt('break', 70); case 68: console.log('不支持的命令', _gcl2.default.toJsonString(ret)); return _context2.abrupt('break', 70); case 70: console.log(ret.type + '完成', ret); _context2.next = 77; break; case 73: _context2.prev = 73; _context2.t1 = _context2['catch'](7); console.log("单条处理失败" + _context2.t1.message, _gcl2.default.toJsonString(ret)); that.Log.release("单条处理失败" + _context2.t1.message + ' ' + _gcl2.default.toJsonString(ret)); case 77: _context2.prev = 77; return _context2.finish(77); case 79: if (res) { res.clear(); } return _context2.abrupt('return', false); case 81: case 'end': return _context2.stop(); } } }, _callee2, this, [[7, 73, 77, 79]]); })); function custom(_x2, _x3) { return _ref3.apply(this, arguments); } return custom; }() }, { key: 'rollback', value: function () { var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee3(v, data) { return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: console.log('rollback 抛弃数据', v); that.Log.release("单条处理放弃" + ' ' + _gcl2.default.toJsonString(v)); return _context3.abrupt('return', false); case 3: case 'end': return _context3.stop(); } } }, _callee3, this); })); function rollback(_x4, _x5) { return _ref4.apply(this, arguments); } return rollback; }() }, { key: 'dispose', value: function () { var _ref5 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee4(data) { return _regenerator2.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.prev = 0; _context4.next = 3; return _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'dispose', this).call(this, data); case 3: _context4.next = 8; break; case 5: _context4.prev = 5; _context4.t0 = _context4['catch'](0); console.log('dispose', _context4.t0.message); case 8: _context4.prev = 8; //todo 关闭特有资源 delete data.Log; delete data.Config; that.Middler.setObjectByAppName('Ni', "MT", data.Ni); delete data.Ni; return _context4.finish(8); case 14: return _context4.abrupt('return', false); case 15: case 'end': return _context4.stop(); } } }, _callee4, this, [[0, 5, 8, 14]]); })); function dispose(_x6) { return _ref5.apply(this, arguments); } return dispose; }() }, { key: 'refreshOSS', value: function () { var _ref6 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee5(name, result) { var oss, client; return _regenerator2.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: //上传 oss = conf.oss; client = new _aliOss2.default({ region: oss.region, bucket: oss.bucket, accessKeyId: oss.key, accessKeySecret: oss.secret, secure: true }); console.log('oss待上传--' + oss.path + name, result && result.length ? result.length : result.ID); _context5.next = 5; return client.put(oss.path + name, Buffer.from(typeof result === 'string' ? result : _gcl2.default.toJsonString(result))); case 5: console.log('oss已上传--' + oss.path + name); return _context5.abrupt('return', false); case 7: case 'end': return _context5.stop(); } } }, _callee5, this); })); function refreshOSS(_x7, _x8) { return _ref6.apply(this, arguments); } return refreshOSS; }() }, { key: 'delOSS', value: function () { var _ref7 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee6(name) { var oss, client; return _regenerator2.default.wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: //上传 oss = conf.oss; client = new _aliOss2.default({ region: oss.region, bucket: oss.bucket, accessKeyId: oss.key, accessKeySecret: oss.secret, secure: true }); _context6.next = 4; return client.deleteMulti(name.split(','), { quiet: true }); case 4: return _context6.abrupt('return', false); case 5: case 'end': return _context6.stop(); } } }, _callee6, this); })); function delOSS(_x9) { return _ref7.apply(this, arguments); } return delOSS; }() }, { key: 'buildIndexBanner', value: function () { var _ref8 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee7(ni) { var res; return _regenerator2.default.wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: _context7.next = 2; return ni.excute('r_emb', '~.l_banner.select', { $delFlag: 3, $startTime: '<=now()', $endTime: '>=now()', _order: 'weight desc,ID desc', _page: '0,6', ID: true, Name: true, url: true, img: true }); case 2: res = _context7.sent; _context7.next = 5; return this.refreshOSS(conf.indexbanner, 'var Banners = ' + _gcl2.default.toJsonString(res.hasData() ? res.last()[0] : []) + ';'); case 5: res.clear(); case 6: case 'end': return _context7.stop(); } } }, _callee7, this); })); function buildIndexBanner(_x10) { return _ref8.apply(this, arguments); } return buildIndexBanner; }() }, { key: 'buildIndexCategory', value: function () { var _ref9 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee8(ni) { var res, CateIdic, Cates, CateParent; return _regenerator2.default.wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: _context8.next = 2; return ni.excute('r_emb', '~.l_category.select', { $delFlag: 3, _order: 'ParentID asc,weight asc', ID: true, Name: true, ParentID: true, SonCates: true }); case 2: res = _context8.sent; CateIdic = {}; Cates = {}; CateParent = {}; res.hasData() && res.last()[0].map(function (v) { CateIdic[v.ID] = v.Name; if (v.ParentID) { var ParentName = CateIdic[v.ParentID]; if (ParentName) { Cates[ParentName].Children[v.Name] = { ID: v.ID }; CateParent[v.ID] = ParentName; } } else { Cates[v.Name] = { ID: v.ID }; !!v.SonCates && (Cates[v.Name].Children = {}); } return null; }); _context8.next = 9; return this.refreshOSS(conf.indexcategory, 'var Cates=' + _gcl2.default.toJsonString(Cates) + ';var CateIdic=' + _gcl2.default.toJsonString(CateIdic) + ';var CateParent=' + _gcl2.default.toJsonString(CateParent) + ';'); case 9: res.clear(); case 10: case 'end': return _context8.stop(); } } }, _callee8, this); })); function buildIndexCategory(_x11) { return _ref9.apply(this, arguments); } return buildIndexCategory; }() }, { key: 'buildIndexFinance', value: function () { var _ref10 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee9(ni) { var res; return _regenerator2.default.wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { case 0: _context9.next = 2; return ni.excute('r_emb', '~.l_financeinfo.select', { $delFlag: 3, $createTime: '>=date_add(now(),interval -30 day)', _page: '0,3', _order: 'ID desc', ID: true, intro: true, company: true }); case 2: res = _context9.sent; _context9.next = 5; return this.refreshOSS(conf.indexfinance, 'var Finances=' + _gcl2.default.toJsonString(res.hasData() ? res.last()[0] : []) + ';'); case 5: res.clear(); case 6: case 'end': return _context9.stop(); } } }, _callee9, this); })); function buildIndexFinance(_x12) { return _ref10.apply(this, arguments); } return buildIndexFinance; }() }, { key: 'buildIndexMotto', value: function () { var _ref11 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee10(ni) { var res; return _regenerator2.default.wrap(function _callee10$(_context10) { while (1) { switch (_context10.prev = _context10.next) { case 0: _context10.next = 2; return ni.excute('r_emb', '~.l_motto.select', { $delFlag: 3, $topStartTime: '<=now()', $endStartTime: '>=now()', _order: 'ID desc', _page: '0,1', ID: true, headerImage: true, intro: true, name: true }); case 2: res = _context10.sent; if (res.hasData()) { _context10.next = 7; break; } _context10.next = 6; return ni.excute('r_emb', '~.l_motto.select', { $delFlag: 3, _order: 'uuid() asc', _page: '0,1', ID: true, headerImage: true, intro: true, name: true }); case 6: res = _context10.sent; case 7: _context10.next = 9; return this.refreshOSS(conf.indexmotto, 'var Mottos=' + _gcl2.default.toJsonString(res.hasData() ? res.last()[0] : []) + ';'); case 9: res.clear(); case 10: case 'end': return _context10.stop(); } } }, _callee10, this); })); function buildIndexMotto(_x13) { return _ref11.apply(this, arguments); } return buildIndexMotto; }() }, { key: 'buildIndexPartner', value: function () { var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee11(ni) { var res, cooperater, joiner; return _regenerator2.default.wrap(function _callee11$(_context11) { while (1) { switch (_context11.prev = _context11.next) { case 0: _context11.next = 2; return ni.excute('r_emb', '~.l_partner.select', { $delFlag: 3, _order: 'ID desc', ID: true, Name: true, URL: true, Type: true }); case 2: res = _context11.sent; cooperater = [], joiner = []; res.hasData() && res.last().map(function (v) { return !v.Type ? cooperater.push(v) : joiner.push(v); }); _context11.next = 7; return this.refreshOSS(conf.indexpartner, 'var Partners=' + _gcl2.default.toJsonString({ cooperater: cooperater, joiner: joiner }) + ';'); case 7: res.clear(); case 8: case 'end': return _context11.stop(); } } }, _callee11, this); })); function buildIndexPartner(_x14) { return _ref12.apply(this, arguments); } return buildIndexPartner; }() }, { key: 'buildIndexExcel', value: function () { var _ref13 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee12(ni) { var res; return _regenerator2.default.wrap(function _callee12$(_context12) { while (1) { switch (_context12.prev = _context12.next) { case 0: _context12.next = 2; return ni.excute('r_emb', '~.l_article.select', { $delFlag: 3, $isExcel: 1, _order: 'createTime desc', _page: '0,6', ID: true, Name: true, intro: true, createrName: true }); case 2: res = _context12.sent; _context12.next = 5; return this.refreshOSS(conf.indexexcel, 'var Excels=' + _gcl2.default.toJsonString(res.hasData() ? res.last()[0] : []) + ';'); case 5: res.clear(); case 6: case 'end': return _context12.stop(); } } }, _callee12, this); })); function buildIndexExcel(_x15) { return _ref13.apply(this, arguments); } return buildIndexExcel; }() }, { key: 'buildIndexTopic', value: function () { var _ref14 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee13(ni) { var res, ending, ended, author; return _regenerator2.default.wrap(function _callee13$(_context13) { while (1) { switch (_context13.prev = _context13.next) { case 0: _context13.next = 2; return ni.excute('r_emb', '~.l_topic.select', { $delFlag: '~=3,4', _order: 'createTime desc', _page: '0,6', ID: true, Name: true, categoryID: true, delFlag: true, authorID: true,