|
@@ -3,6 +3,8 @@ const { CrudService } = require('naf-framework-mongoose-free/lib/service');
|
|
|
const { BusinessError, ErrorCode } = require('naf-core').Error;
|
|
|
const _ = require('lodash');
|
|
|
const Excel = require('exceljs');
|
|
|
+const { ObjectId } = require('mongoose').Types;
|
|
|
+const moment = require('moment');
|
|
|
// 用户
|
|
|
class UserService extends CrudService {
|
|
|
constructor(ctx) {
|
|
@@ -42,6 +44,21 @@ class UserService extends CrudService {
|
|
|
const token = this.ctx.service.util.jwt.encrypt(user);
|
|
|
return token;
|
|
|
}
|
|
|
+ // 监听用户vip信息
|
|
|
+ async watchvip() {
|
|
|
+ const list = [];
|
|
|
+ const data = await this.model.find();
|
|
|
+ for (const val of data) {
|
|
|
+ if (val.is_vip === '1') {
|
|
|
+ if (moment().isAfter(val.vip_end_time)) list.push(val);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (list.length > 0) {
|
|
|
+ for (const val of list) {
|
|
|
+ await this.model.updateOne({ _id: ObjectId(val._id) }, { is_vip: '0' });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
module.exports = UserService;
|