| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | '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<void>} 数据库插入执行实例         */        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;};
 |