|
@@ -7,7 +7,7 @@
|
|
|
* @date 2017/11/16
|
|
|
* @version
|
|
|
*/
|
|
|
-
|
|
|
+const auditConst = require('../const/audit');
|
|
|
module.exports = app => {
|
|
|
class NoticePush extends app.BaseService {
|
|
|
/**
|
|
@@ -30,27 +30,31 @@ module.exports = app => {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 查询所有推送记录
|
|
|
+ * 查询所有推送记录(取每个审批类型的前20条再拼接)
|
|
|
* @param {Integer} pid - 项目id
|
|
|
* @param {Integer} uid - 查询人id
|
|
|
*/
|
|
|
async getNotice(pid, uid = 0) {
|
|
|
- const wheres = { pid };
|
|
|
- if (uid !== 0) {
|
|
|
- wheres.uid = uid;
|
|
|
+ const noticeList = [];
|
|
|
+ for (const type in auditConst.pushType) {
|
|
|
+ const wheres = { pid, type: auditConst.pushType[type] };
|
|
|
+ if (uid !== 0) {
|
|
|
+ wheres.uid = uid;
|
|
|
+ }
|
|
|
+ let notice = await this.db.select(this.tableName, {
|
|
|
+ where: wheres,
|
|
|
+ orders: [['create_time', 'desc']],
|
|
|
+ limit: 20,
|
|
|
+ offset: 0
|
|
|
+ });
|
|
|
+ notice = notice.map(v => {
|
|
|
+ const extra = JSON.parse(v.content);
|
|
|
+ delete v.content;
|
|
|
+ return { ...v, ...extra };
|
|
|
+ });
|
|
|
+ noticeList.push(...notice);
|
|
|
}
|
|
|
- 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 this._.orderBy(noticeList, ['create_time'], ['desc']);
|
|
|
}
|
|
|
|
|
|
/**
|