'use strict'; /** * 附件表 数据模型 * @author LanJianRong * @date 2020/8/17 * @version */ module.exports = app => { class AdvanceFile extends app.BaseService { /** * 构造函数 * @param {Object} ctx - egg全局变量 * @return {void} */ constructor(ctx) { super(ctx); this.tableName = 'advance_file'; } /** * 获取文件 * @param {*} payload 载荷|查询条件 */ async getAdvanceFiles(payload) { const { ctx } = this; const result = await this.db.select(this.tableName, { where: payload }); const list = result.map(item => { if (!ctx.helper.canPreview(item.fileext)) { item.filepath = `/tender/${ctx.tender.id}/advance/${item.vid}/file/${item.id}/download`; } else { item.filepath = this.ctx.app.config.fujianOssPath + item.filepath; } return item; }); return list; } /** * 存储上传的文件信息至数据库 * @param {Array} payload 载荷 * @return {Promise} 数据库插入执行实例 */ async saveFileMsgToDb(payload) { return await this.db.insert(this.tableName, payload); } /** * 删除附件 * @param {Number} id - 附件id * @return {void} */ async delete(id) { return await this.deleteById(id); } /** * 根据预付款id删除附件 * @param {String} vid - 预付款id * @return {void} */ async deleteByVid(vid) { await this.db.delete(this.tableName, { vid, }); } } return AdvanceFile; };