商店:添加vip购买次数上限

This commit is contained in:
luying
2022-07-20 17:02:55 +08:00
parent cf03a7d4bd
commit 1157269264
3 changed files with 185 additions and 89 deletions
@@ -40,6 +40,7 @@ export class ShopHandler {
let sid = session.get('sid');
let guildCode = session.get('guildCode');
let serverId = session.get('serverId');
let vipStartTime: number = session.get('vipStartTime');
let { shopItemId, count } = msg;
if( count < 0) return resResult(STATUS.WRONG_PARMS);
@@ -65,8 +66,14 @@ export class ShopHandler {
let userShop = await UserShopModel.findByRoleAndItem(roleId, dicShopItem.id);
if(dicShopItem.purchaseLimit != -1) {
if(userShop && userShop.count + count > dicShopItem.purchaseLimit) {
return resResult(STATUS.BUY_COUNT_OVER);
if(vipStartTime > 0 && dicShopItem.purchaseLimit != -1) {
if(userShop && userShop.count + count > dicShopItem.purchaseLimit + dicShopItem.vipPurchaseLimit) {
return resResult(STATUS.BUY_COUNT_OVER);
}
} else {
if(userShop && userShop.count + count > dicShopItem.purchaseLimit) {
return resResult(STATUS.BUY_COUNT_OVER);
}
}
}
+4 -1
View File
@@ -20,6 +20,8 @@ export interface DicShop {
readonly lvlimit: number;
// 购买次数限制
readonly purchaseLimit: number;
// vip购买次数限制
readonly vipPurchaseLimit: number;
// 刷新类型 1-每日 2-每周 3-每月
readonly refreshType: number;
// 用于购买的货币
@@ -39,7 +41,8 @@ export function loadShop() {
arr.forEach(o => {
o.guildLvLimit = o.guildlvlimit == '&'?0: o.guildlvlimit;
o.lvlimit = o.lvlimit == '&'?0: o.lvlimit;
o.purchaseLimit = o.purchaselimit == '&'?-1: o.purchaselimit;
o.purchaseLimit = o.purchaselimit == '&'?-1: (o.purchaselimit||0);
o.vipPurchaseLimit = o.vipPurchaseLimit == '&'?-1: (o.vipPurchaseLimit||0);
if(!dicShop.has(o.shop)) {
dicShop.set(o.shop, [o]);
} else {
+172 -86
View File
@@ -12,7 +12,8 @@
"money": 31002,
"price": 50,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 4
},
{
"id": 2,
@@ -27,7 +28,8 @@
"money": 31002,
"price": 800,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 3,
@@ -42,7 +44,8 @@
"money": 31002,
"price": 1000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4,
@@ -57,7 +60,8 @@
"money": 31002,
"price": 300,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 5,
@@ -72,7 +76,8 @@
"money": 31002,
"price": 300,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6,
@@ -87,7 +92,8 @@
"money": 31002,
"price": 400,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 7,
@@ -102,7 +108,8 @@
"money": 31002,
"price": 250,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8,
@@ -117,7 +124,8 @@
"money": 31002,
"price": 200,
"chosen": 1,
"indirectId": 1
"indirectId": 1,
"vipPurchaseLimit": 0
},
{
"id": 9,
@@ -132,7 +140,8 @@
"money": 31002,
"price": 500,
"chosen": 1,
"indirectId": 2
"indirectId": 2,
"vipPurchaseLimit": 0
},
{
"id": 10,
@@ -147,7 +156,8 @@
"money": 31002,
"price": 500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 11,
@@ -162,7 +172,8 @@
"money": 31002,
"price": 200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2001,
@@ -177,7 +188,8 @@
"money": 40005,
"price": 200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2002,
@@ -192,7 +204,8 @@
"money": 40005,
"price": 500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2003,
@@ -207,7 +220,8 @@
"money": 40005,
"price": 1200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2004,
@@ -222,7 +236,8 @@
"money": 40005,
"price": 2400,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2005,
@@ -237,7 +252,8 @@
"money": 40005,
"price": 10000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2006,
@@ -252,7 +268,8 @@
"money": 40005,
"price": 30,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2007,
@@ -267,7 +284,8 @@
"money": 40005,
"price": 25,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2008,
@@ -282,7 +300,8 @@
"money": 40005,
"price": 200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 2009,
@@ -297,7 +316,8 @@
"money": 40005,
"price": 1500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 3001,
@@ -312,7 +332,8 @@
"money": 40001,
"price": 100,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 3002,
@@ -327,7 +348,8 @@
"money": 40001,
"price": 400,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 3003,
@@ -342,7 +364,8 @@
"money": 40001,
"price": 10,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 3004,
@@ -357,7 +380,8 @@
"money": 40001,
"price": 20,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 3005,
@@ -372,7 +396,8 @@
"money": 40001,
"price": 30,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 3006,
@@ -387,7 +412,8 @@
"money": 40001,
"price": 50,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4000,
@@ -402,7 +428,8 @@
"money": 40004,
"price": 150,
"chosen": 1,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4001,
@@ -417,7 +444,8 @@
"money": 40004,
"price": 400,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4002,
@@ -432,7 +460,8 @@
"money": 40004,
"price": 10,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4003,
@@ -447,7 +476,8 @@
"money": 40004,
"price": 45,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4004,
@@ -462,7 +492,8 @@
"money": 40004,
"price": 60,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4005,
@@ -477,7 +508,8 @@
"money": 40004,
"price": 75,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4006,
@@ -492,7 +524,8 @@
"money": 40004,
"price": 90,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4007,
@@ -507,7 +540,8 @@
"money": 40004,
"price": 120,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 4008,
@@ -522,7 +556,8 @@
"money": 40004,
"price": 100,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 5001,
@@ -537,7 +572,8 @@
"money": 40014,
"price": 30,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 5002,
@@ -552,7 +588,8 @@
"money": 40014,
"price": 30,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 5003,
@@ -567,7 +604,8 @@
"money": 40006,
"price": 30,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 5004,
@@ -582,7 +620,8 @@
"money": 40006,
"price": 10,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6001,
@@ -597,7 +636,8 @@
"money": 40002,
"price": 500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6002,
@@ -612,7 +652,8 @@
"money": 40002,
"price": 400,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6003,
@@ -627,7 +668,8 @@
"money": 40002,
"price": 250,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6004,
@@ -642,7 +684,8 @@
"money": 40002,
"price": 500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6005,
@@ -657,7 +700,8 @@
"money": 40002,
"price": 200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6006,
@@ -672,7 +716,8 @@
"money": 40002,
"price": 200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6007,
@@ -687,7 +732,8 @@
"money": 40002,
"price": 200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6008,
@@ -702,7 +748,8 @@
"money": 40002,
"price": 200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6009,
@@ -717,7 +764,8 @@
"money": 40002,
"price": 200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6010,
@@ -732,7 +780,8 @@
"money": 40002,
"price": 500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6011,
@@ -747,7 +796,8 @@
"money": 40002,
"price": 500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6012,
@@ -762,7 +812,8 @@
"money": 40002,
"price": 500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6013,
@@ -777,7 +828,8 @@
"money": 40002,
"price": 500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6014,
@@ -792,7 +844,8 @@
"money": 40002,
"price": 1000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6015,
@@ -807,7 +860,8 @@
"money": 40002,
"price": 1000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6016,
@@ -822,7 +876,8 @@
"money": 40002,
"price": 1000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6017,
@@ -837,7 +892,8 @@
"money": 40002,
"price": 1000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6018,
@@ -852,7 +908,8 @@
"money": 40002,
"price": 2500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6019,
@@ -867,7 +924,8 @@
"money": 40002,
"price": 2500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6020,
@@ -882,7 +940,8 @@
"money": 40002,
"price": 2500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6021,
@@ -897,7 +956,8 @@
"money": 40002,
"price": 2500,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6022,
@@ -912,7 +972,8 @@
"money": 40002,
"price": 5000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6023,
@@ -927,7 +988,8 @@
"money": 40002,
"price": 5000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6024,
@@ -942,7 +1004,8 @@
"money": 40002,
"price": 5000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6025,
@@ -957,7 +1020,8 @@
"money": 40002,
"price": 5000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6026,
@@ -972,7 +1036,8 @@
"money": 40002,
"price": 8000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6027,
@@ -987,7 +1052,8 @@
"money": 40002,
"price": 8000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6028,
@@ -1002,7 +1068,8 @@
"money": 40002,
"price": 8000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6029,
@@ -1017,7 +1084,8 @@
"money": 40002,
"price": 8000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6030,
@@ -1032,7 +1100,8 @@
"money": 40002,
"price": 15000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6031,
@@ -1047,7 +1116,8 @@
"money": 40002,
"price": 15000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6032,
@@ -1062,7 +1132,8 @@
"money": 40002,
"price": 15000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 6033,
@@ -1077,7 +1148,8 @@
"money": 40002,
"price": 15000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 7001,
@@ -1092,7 +1164,8 @@
"money": 40007,
"price": 100,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 7002,
@@ -1107,7 +1180,8 @@
"money": 40007,
"price": 250,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 7003,
@@ -1122,7 +1196,8 @@
"money": 40007,
"price": 600,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 7004,
@@ -1137,7 +1212,8 @@
"money": 40007,
"price": 1200,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 7005,
@@ -1152,7 +1228,8 @@
"money": 40007,
"price": 5000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 7006,
@@ -1167,7 +1244,8 @@
"money": 40007,
"price": 20,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8001,
@@ -1182,7 +1260,8 @@
"money": 40011,
"price": 10,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8002,
@@ -1197,7 +1276,8 @@
"money": 40011,
"price": 10,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8003,
@@ -1212,7 +1292,8 @@
"money": 40011,
"price": 10,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8004,
@@ -1227,7 +1308,8 @@
"money": 40011,
"price": 10,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8005,
@@ -1242,7 +1324,8 @@
"money": 40011,
"price": 1000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8006,
@@ -1257,7 +1340,8 @@
"money": 40011,
"price": 2000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8007,
@@ -1272,7 +1356,8 @@
"money": 40011,
"price": 4000,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
},
{
"id": 8008,
@@ -1287,6 +1372,7 @@
"money": 40011,
"price": 800,
"chosen": 0,
"indirectId": 0
"indirectId": 0,
"vipPurchaseLimit": 0
}
]