每日添加购买次数逻辑

This commit is contained in:
luying
2020-11-05 11:54:57 +08:00
parent 6020037aa6
commit ff6b8bcdca
8 changed files with 185 additions and 68 deletions

View File

@@ -177,5 +177,6 @@ export const DEFAULT_HEROES = [ 312, 314, 311, 309, 315];
export const FIX_SMS_CODE_TELS = ['18855953630', '13911134885', '15167549151', '15618654010'];
export const GONGSHI = {
"TOWER_HANG_UP_SPEED_COST": "50*num"
"TOWER_HANG_UP_SPEED_COST": "50",
"DAILY_REFRESH_NUM_COST": "50*num"
};

View File

@@ -28,6 +28,8 @@ export const STATUS = {
DAILY_WAR_NOT_FOUND: { code: 20201, simStr: '未找到该关卡' },
DAILY_TYPE_NOT_FOUND: { code: 20202, simStr: '未找到该类型' },
DAILY_TIMES_LACK: { code: 20203, simStr: '次数不足' },
DAILY_REFRESH_TIMES_LACK: { code: 20203, simStr: '刷新次数不足' },
DAILY_REFRESH_GOLD_LACK: { code: 20204, simStr: '元宝不足' },
// 奇遇 20300 - 20399
EVENT_RECORD_NOT_FOUND: { code: 20301, simStr: '未找到记录' },
EVENT_STATUS_ERROR: { code: 20302, simStr: '状态错误' },

View File

@@ -14,23 +14,26 @@ export default class DailyRecord extends BaseModel {
@prop({ required: true, default: 0 })
count: number; // 挑战次数
@prop({ required: true, default: 0 })
buyCount: number; // 购买次数次数
@prop({ required: true, default: 0 })
refTime: number; // 刷新时间
public static async getDailyRecordById(roleId: string, type: number, lean = true) {
const result = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {}, {new: true, upsert: true}).select('count refTime').lean(lean);
const result = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {}, {new: true, upsert: true}).select('type count buyCount refTime').lean(lean);
return result;
}
public static async refreshRecord(roleId: string, type: number, lean = true) {
const dailyRecord = await DailyRecordModel.findOne({ roleId, type }).lean(lean);
let {count = 0, refTime = 0} = dailyRecord||{};
let {count = 0, refTime = 0, buyCount = 0} = dailyRecord||{};
let now = new Date();
let today = now.setHours(0, 0, 0, 0);
if(today > refTime) {
refTime = today;
count = 0;
buyCount = 0;
}
let result = await DailyRecordModel.findOneAndUpdate({roleId, type}, {$set: {refTime, count}}, {new: true, upsert: true});
let result = await DailyRecordModel.findOneAndUpdate({roleId, type}, {$set: {refTime, count, buyCount}}, {new: true, upsert: true});
return result;
}
@@ -43,6 +46,11 @@ export default class DailyRecord extends BaseModel {
let result = await DailyRecordModel.deleteMany({roleId}).lean(lean);
return result||{};
}
public static async increseBuyCount(roleId: string, type: number, count: number, lean = true) {
const result = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {$inc: { buyCount:count } }, {new: true, upsert: true}).lean(lean);
return result;
}
}
export const DailyRecordModel = getModelForClass(DailyRecord);

View File

@@ -1 +1,34 @@
[{"dailyType":1,"name":"护送商人","timesPerDay":1,"description":"内有不同难度,可获得大量铜钱"},{"dailyType":2,"name":"守卫城池","timesPerDay":1,"description":"内有不同难度,可获得大量武将经验书"},{"dailyType":3,"name":"保护矿产","timesPerDay":1,"description":"内有不同难度,可获得大量装备材料"}]
[
{
"dailyType": 1,
"name": "护送商人",
"timesPerDay": 5,
"timesCanBuy": 10,
"difficultLvl": "3001&3002&3003&3004&3005",
"description": "内有不同难度,可获得大量铜钱"
},
{
"dailyType": 2,
"name": "城池守卫",
"timesPerDay": 5,
"timesCanBuy": 10,
"difficultLvl": "3010&3011&3012&3013&3014",
"description": "内有不同难度,可获得大量武将经验书"
},
{
"dailyType": 3,
"name": "保护矿产",
"timesPerDay": 5,
"timesCanBuy": 10,
"difficultLvl": "3020&3021&3022&3023&3024",
"description": "内有不同难度,可获得大量装备材料"
},
{
"dailyType": 4,
"name": "测试测试",
"timesPerDay": 5,
"timesCanBuy": 10,
"difficultLvl": "3020&3021&3022&3023&3024",
"description": "内有不同难度,测试用"
}
]

View File

