| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 'use strict';/** * Created by Tony on 2019/9/26. */const BaseService = require('../base/base_service');module.exports = app => {    class SignatureRole extends BaseService {        /**         * 构造函数         *         * @param {Object} ctx - egg全局变量         * @return {void}         */        constructor(ctx) {            super(ctx);            this.tableName = 'signature_role';            this.dataId = 'id';        }        async getSignatureRoleById(id) {            this.initSqlBuilder();            this.sqlBuilder.setAndWhere('id', {                value: id,                operate: '=',            });            this.sqlBuilder.columns = ['id', 'name', 'bind_acc_id', 'prj_id', 'tender_id'];            const [sql, sqlParam] = this.sqlBuilder.build(this.tableName);            const list = await this.db.query(sql, sqlParam);            return list;        }        async getSignatureRolesByTenderId(tenderId) {            // 依据需求,角色是标段level通用            this.initSqlBuilder();            this.sqlBuilder.setAndWhere('tender_id', {                value: tenderId,                operate: '=',            });            this.sqlBuilder.columns = ['id', 'name', 'bind_acc_id', 'prj_id', 'tender_id'];            const [sql, sqlParam] = this.sqlBuilder.build(this.tableName);            const list = await this.db.query(sql, sqlParam);            return list;        }        async createRole(name, acc_id, prj_id, tender_id) {            let rst = null;            this.transaction = await this.db.beginTransaction();            try {                const data = {                    id: 0,                    name: name,                    bind_acc_id: acc_id,                    prj_id: prj_id,                    tender_id: tender_id,                };                rst = await this.transaction.insert(this.tableName, data);                await this.transaction.commit();            } catch (ex) {                console.log(ex);                // 回滚                await this.transaction.rollback();            }            return rst;        }    }    return SignatureRole;};
 |