UNPKG

owhat-job

Version:

owhat红包清理

799 lines (621 loc) 67.1 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); 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"); }); }; } _myprocesscontroller2.default.start(_asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee18() { var conf, count, max, threadcount, ossprop, indexOssPath, that, refreshOSS, buidCategoryData, buildArticlePage, buildArticleList, initData; return _regenerator2.default.wrap(function _callee18$(_context18) { while (1) { switch (_context18.prev = _context18.next) { case 0: conf = _gcl2.default.AppSettings(this.Config, "law_static"); if (conf) { _context18.next = 3; break; } throw new Error('law-static配置获取失败!'); case 3: count = parseInt(conf.count || 1000); max = parseInt(conf.max || 1); threadcount = conf.threadcount || 1; ossprop = conf.ossprop; //OSS配置 indexOssPath = ossprop.objectNames.IndexObject; console.log('数据初始化完成', threadcount, max); that = this; //获取“redis"操作实例 that.Temp = this.Middler.getObjectByAppName('Ni', 'MT'); refreshOSS = function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(objectName, result) { var client; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: //上传 client = new _aliOss2.default({ region: ossprop.region, bucket: ossprop.bucket, internal: ossprop.internal, accessKeyId: ossprop.key, accessKeySecret: ossprop.secret, secure: true }); console.log('oss待上传--' + objectName, result); _context.next = 4; return client.put(objectName, Buffer.from(result)); case 4: console.log('oss已上传--' + objectName); return _context.abrupt('return', false); case 6: case 'end': return _context.stop(); } } }, _callee, this); })); return function refreshOSS(_x, _x2) { return _ref2.apply(this, arguments); }; }(); //“类别”递归获取子节点 buidCategoryData = function getJsonTree(arrays, parentId) { var dest = []; for (var i = 0; i < arrays.length; i++) { var obj = arrays[i]; if (obj.ParentID == parentId) { var newObj = {}; newObj.ID = obj.ID; newObj.Name = obj.Name; // newObj.Sort = obj.Sort; var childs = getJsonTree(arrays, obj.ID); if (childs.length > 0) { newObj.childs = getJsonTree(arrays, obj.ID); } dest.push(newObj); } } return dest; }; //生成categoryID列表页 buildArticlePage = function () { var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee3(lcount, alistPageSize, categoryID) { var pageNums, pageFn, index, pageIndex, pageObj; return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: pageNums = lcount % alistPageSize == 0 ? lcount / alistPageSize : parseInt(lcount / alistPageSize) + 1; pageFn = function () { var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2(jsonObj) { var ret, dataList; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return that.Ni.excute('law.getArtsByPageIndex', { Fileds: jsonObj["Fileds"], Table: jsonObj["Table"], Where: jsonObj["Where"], Order: jsonObj["Order"], PageIndex: jsonObj["PageIndex"], PageSize: jsonObj["PageSize"] }); case 2: ret = _context2.sent; if (!ret.hasData()) { _context2.next = 8; break; } dataList = ret.last()[0]; if (!(dataList.length > 0)) { _context2.next = 8; break; } _context2.next = 8; return refreshOSS(jsonObj.OssPath, _gcl2.default.toJsonString({ "data": dataList })); case 8: case 'end': return _context2.stop(); } } }, _callee2, this); })); return function pageFn(_x6) { return _ref4.apply(this, arguments); }; }(); index = 0; case 3: if (!(index < pageNums)) { _context3.next = 20; break; } pageIndex = index + 1; pageObj = { Fileds: "*", Table: 'v_article', Where: 'categoryID=' + categoryID, Order: 'isHomeTop DESC,weight DESC', PageIndex: pageIndex, PageSize: alistPageSize, OssPath: ossprop.objectNames.articleList_new + categoryID + "/" + pageIndex + ".json" }; _context3.next = 8; return pageFn(pageObj); case 8: pageObj.Order = 'isHomeTop DESC, viewCount DESC, collectCount DESC'; pageObj.OssPath = ossprop.objectNames.articleList_hot + categoryID + "/" + pageIndex + ".json"; _context3.next = 12; return pageFn(pageObj); case 12: pageObj.Where += " AND isExcel=1 "; pageObj.Order = 'isHomeTop DESC,weight DESC'; pageObj.OssPath = ossprop.objectNames.articleList_classic + categoryID + "/" + pageIndex + ".json"; _context3.next = 17; return pageFn(pageObj); case 17: index++; _context3.next = 3; break; case 20: case 'end': return _context3.stop(); } } }, _callee3, this); })); return function buildArticlePage(_x3, _x4, _x5) { return _ref3.apply(this, arguments); }; }(); //文章列表生成 buildArticleList = function () { var _ref5 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee5() { var _this = this; var ret, result; return _regenerator2.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.next = 2; return that.Ni.excute('law.groupCategory'); case 2: ret = _context5.sent; if (ret.hasData()) { result = ret.last()[0]; result.forEach(function () { var _ref6 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee4(item) { return _regenerator2.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: // console.log("||||||||||||||||||||||||||||||||||"); buildArticlePage(item.lcount, conf.alistPageSize, item.categoryID); case 1: case 'end': return _context4.stop(); } } }, _callee4, _this); })); return function (_x7) { return _ref6.apply(this, arguments); }; }()); } case 4: case 'end': return _context5.stop(); } } }, _callee5, this); })); return function buildArticleList() { return _ref5.apply(this, arguments); }; }(); //文章列表初始数据生成 _context18.next = 17; return buildArticleList(); case 17: //“首页”除文章列表数据生成 initData = function () { var _ref7 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee7() { var ret, data, dataList, categorys, authors, classics, famousQuotes, finances, banners, topics, topiceds, topicings, topicJsonObj, comUpOss; return _regenerator2.default.wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: _context7.next = 2; return that.Ni.excute('law.getStaticData', { Type: 0 }); case 2: ret = _context7.sent; //初始化 data = { "authors": [], "classics": [], "famousQuotes": [], "finances": [], "banners": [], "categorys": [], "topicings": [], "topiceds": [] }; if (ret.hasData()) { dataList = ret.last(); // console.log(dataList); //文章类别数据 categorys = dataList[0]; // console.log("5555555555555555555555"); // var filterCats=categorys.filter((item)=>{ // return item.ParentID!=null; // }); // console.log(filterCats); data.categorys = buidCategoryData(categorys, null); //todo:https://law-jxrc.oss-cn-beijing.aliyuncs.com/static/index/categorys.js?spm=5176.8466032.0.dopenurl.52971450Dm8Lz7&file=categorys.js //专家数据 authors = dataList[1]; data.authors = authors; //经典文章数据 classics = dataList[2]; data.classics = classics; //名人名言数据 famousQuotes = dataList[3]; data.famousQuotes = famousQuotes; //融资数据 finances = dataList[4]; data.finances = finances; //banner数据 banners = dataList[5]; data.banners = banners; // //进行中课题数据 // var topicings = dataList[6]; // data.topicings = topicings; //课题数据 topics = dataList[6]; // data.topiceds = topiceds; topiceds = topics.filter(function (x) { return x.Type === 0; }).map(function (x) { delete x.Type; return x; }); topicings = topics.filter(function (x) { return x.Type === 1; }).map(function (x) { delete x.Type; return x; }); topicJsonObj = { "topiceds": topiceds, "topicings": topicings }; data.topics = topicJsonObj; } comUpOss = function () { var _ref8 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee6(objName, propName) { var jsStr; return _regenerator2.default.wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: // let result = {}; // result[propName] = data[propName]; jsStr = 'var ' + propName + ' = ' + _gcl2.default.toJsonString(data[propName]); _context6.next = 3; return refreshOSS(objName, jsStr); case 3: case 'end': return _context6.stop(); } } }, _callee6, this); })); return function comUpOss(_x8, _x9) { return _ref8.apply(this, arguments); }; }(); //上传categorys comUpOss(indexOssPath + "categorys.js", "categorys"); //上传authors comUpOss(indexOssPath + "authors.js", "authors"); //上传classics comUpOss(indexOssPath + "classics.js", "classics"); //上传famousQuotes comUpOss(indexOssPath + "famousQuotes.js", "famousQuotes"); //上传finances comUpOss(indexOssPath + "finances.js", "finances"); //上传banners comUpOss(indexOssPath + "banners.js", "banners"); //上传课题 comUpOss(indexOssPath + "topics.js", "topics"); // //上传topicings // comUpOss(indexOssPath + "topiceds.js", "topiceds") case 13: case 'end': return _context7.stop(); } } }, _callee7, this); })); return function initData() { return _ref7.apply(this, arguments); }; }(); _context18.next = 20; return initData(); case 20: return _context18.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, 'wk', threadcount, max)); } _createClass(_class, [{ key: 'getData', value: function () { var _ref9 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee8(data) { var ret, result, map; return _regenerator2.default.wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: console.log('static-schedule获取数据'); ret = null; _context8.prev = 2; _context8.next = 5; return that.Temp.excute('add.redis.getschedulemsmq', { count: count }); case 5: ret = _context8.sent; console.log('getschedulemsmq', ret.hasData() && ret.last()[0]); if (!(ret.hasData() && ret.last()[0].length && !ret.last()[0][0].affected)) { _context8.next = 15; break; } result = []; map = {}; ret.last()[0].map(function (v) { try { var value = _gcl2.default.json(v.value); !map[value.Type] && (map[value.Type] = { type: value.Type, paras: value.paras }, result[result.length] = map[value.Type]); } catch (ee) { that.Log.release('add.redis.getschedulemsmq-单条 -' + ee.message + ',json=' + _gcl2.default.toJsonString(v)); console.log('add.redis.getschedulemsmq-单条 -', ee.stack, _gcl2.default.toJsonString(v)); } }); console.log('add.redis.getschedulemsmq', '\u83B7\u53D6' + ret.last()[0].length + '\u6761\u6570\u636E', result); return _context8.abrupt('return', result); case 15: if (!ret.hasData()) { console.log('没有返回数据!', ret.last()); } else { console.log('奇怪错误 未返回返回数据 也没有此次请求的num'); } case 16: _context8.next = 22; break; case 18: _context8.prev = 18; _context8.t0 = _context8['catch'](2); that.Log.release('add.redis.getschedulemsmq -' + _context8.t0.message + ',json=' + _gcl2.default.toJsonString(ret.last())); console.log('add.redis.getschedulemsmq -', _context8.t0.stack, ret.last()); case 22: if (ret) { ret.clear(); } return _context8.abrupt('return', null); case 24: case 'end': return _context8.stop(); } } }, _callee8, this, [[2, 18]]); })); function getData(_x10) { return _ref9.apply(this, arguments); } return getData; }() }, { key: 'custom', value: function () { var _ref10 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee15(ret, data) { var _this3 = this; var res, result, params, ni, buildData, buildAuthorByID, buildArticleList; return _regenerator2.default.wrap(function _callee15$(_context15) { while (1) { switch (_context15.prev = _context15.next) { case 0: if (!data.array) data.array = 1;else data.array++; if (!data.Log) { data.Log = that.Log; //data.Ni = that.Ni; // data.Ni = that.Middler.getObjectByAppName('Ni', 'MT'); data.Config = that.Config; } res = null; result = void 0; params = ret.paras; if (!params) { params = []; } // console.log(V.toJsonString(params)); ni = that.Middler.getObjectByAppName('Ni', 'MT'); _context15.prev = 7; buildData = function () { var _ref11 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee9(type, ossObjName, propName) { var jsonObj, returnObj, topiceds, topicings, jsStr; return _regenerator2.default.wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { case 0: _context9.next = 2; return ni.excute('law.getStaticData', { Type: type }); case 2: res = _context9.sent; result = {}; result[propName] = []; if (!res.hasData()) { _context9.next = 23; break; } jsonObj = null; returnObj = res.last()[0]; _context9.t0 = type; _context9.next = _context9.t0 === 1 ? 11 : _context9.t0 === 7 ? 13 : 17; break; case 11: jsonObj = buidCategoryData(returnObj, null); // jsStr = 'var categorys = ' + V.toJsonString(buidCategoryData(res.last()[0], null)); // result[propName] = buidCategoryData(res.last()[0], null); return _context9.abrupt('break', 19); case 13: topiceds = returnObj.filter(function (x) { return x.Type === 0; }).map(function (x) { delete x.Type; return x; }); topicings = returnObj.filter(function (x) { return x.Type === 1; }).map(function (x) { delete x.Type; return x; }); jsonObj = { "topiceds": topiceds, "topicings": topicings }; return _context9.abrupt('break', 19); case 17: // result[propName] = res.last()[0]; // jsStr = 'var ' + propName + ' = ' + V.toJsonString(res.last()[0]); jsonObj = returnObj; return _context9.abrupt('break', 19); case 19: if (!(jsonObj != null)) { _context9.next = 23; break; } jsStr = 'var ' + propName + ' = ' + _gcl2.default.toJsonString(jsonObj); //静态文件结构 _context9.next = 23; return refreshOSS(ossObjName, jsStr); case 23: case 'end': return _context9.stop(); } } }, _callee9, this); })); return function buildData(_x13, _x14, _x15) { return _ref11.apply(this, arguments); }; }(); buildAuthorByID = function () { var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee10(authorID) { var authorRes, authorObj, jsonStr, jsStr; return _regenerator2.default.wrap(function _callee10$(_context10) { while (1) { switch (_context10.prev = _context10.next) { case 0: _context10.next = 2; return that.Middler.getObjectByAppName('Ni', 'MT').excute('law.getAuthorByID', { AuthorID: authorID }); case 2: authorRes = _context10.sent; if (!authorRes.hasData()) { _context10.next = 11; break; } authorObj = authorRes.last()[0][0]; jsonStr = _gcl2.default.toJsonString(authorObj); jsStr = 'var author = ' + jsonStr; _context10.next = 9; return refreshOSS(ossprop.objectNames.author + authorObj.ID + ".json", jsonStr); case 9: _context10.next = 11; return refreshOSS(ossprop.objectNames.author + authorObj.ID + ".js", jsStr); case 11: case 'end': return _context10.stop(); } } }, _callee10, this); })); return function buildAuthorByID(_x16) { return _ref12.apply(this, arguments); }; }(); buildArticleList = function () { var _ref13 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee11(categoryID) { var alRet; return _regenerator2.default.wrap(function _callee11$(_context11) { while (1) { switch (_context11.prev = _context11.next) { case 0: _context11.next = 2; return that.Middler.getObjectByAppName('Ni', 'MT').excute('law.getCategoryPage', { categoryID: categoryID }); case 2: alRet = _context11.sent; if (!(alRet.hasData() && alRet.last()[0][0])) { _context11.next = 6; break; } _context11.next = 6; return buildArticlePage(alRet.last()[0][0].lcount, conf.alistPageSize, categoryID); case 6: case 'end': return _context11.stop(); } } }, _callee11, this); })); return function buildArticleList(_x17) { return _ref13.apply(this, arguments); }; }(); _context15.t0 = ret.type; _context15.next = _context15.t0 === 'upd.category' ? 14 : _context15.t0 === 'upd.author' ? 18 : _context15.t0 === 'upd.classic' ? 22 : _context15.t0 === 'upd.famousQuote' ? 25 : _context15.t0 === 'upd.finance' ? 28 : _context15.t0 === 'upd.banner' ? 31 : _context15.t0 === 'upd.topic' ? 34 : _context15.t0 === 'upd.article' ? 37 : 39; break; case 14: //更新类别下文章列表 params.forEach(function () { var _ref14 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee12(item) { return _regenerator2.default.wrap(function _callee12$(_context12) { while (1) { switch (_context12.prev = _context12.next) { case 0: _context12.next = 2; return buildArticleList(item); case 2: case 'end': return _context12.stop(); }