瀏覽代碼

feat: 待关注推送列表进行时间、标段排序

lanjianrong 4 年之前
父節點
當前提交
0308f6cd07
共有 2 個文件被更改,包括 27 次插入7 次删除
  1. 8 7
      app/controller/dashboard_controller.js
  2. 19 0
      app/service/notice_push.js

+ 8 - 7
app/controller/dashboard_controller.js

@@ -29,13 +29,14 @@ module.exports = app => {
             const auditRevise = await ctx.service.reviseAudit.getAuditRevise(ctx.session.sessionUser.accountId);
             const auditMaterial = await ctx.service.materialAudit.getAuditMaterial(ctx.session.sessionUser.accountId);
             const pa = await ctx.service.projectAccount.getDataById(ctx.session.sessionUser.accountId);
-            const lastNotice = pa.last_notice ? pa.last_notice : (pa.last_notice === 0 ? new Date() : new Date(pa.last_login * 1000));
-            const noticeLedger = await ctx.service.ledgerAudit.getNoticeTender(ctx.session.sessionProject.id, pa.id, lastNotice);
-            const noticeStage = await ctx.service.stageAudit.getNoticeStage(ctx.session.sessionProject.id, pa.id, lastNotice);
-            const noticeChange = await ctx.service.changeAudit.getNoticeChange(ctx.session.sessionProject.id, pa.id, lastNotice);
-            const noticeRevise = await ctx.service.reviseAudit.getNoticeRevise(ctx.session.sessionProject.id, pa.id, lastNotice);
-            const noticeMaterial = await ctx.service.materialAudit.getNoticeMaterial(ctx.session.sessionProject.id, pa.id, lastNotice);
-            const noticeList = [...noticeLedger, ...noticeStage, ...noticeChange, ...noticeRevise, ...noticeMaterial].sort((a, b) => a.create_time - b.create_time);
+            // const lastNotice = pa.last_notice ? pa.last_notice : (pa.last_notice === 0 ? new Date() : new Date(pa.last_login * 1000));
+            // const noticeLedger = await ctx.service.ledgerAudit.getNoticeTender(ctx.session.sessionProject.id, pa.id);
+            // const noticeStage = await ctx.service.stageAudit.getNoticeStage(ctx.session.sessionProject.id, pa.id);
+            // const noticeChange = await ctx.service.changeAudit.getNoticeChange(ctx.session.sessionProject.id, pa.id);
+            // const noticeRevise = await ctx.service.reviseAudit.getNoticeRevise(ctx.session.sessionProject.id, pa.id);
+            // const noticeMaterial = await ctx.service.materialAudit.getNoticeMaterial(ctx.session.sessionProject.id, pa.id);
+            // const noticeList = [...noticeLedger, ...noticeStage, ...noticeChange, ...noticeRevise, ...noticeMaterial].sort((a, b) => a.name.localeCompare(b.name, 'zh') && b.create_time - a.create_time).slice(0, 10);
+            const noticeList = await ctx.service.noticePush.getNotice(ctx.session.sessionProject.id, pa.id);
             // const noticeLedger = [];
             // const noticeStage = [];
             // const noticeChange = [];

+ 19 - 0
app/service/notice_push.js

@@ -30,6 +30,25 @@ module.exports = app => {
         async set(id) {
             await this.update({ is_read: 1 }, { id });
         }
+
+        /**
+         * 查询所有推送记录
+         * @param {Integer} pid - 项目id
+         * @param {Integer} uid - 查询人id
+         */
+        async getNotice(pid, uid) {
+            let notice =  await this.db.select(this.tableName, {
+                where: { pid, uid },
+                orders: [['create_time', 'desc']],
+                limit: 10, offset: 0
+            });
+            notice = notice.map(v => {
+                const extra = JSON.parse(v.content)
+                delete v.content
+                return { ...v, ...extra }
+            }).sort((a, b) => a.name === b.name)
+            return notice;
+        }
     }
     return NoticePush;
 };