'use strict'; /** * 指标模板 -- 指标节点业务类 * * @author Mai * @date 2018/4/19 * @version */ module.exports = app => { class TemplateIndex extends app.BaseService { /** * 构造函数 * * @param {Object} ctx - egg全局context * @return {void} */ constructor(ctx) { super(ctx); this.tableName = 'template_index'; } /** * 导入指标数据 * * @param {Array|Object} datas * @param transaction - 事务 * @returns {Promise} */ async importData(data, transaction, templateId = 1) { const datas = data instanceof Array ? data : [data]; await transaction.delete(this.tableName, {template_id: templateId}); const insertResult = await transaction.insert(this.tableName, datas); if (insertResult.affectedRows !== datas.length) { throw '导入指标错误'; } } /** * 设置计算规则 * 应同步设置rule, calc_rule, parse_rule * * @param data * @returns {Promise<*>} */ async setRule(data) { const result = await this.db.update(this.tableName, data); return result; } } return TemplateIndex; };