@@ -5,21 +5,19 @@
"bg_img_id": 3001,
"script_id": 0,
"fixReward": "&",
"conditionReward": "&",
"RandomReward": "&",
"warType": 2,
"warType": 4,
"gk_name": "每日&护送商人",
"kingExp": 100,
"lvLimted": 10,
"turnLimted": 20,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "商人到达安全地区",
"loseInfoInUI": "商人死亡\n我方全部阵亡",
"starInfoInUI": "",
"cost": 15,
"sSpineInUI": "1&daobing|1&gongbing",
"detailUIBg": "zhending",
"victoryInfoInUI": "马车到达安全地区",
"loseInfoInUI": "马车被抢\n我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\n2.在5回合内获得胜利",
"cost": 0,
"iconInMap": "dengji1",
"iconName": "新手",
"recommendedPower": 10008,
"previousGk": 0,
"dailyType": 1
@@ -30,21 +28,19 @@
"bg_img_id": 3002,
"script_id": 0,
"fixReward": "&",
"conditionReward": "&",
"RandomReward": "&",
"warType": 2,
"warType": 4,
"gk_name": "每日&护送商人",
"kingExp": 100,
"lvLimted": 10,
"turnLimted": 20,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "商人到达安全地区",
"loseInfoInUI": "商人死亡\n我方全部阵亡",
"starInfoInUI": "",
"cost": 15,
"sSpineInUI": "1&daobing|1&gongbing",
"detailUIBg": "zhending",
"victoryInfoInUI": "马车到达安全地区",
"loseInfoInUI": "马车被抢\n我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\n2.在5回合内获得胜利",
"cost": 0,
"iconInMap": "dengji2",
"iconName": "普通",
"recommendedPower": 10008,
"previousGk": 3001,
"dailyType": 1
@@ -55,21 +51,19 @@
"bg_img_id": 3003,
"script_id": 0,
"fixReward": "&",
"conditionReward": "&",
"RandomReward": "&",
"warType": 2,
"warType": 4,
"gk_name": "每日&护送商人",
"kingExp": 100,
"lvLimted": 10,
"turnLimted": 20,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "商人到达安全地区",
"loseInfoInUI": "商人死亡\n我方全部阵亡",
"starInfoInUI": "",
"cost": 15,
"sSpineInUI": "1&daobing|1&gongbing",
"detailUIBg": "zhending",
"victoryInfoInUI": "马车到达安全地区",
"loseInfoInUI": "马车被抢\n我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\n2.在5回合内获得胜利",
"cost": 0,
"iconInMap": "dengji3",
"iconName": "困难",
"recommendedPower": 10008,
"previousGk": 3002,
"dailyType": 1
@@ -80,21 +74,19 @@
"bg_img_id": 3004,
"script_id": 0,
"fixReward": "&",
"conditionReward": "&",
"RandomReward": "&",
"warType": 2,
"warType": 4,
"gk_name": "每日&护送商人",
"kingExp": 100,
"lvLimted": 10,
"turnLimted": 20,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "商人到达安全地区",
"loseInfoInUI": "商人死亡\n我方全部阵亡",
"starInfoInUI": "",
"cost": 15,
"sSpineInUI": "1&daobing|1&gongbing",
"detailUIBg": "zhending",
"victoryInfoInUI": "马车到达安全地区",
"loseInfoInUI": "马车被抢\n我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\n2.在5回合内获得胜利",
"cost": 0,
"iconInMap": "dengji4",
"iconName": "恶梦",
"recommendedPower": 10008,
"previousGk": 3003,
"dailyType": 1
@@ -105,23 +97,44 @@
"bg_img_id": 3005,
"script_id": 0,
"fixReward": "&",
"conditionReward": "&",
"RandomReward": "&",
"warType": 2,
"warType": 4,
"gk_name": "每日&护送商人",
"kingExp": 100,
"lvLimted": 10,
"turnLimted": 20,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "商人到达安全地区",
"loseInfoInUI": "商人死亡\n我方全部阵亡",
"starInfoInUI": "",
"cost": 15,
"sSpineInUI": "1&daobing|1&gongbing",
"detailUIBg": "zhending",
"victoryInfoInUI": "马车到达安全地区",
"loseInfoInUI": "马车被抢\n我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\n2.在5回合内获得胜利",
"cost": 0,
"iconInMap": "dengji5",
"iconName": "地狱",
"recommendedPower": 10008,
"previousGk": 3004,
"dailyType": 1
},
{
"war_id": 0,
"dispatchJsonId": 0,
"bg_img_id": 0,
"script_id": 0,
"fixReward": 0,
"warType": 0,
"gk_name": 0,
"kingExp": 0,
"lvLimted": 0,
"turnLimted": 0,
"forcedCharactor": 0,
"fobiddenCharactor": 0,
"victoryInfoInUI": 0,
"loseInfoInUI": 0,
"starInfoInUI": 0,
"cost": 0,
"iconInMap": 0,
"iconName": 0,
"recommendedPower": 0,
"previousGk": " ",
"dailyType": 0
}
]