fix 联调时遇到的问题

This commit is contained in:
luying
2020-11-05 19:33:39 +08:00
parent ff6b8bcdca
commit bd93d9dc1c
12 changed files with 598 additions and 119 deletions

View File

@@ -2,6 +2,7 @@ import { STATUS } from './../consts/statusCode';
import { getGamedata } from './gamedata';
import { HeroModel } from '../db/Hero';
const moment = require('moment');
export function genCode(len) {
@@ -177,7 +178,8 @@ export function deltaDays(preTime: Date, proTime: Date): number {
* @param hour 几点刷新
* @param deltaDay 间隔几天刷新,默认每天刷新(deltaDay = 1)
*/
export function shouldRefresh(preTime: Date, curTime: Date, hour: number, deltaDay = 1): boolean {
export function shouldRefresh(preTime: Date, now: Date, hour: number, deltaDay = 1): boolean {
let curTime = new Date(now.getTime());
let refeshTime = curTime.setHours(hour, 0, 0, 0);
if (refeshTime - preTime.getTime() > deltaDay * 24 * 60 * 60 * 1000 && curTime.getTime() >= refeshTime) {
return true;
@@ -185,6 +187,21 @@ export function shouldRefresh(preTime: Date, curTime: Date, hour: number, deltaD
return false;
}
/**
* 获取 x天后的y点
* @param curTime 现在时间
* @param hour 几点刷新
*/
export function getRefTime(now = new Date(), hour: number, day = 0) {
let curTime = new Date(now.getTime());
if (curTime.getHours() < hour) {
curTime.setDate(curTime.getDate() - 1);
}
curTime.setHours(hour, 0, 0, 0);
curTime = new Date(curTime.getTime() + day * 24 * 60 * 60 * 1000);
return curTime;
}
export function getRandEelm(source: Array<any> = [], cnt = 1): Array<any> {
if (cnt > source.length) return [];
if (cnt === source.length) return source;
@@ -265,4 +282,23 @@ export const cal = {
d = Number(b.toString().replace(".", ""));
return this.mul(c / d, Math.pow(10, f - e));
}
};
};
//计算公式
export function calculateNum(ratio: {A: number, B: number}, params: {num: number}, defaultVal = 0) {
// result = a * num + b
try {
let {A, B} = ratio;
let {num} = params;
let result = A * num + B;
if(isNaN(result)) {
console.error('calculate wrong: ', A, B, num)
return defaultVal;
} else {
return result;
}
}catch(e) {
console.error(e);
return defaultVal;
}
}