活动:后台修改

This commit is contained in:
luying
2021-09-11 18:22:52 +08:00
parent d3f743ab4e
commit 7d2e4de3a8
3 changed files with 162 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
import { ACTIVITY_TYPE } from '../../consts';
import { ACTIVITY_TYPE, STATUS } from '../../consts';
import { getPlayerFirstGiftData } from './firstGiftService';
import { getPlayerSignInData, } from './signInService';
import { getPlayerGrowthFundData, } from './growthFundService';
@@ -26,8 +26,11 @@ import { getPlayerNewHeroGiftsData } from './newHeroGiftsService';
import { getPlayerNewHeroGKData } from './newHeroGKService';
import { getPlayerNewHeroGachaData } from './newHeroGachaService';
import { pinus } from 'pinus';
import { ActivityModelType } from '../../db/Activity';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { getRandSingleEelm } from '../../pubUtils/util';
import { SignInData } from '../../domain/activityField/signInField';
import { ActivityGroupModel } from '../../db/ActivityGroup';
import { ActivityGroupTypeModel } from '../../db/ActivityGroupType';
/**
* 获取活动数据
@@ -251,4 +254,48 @@ export function _getActivities() {
result.push(activity);
}
return result;
}
}
export async function checkActivityEditable(activities: ActivityModelType[]) {
let now = new Date();
if(pinus.app.get('env') == 'production') {
for(let activity of activities) {
if(!activity || (activity.beginTime < now && activity.endTime > now)) {
if(activity.type == ACTIVITY_TYPE.SIGN_IN || activity.type == ACTIVITY_TYPE.SIGN_IN_VIP) {
// 签到活动的不显示期内也可以编辑
let signInObj = new SignInData(activity, 0);
if(signInObj.beginTime < now.getTime() && signInObj.endTime > now.getTime() ) {
return false;
}
} else {
return false;
}
}
}
}
return true;
}
export async function checkActivityGroupType(groupId: number, activities: ActivityModelType[]) {
let activityGroup = await ActivityGroupModel.findGroupData(groupId);
if(!activityGroup) return false;
if(activityGroup.type != 0) {
let activityGroupType = await ActivityGroupTypeModel.findByGroupType(activityGroup.type);
if(!activityGroupType) return false;
let dic = activityGroupType.activityTypes;
for(let { type } of activities) {
let index = dic.findIndex(cur => cur.activityType == type);
if(index == -1) {
return false;
} else {
dic.splice(index, 1);
}
}
}
return true
}