UNPKG

rapid-db

Version:

Rapid Database Interface

36 lines (31 loc) 923 B
/** * Copyright (c) 2017 Lucky Byte, Inc. */ const debug = require('debug')('db'); const moment = require('moment'); /** * 生成一个新的无跳转 Token 并返回,token 长度 N13...19 * * 参数 * db: 数据库对象,如果为空,则使用全局 _unique_db * 返回 * 新的 Token,保证在系统内唯一 * * Token 格式 * YYYYMMDDHHmmss + 4位序号 */ const new_token = async (type, db) => { db = db || _unique_db; if (!db) { throw new Error('数据库对象无效,检查是否已初始化数据库'); } const results = await db.one(` update rapid_serials set order_id = order_id + 1 returning order_id `); const order_id = '000000' + results.order_id; const prefix = moment().format('YYYYMMDDHHmmss'); const suffix = order_id.substr(order_id.length - 4); return prefix + suffix; } module.exports = new_token;