'use strict'; const assert = require('assert'); const _ = require('lodash'); const { ObjectId } = require('mongoose').Types; const { CrudService } = require('naf-framework-mongoose/lib/service'); const { BusinessError, ErrorCode } = require('naf-core').Error; class TNewsCenterService extends CrudService { constructor(ctx) { super(ctx, 't_news_center'); this.model = this.ctx.model.TNewsCenter; } // 条件查询 async select(payload) { let {skip = 0, limit = 10} = payload; let match = {}; if (payload.title) { match.title = {$regex: payload.title, $options: '$i'}; } if (payload.publish_state) { match.publish_state = payload.publish_state; } let sort = {}; if (payload.sort && payload.asc) { sort[payload.sort] = Number.parseInt(payload.asc); } else { sort = {'hot': -1}; } const total = await this.model.find(match).countDocuments(); const data = await this.model.find(match).sort(sort).skip(Number.parseInt(skip)).limit(Number.parseInt(limit)); return { data, total, }; } } module.exports = TNewsCenterService;