定时器
This commit is contained in:
@@ -72,6 +72,13 @@ export default class Activity_Group_Shop_Rec extends BaseModel {
|
||||
).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async setSum(activityId: number, id: number, sum: number) {
|
||||
let result: ActivityGroupShopRecType = await ActivityGroupShopRecModel.findOneAndUpdate(
|
||||
{ activityId, id, sum: { $lt: sum } }, { $set: { sum } }, { new: true, upsert: true }
|
||||
).lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const ActivityGroupShopRecModel = getModelForClass(Activity_Group_Shop_Rec);
|
||||
|
||||
@@ -8,7 +8,7 @@ import { GroupShopDiscount } from '../domain/activityField/groupShopField';
|
||||
*/
|
||||
@index({ activityId: 1 })
|
||||
@index({ activityId: 1, roleId: 1 })
|
||||
@index({ activityId: 1, roleId: 1, id: 1, discountId: 1 })
|
||||
@index({ activityId: 1, id: 1, 'records.price': 1 })
|
||||
|
||||
export class GroupShopBuyRecord {
|
||||
|
||||
@@ -78,6 +78,10 @@ export default class Activity_Group_Shop_User_Rec extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async findByPrice(activityId: number, id: number, price: number) {
|
||||
let result: ActivityGroupShopUserRecType[] = await ActivityGroupShopUserRecModel.find({ activityId, id, 'records.price': { $lt: price } }).lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const ActivityGroupShopUserRecModel = getModelForClass(Activity_Group_Shop_User_Rec);
|
||||
|
||||
+2
-1
@@ -111,7 +111,8 @@ export class Teraph {
|
||||
@index({ towerLv: -1, towerUpTime: 1 })
|
||||
@index({ topLineupCe: 1, updatedAt: 1 })
|
||||
@index({ ce: -1 })
|
||||
// @index({ userInfo.uid: 1, serverId: 1 })
|
||||
@index({ 'userInfo.uid': 1, serverId: 1 })
|
||||
|
||||
export default class Role extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
|
||||
@@ -32,12 +32,12 @@ interface GroupShopInDb {
|
||||
|
||||
// 数据
|
||||
class GroupShopTimer {
|
||||
time: number; // 活动开始之后的时间
|
||||
time: number; // 时间戳
|
||||
itemId: number; // items唯一id
|
||||
sum: number; // 如果次数不足sum次则强行设成sum次
|
||||
|
||||
constructor(id: number, data: GroupShopTimerInDb) {
|
||||
this.time = data.time;
|
||||
constructor(beginTime: number, id: number, data: GroupShopTimerInDb) {
|
||||
this.time = beginTime + data.time * 60 * 1000;
|
||||
this.sum = data.sum;
|
||||
this.itemId = id;
|
||||
}
|
||||
@@ -130,7 +130,7 @@ export class GroupShopData extends ActivityBase {
|
||||
this.itemMap.set(item.id, this.items.length - 1);
|
||||
if(item.timers && item.timers.length > 0) {
|
||||
for(let timer of item.timers) {
|
||||
this.timer.push(new GroupShopTimer(item.id, timer));
|
||||
this.timer.push(new GroupShopTimer(this.beginTime, item.id, timer));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user