| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 'use strict'/** * 推送表模型 * * @author LanJianRong * @date 2017/11/16 * @version */module.exports = app => {    class NoticePush extends app.BaseService {        /**         * 构造函数         *         * @param {Object} ctx - egg全局变量         * @return {void}         */        constructor(ctx) {            super(ctx)            this.tableName = 'notice'        }        /**         * 将未读记录设置成已读         * @param {Number} id 推送记录id         */        async set(id) {            await this.update({ is_read: 1 }, { id })        }        /**         * 查询所有推送记录         * @param {Integer} pid - 项目id         * @param {Integer} uid - 查询人id         */        async getNotice(pid, uid = 0) {            const wheres = { pid };            if (uid !== 0) {                wheres.uid = uid;            }            let notice = await this.db.select(this.tableName, {                where: wheres,                orders: [['create_time', 'desc']],                limit: 10,                offset: 0            })            notice = notice.map(v => {                const extra = JSON.parse(v.content)                delete v.content                return { ...v, ...extra }            })            return notice        }        /**         * 查询所有推送记录         * @param {Integer} pid - 项目id         * @param {Integer} uid - 查询人id         */        async getNoticeByDataCollect(pid, tenderIds = []) {            const wheres = { pid };            let notice = await this.db.select(this.tableName, {                where: wheres,                orders: [['create_time', 'desc']],                limit: 10,                offset: 0            })            notice = notice.map(v => {                const extra = JSON.parse(v.content)                delete v.content                return { ...v, ...extra }            })            return notice        }    }    return NoticePush}
 |