Merge branch 'dev-jitianhaoli' into dev
# Conflicts: # src/api_s2c/event/shiwuleichong/ApiOpen.ts
This commit is contained in:
commit
d2ce3dd143
@ -1,41 +1,42 @@
|
|||||||
import { UpdateFilter } from 'mongodb';
|
import {ApiCall} from "tsrpc";
|
||||||
import { ApiCall } from "tsrpc";
|
import {ReqOpen, ResOpen} from "../../../shared/protocols/event/shiwuleichong/PtlOpen";
|
||||||
import { CollectionEvent } from '../../../module/collection_event';
|
import {PayFun} from "../../../public/pay";
|
||||||
import { PayFun } from '../../../public/pay';
|
import {PublicShared} from "../../../shared/public/public";
|
||||||
import { ReqOpen, ResOpen } from "../../../shared/protocols/event/shiwuleichong/PtlOpen";
|
|
||||||
import { PublicShared } from '../../../shared/public/public';
|
|
||||||
|
|
||||||
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||||
let db = await G.mongodb.cEvent('15leichong').findOne({ uid: call.uid, type: '15leichong' });
|
let payids = G.gc.shiwuleichong.tasks.map(
|
||||||
let update: UpdateFilter<CollectionEvent<'15leichong'>>;
|
(i) => i.payid
|
||||||
let sTime = PublicShared.getToDayZeroTime(G.time);
|
);
|
||||||
|
|
||||||
if (!db) {
|
let day: number = 1;
|
||||||
update = {
|
let _zt = PublicShared.getToDayZeroTime();
|
||||||
$set: { index: 0, sTime: sTime, recIndex: [] }
|
let pays = await PayFun.getPayLogs(call.uid, payids);
|
||||||
};
|
for (; day <= G.gc.shiwuleichong.tasks.length; day++) {
|
||||||
} else {
|
let pay = pays[G.gc.shiwuleichong.tasks[day - 1].payid];
|
||||||
if (db.sTime + G.gc.shiwuleichong.data[db.index].time < G.time) {
|
if (!pay || pay.length == 0) {
|
||||||
|
break
|
||||||
db.sTime = sTime;
|
|
||||||
db.index = G.gc.shiwuleichong.data[db.index + 1] == undefined ? db.index : db.index + 1;
|
|
||||||
db.recIndex = [];
|
|
||||||
|
|
||||||
update = {
|
|
||||||
$set: { index: db.index, sTime: db.sTime, recIndex: [] }
|
|
||||||
};
|
|
||||||
} else {
|
} else {
|
||||||
sTime = db.sTime;
|
// 如果是最后一天奖励
|
||||||
|
if (day >= G.gc.shiwuleichong.tasks.length) {
|
||||||
|
// 充值订单隔天了
|
||||||
|
if (pay.slice(-1)[0].time < _zt) {
|
||||||
|
// 重置所有订单
|
||||||
|
await PayFun.delPayLog(call.uid, ...payids.map(i => {
|
||||||
|
return {payId: i, val: []}
|
||||||
|
}))
|
||||||
|
day = 1;
|
||||||
|
pays = {};
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
} else if (pay.slice(-1)[0].time >= _zt) {
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
update && G.mongodb.cEvent('15leichong').updateOne({ uid: call.uid, type: '15leichong' }, update, { upsert: true });
|
|
||||||
let index = db?.index || 0;
|
|
||||||
|
|
||||||
call.succ({
|
call.succ({
|
||||||
index: index,
|
day: day,
|
||||||
sTime: sTime,
|
payIds: Object.keys(pays).filter((i) => pays[i].length > 0)
|
||||||
recIndex: db?.recIndex || [],
|
|
||||||
payDay: await PayFun.getPayDaysBuyPayNum(call.uid, sTime, sTime + G.gc.shiwuleichong.data[index].time, G.gc.shiwuleichong.dayPayNeed)
|
|
||||||
});
|
});
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user