如何自动根据他的主动服务续订日期从用户的可用信用扣除学分?如何更新的Node.js和猫鼬一定时间后用户?
让我描述什么是目前的情况。目前,我正在开发一个快速应用程序,该应用程序基本上是一个计费系统,可根据其活动服务自动管理客户端并对其进行收费。但我卡住了!从用户的账户如何自动扣除信用和更新服务,或采取暂停该服务,如果他(用户)没有足够的余额。
这是我的。
服务架构:
var mongoose= require('mongoose');
var Schema = new mongoose.Schema({
user:{
type: mongoose.Schema.Types.ObjectId,
ref: "User",
required: true
},
services:{
username: {type: String, required: true, unique: true},
package: {type: String, required: true},
domain: {type: String, required: true, unique: true},
status: String,
dateAdded: {type: Date, default: Date.now },
lastRenewed: Date,
nextRenewal: Date,
renewalCost: Number // Renewal Cost Of The Service.
}
})
module.exports = mongoose.model('Service', Schema);
用户模式:
var mongoose= require('mongoose');
var Schema = new mongoose.Schema({
name:{
type: String,
min: 1,
required: true
},
username:{
type: String,
unique: true
},
password:{
type: String, // Storing Hashed Password
required: true
},
salt:{
type: String
},
meta: {
email: String,
phone: Number,
dateOfBarth: String,
address: {
companyName: String,
address1: String,
address2: String,
city: String,
state: String
}
},
credit:{type: Number, default: 0}, // Avilable Credits
isAdmin: {type: Boolean, default: false} // If The User Is Admin Or Not?
});
module.exports = mongoose.model('User', Schema);
现在我想在其上运行 “nextRenewal” 日期查询或函数(或类似的东西)并从用户可用积分中扣除续约费用,并保存用户并延长下一个续约日期。
答案:使用npmjs.com/package/node-schedule安排作业。
由于@Kilizo
其实,这不是问题。主要问题是在nextRenewal日期自动运行更新功能。 – Bubun
您将需要安排一个脚本来检查每个服务的nextnewnew日期 – Kilizo
我使用https://www.npmjs.com/package/node-schedule – Kilizo