🐞 fix(活动): 新将好礼和朝夕拾遗任务积分逻辑修改

This commit is contained in:
luying
2023-03-29 10:55:37 +08:00
parent 248f9159e1
commit 6401cd912f
4 changed files with 49 additions and 40 deletions

View File

@@ -1,3 +1,4 @@
import { ACTIVITY_TYPE } from '../../consts';
import { ActivityNewHeroGiftModel, ActivityNewHeroGiftModelType } from '../../db/ActivityNewHeroGift';
import { ActivityNewHeroGKModel, ActivityNewHeroGKModelType } from '../../db/ActivityNewHeroGK';
import { UserGachaModel, UserGachaType } from '../../db/UserGacha';
@@ -6,7 +7,7 @@ import { NewHeroGiftData } from '../../domain/activityField/newHeroGiftField';
import { NewHeroGKData } from '../../domain/activityField/newHeroGKField';
import { gameData } from '../../pubUtils/data';
import { getRoleCreateTime, getServerCreateTime } from '../redisService';
import { getActivityById } from './activityService';
import { getActivitiesByType, getActivityById, pushActivityInter } from './activityService';
import { refreshGacha } from './gachaService';
@@ -96,17 +97,24 @@ export async function challengeNewHeroGK(serverId: number, roleId: string, activ
* @param {string} roleId 角色Id
*
*/
export async function newHeroGiftPoint(serverId: number, activityId: number, roleId: string, addPoint: number) {
let activityData = await getActivityById(activityId);
if(!activityData) return 0
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let playerData = new NewHeroGiftData(activityData, createTime, serverTime);
if(playerData.canRecordTaskPoint()) {
let result = await ActivityNewHeroGiftModel.addPoint(serverId, activityId, roleId, addPoint);
return result.totalPoint;
export async function newHeroGiftPoint(serverId: number, roleId: string, addPoint: number) {
try {
let activities = await getActivitiesByType(serverId, ACTIVITY_TYPE.NEW_HERO_GIFTS);
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let pushResult: pushActivityInter[] = [];
for(let activityData of activities) {
let playerData = new NewHeroGiftData(activityData, createTime, serverTime);
if(playerData.canRecordTaskPoint()) {
let result = await ActivityNewHeroGiftModel.addPoint(serverId, activityData.activityId, roleId, addPoint);
if(result) pushResult.push({ activityId: activityData.activityId, activityType: activityData.type, param: { totalPoint: result.totalPoint } });
}
}
return pushResult
} catch(e) {
console.error(e);
return []
}
return 0
}