| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- const fs = require('fs');
 
- const path = require('path');
 
- var util = require('util');
 
- var logPath = path.join(__dirname, 'recover_ledger_his.log');
 
- var logFile = fs.createWriteStream(logPath, { flags: 'a' });
 
- console.log = function() {
 
-     logFile.write(util.format.apply(null, arguments) + '\n');
 
-     process.stdout.write(util.format.apply(null, arguments) + '\n');
 
- };
 
- const mysql = require('mysql');
 
- const oss = require('ali-oss');
 
- const config = process.argv.splice(2)[0];
 
- if (['local', 'uat', 'default'].indexOf(config) < 0) throw `参数错误: ${config}`;
 
- const options = require(`../config/config.${config}`)({ baseDir: __dirname + '/app', root: __dirname, name: 'calc' });
 
- const pool = mysql.createPool(options.mysql.client);
 
- const ossOption = {
 
-     bucket: options.oss.clients.his.bucket,
 
-     accessKeyId: options.oss.default.accessKeyId,
 
-     accessKeySecret: options.oss.default.accessKeySecret,
 
-     endpoint: options.oss.default.endpoint,
 
-     timeout: options.oss.default.timeout,
 
- };
 
- const ossClient = new oss(ossOption);
 
- const querySql = async function(sql, sqlParam) {
 
-     return new Promise(function(resolve, reject) {
 
-         pool.getConnection(function(err, conn) {
 
-             if (err) {
 
-                 if (err) console.log(err);
 
-                 reject(err);
 
-             } else {
 
-                 conn.query(sql, sqlParam, function(err, rows, fields) {
 
-                     if (err) console.log(err);
 
-                     // 释放连接
 
-                     conn.release();
 
-                     // 传递Promise回调对象
 
-                     resolve(rows);
 
-                 });
 
-             }
 
-         });
 
-     });
 
- };
 
- const recoverLedgerHis = async function (id, countField, url) {
 
-     let File;
 
-     try {
 
-         File = await ossClient.get('undefined' + url);
 
-     } catch(err) {
 
-         if (err.status === 404) return;
 
-     }
 
-     if (File.res.status !== 200) {
 
-         await ossClient.put(options.hisOssPath + url, File.content);
 
-         // const result = JSON.parse(File.content);
 
-         // await querySql(`Update zh_ledger_history Set ${countField} = ? Where id = ?`, [result.length, l.id]);
 
-         // console.log(`LedgerHis: ${countField}-${result.length}`);
 
-     }
 
- };
 
- const checkLedgerHis = async function (his) {
 
-     await recoverLedgerHis(his.id, 'bills_count', his.bills_file);
 
-     await recoverLedgerHis(his.id, 'pos_count', his.pos_file);
 
- };
 
- const doComplete = async function() {
 
-     try {
 
-         const ledgerHis = await querySql('Select * From zh_ledger_history where tid = 5709');
 
-         for (const l of ledgerHis) {
 
-             await checkLedgerHis(l);
 
-         }
 
-     } catch (err) {
 
-         console.log(err);
 
-     }
 
-     pool.end();
 
- };
 
- doComplete();
 
 
  |