寻宝:情谊点每日上限按获取途径区分
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { FriendPointModel } from './../db/FriendPoint';
|
||||
import { STATUS } from './../consts/statusCode';
|
||||
import { COM_BATTLE_ROBOT_ID_NAME, COM_BATTLE_ROBOT_CE_RATIO, COM_BATTLE_ROBOT_ROUND_LMT, COM_BATTLE_ROBOT_HURT_RATIO, COM_BATTLE_ROBOT_HURT_CH_RATIO, COM_TEAM_STATUS, COM_BATTLE_ASSIST_REWARD_RATIO, COM_BATTLE_FRDCNT_MAX, COM_BATTLE_FRDCNT_DROP, CURRENCY_BY_TYPE, CURRENCY_TYPE } from './../consts/consts';
|
||||
import { COM_BATTLE_ROBOT_ID_NAME, COM_BATTLE_ROBOT_CE_RATIO, COM_BATTLE_ROBOT_ROUND_LMT, COM_BATTLE_ROBOT_HURT_RATIO, COM_BATTLE_ROBOT_HURT_CH_RATIO, COM_TEAM_STATUS, COM_BATTLE_ASSIST_REWARD_RATIO, COM_BATTLE_FRDCNT_MAX, COM_BATTLE_FRDCNT_DROP, CURRENCY_BY_TYPE, CURRENCY_TYPE, FRIEND_DROP_TYPE } from './../consts/consts';
|
||||
import { RoleStatus, ComBattleTeamModel } from './../db/ComBattleTeam';
|
||||
import { getBluePrtByQuality, getComBtlSetByQuality, getRewardByBlueprtId, getWarById, getWarIdByBlueprtId } from "../pubUtils/gamedata";
|
||||
import { getRandEelm, getRandValue, resResult, ratioReward } from "../pubUtils/util";
|
||||
@@ -125,7 +125,7 @@ export async function getRealReward(blueprtId: number, roleSt: RoleStatus) {
|
||||
let fixRewardStr = warInfo['fixReward'];
|
||||
if (!roleSt.isCap) {
|
||||
if (roleSt.isFrd) {
|
||||
let frdPointRec = await FriendPointModel.getFrdPointRecToday(roleSt.roleId);
|
||||
let frdPointRec = await FriendPointModel.getFrdPointRecToday(roleSt.roleId, FRIEND_DROP_TYPE.COM_BATTLE);
|
||||
if (!frdPointRec || frdPointRec.cnt <= COM_BATTLE_FRDCNT_MAX - COM_BATTLE_FRDCNT_DROP) {
|
||||
fixRewardStr = `${CURRENCY_BY_TYPE.get(CURRENCY_TYPE.FRIEND_POINT)}&${COM_BATTLE_FRDCNT_DROP}`;
|
||||
} else if (frdPointRec.cnt < COM_BATTLE_FRDCNT_MAX) {
|
||||
|
||||
@@ -332,3 +332,7 @@ export const FUNC_OPT_TYPE = {
|
||||
export const FUNCS_ID = {
|
||||
EVENT: 1
|
||||
}
|
||||
|
||||
export const FRIEND_DROP_TYPE = {
|
||||
COM_BATTLE: 1
|
||||
}
|
||||
@@ -13,14 +13,16 @@ export default class FriendPoint extends BaseModel {
|
||||
roleName: string; // 角色名称
|
||||
@prop({ required: true, default: 0 })
|
||||
cnt: number; // 当天获取的点数
|
||||
@prop({ required: true, default: 0 })
|
||||
type: number; // 情谊点统计的类型,不同功能都可能有每日获取上限
|
||||
|
||||
/**
|
||||
* @description 更新每天的情谊点获取情况,cnt 有可能超过当日最大值,可根据返回值判断
|
||||
* @static
|
||||
* @param {string} roleId
|
||||
* @param {string} roleName
|
||||
* @param {number} cntInc
|
||||
* @param {number} maxPerDay
|
||||
* @param {string} roleId 用户 Id
|
||||
* @param {string} roleName 用户名
|
||||
* @param {number} cntInc 增长数量
|
||||
* @param {number} maxPerDay 每日最大数量
|
||||
* @param {boolean} [lean=true]
|
||||
* @memberof FriendPoint
|
||||
*/
|
||||
@@ -31,9 +33,18 @@ export default class FriendPoint extends BaseModel {
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async getFrdPointRecToday(roleId: string, lean = true) {
|
||||
/**
|
||||
* @description 某个类型当天情谊点获取情况
|
||||
* @static
|
||||
* @param {string} roleId 用户 Id
|
||||
* @param {number} type 掉落情谊点的功能类型 FRIEND_DROP_TYPE
|
||||
* @param {boolean} [lean=true]
|
||||
* @returns
|
||||
* @memberof FriendPoint
|
||||
*/
|
||||
public static async getFrdPointRecToday(roleId: string, type: number, lean = true) {
|
||||
const curTime = new Date((new Date()).setHours(0, 0, 0, 0));
|
||||
const rec = await FriendPointModel.findOne({roleId, createdAt: {$gte: curTime}}).lean(lean);
|
||||
const rec = await FriendPointModel.findOne({roleId, createdAt: {$gte: curTime}, type}).lean(lean);
|
||||
return rec;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user