'use strict'; const auditConst = require('../const/audit'); /** * 附件表 数据模型 * @author LanJianRong * @date 2020/6/30 * @version */ module.exports = app => { class MaterialFile extends app.BaseService { /** * 构造函数 * * @param {Object} ctx - egg全局变量 * @return {void} */ constructor(ctx) { super(ctx); this.tableName = 'material_file'; } /** * 获取当前标段(期)所有上传的附件 * @param {Number} tid 标段id * @param {Number?} mid 期id * @return {Promise} 数据库查询实例 */ async getAllMaterialFiles(tid, mid) { const where = { tid }; if (mid) where.mid = mid; return await this.db.select(this.tableName, { where, orders: [['upload_time', 'desc']], }); } /** * 存储上传的文件信息至数据库 * @param {Array} payload 载荷 * @return {Promise} 数据库插入执行实例 */ async saveFileMsgToDb(payload) { return await this.db.insert(this.tableName, payload); } /** * 获取单个文件信息 * @param {Number} id 文件id * @return {Promise} 数据库查询实例 */ async getMaterialFileById(id) { return await this.getDataByCondition({ id }); } /** * 删除附件 * @param {Number} id - 附件id * @return {void} */ async delete(id) { return await this.deleteById(id); } } return MaterialFile; };