'use strict'; /** * * * @author Mai * @date * @version */ const status = { cancel: 0, wait: 1, ext: 2, done: 3, error: 4, }; module.exports = app => { class BudgetFinalList extends app.BaseService { /** * 构造函数 * * @param {Object} ctx - egg全局变量 * @return {void} */ constructor(ctx) { super(ctx); this.tableName = 'budget_final_list'; } _analysisFinal(data) { data.tender = data.tender ? data.tender.split(',') : []; data.tender_info = data.tender_info ? JSON.parse(data.tender_info) : []; } async getFinal(id) { const data = await this.getDataById(id); this._analysisFinal(data); return data; } async addFinal(budget, tender) { const user = await this.ctx.service.projectAccount.getDataById(this.ctx.session.sessionUser.accountId); const final = { bid: budget.id, uid: user.id, u_name: user.name, u_role: user.role, u_company: user.company, u_mobile: user.mobile, u_login: this.ctx.session.sessionUser.loginType + ';' + this.ctx.session.sessionUser.loginStatus, tender: tender ? tender.join(',') : '', status: status.ext, }; const result = await this.db.insert(this.tableName, final); return await this.getFinal(result.insertId); } } return BudgetFinalList; };