Compare commits
3 Commits
a7d11fe54e
...
eafa42880a
Author | SHA1 | Date | |
---|---|---|---|
![]() |
eafa42880a | ||
![]() |
da4a53d071 | ||
![]() |
96675a9ff1 |
@ -3,6 +3,7 @@ import {HuoDongFun} from "../../../public/huodongfun";
|
||||
import {PayFun} from '../../../public/pay';
|
||||
import {ReqOpen, ResOpen} from "../../../shared/protocols/event/leijichongzhi/PtlOpen";
|
||||
import {PublicShared} from '../../../shared/public/public';
|
||||
import {checkNextRound} from "./ApiRec";
|
||||
|
||||
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||
let _hdinfo = await HuoDongFun.getHdidInfo(call, call.req.hdid)
|
||||
@ -22,8 +23,10 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||
{upsert: true}
|
||||
);
|
||||
}
|
||||
db = await checkNextRound(call, db, _hdinfo.data.tasks)
|
||||
|
||||
let payNum = (await PayFun.getPayDaysAllPayNum(call.uid, _hdinfo.stime, _hdinfo.rtime)) * 10
|
||||
payNum = payNum - (db.round || 0) * R.compose(R.sum(), R.map(i => i.total))(_hdinfo.data.tasks)
|
||||
payNum = payNum - (db.round || 0) * R.sort((a, b) => b.total - a.total)(_hdinfo.data.tasks)[0].total
|
||||
|
||||
call.succ({
|
||||
sTime: sTime,
|
||||
|
@ -21,25 +21,29 @@ export default async function (call: ApiCall<ReqRec, ResRec>) {
|
||||
if (db.recIndex.includes(call.req.index)) return call.error('', {code: -2});
|
||||
|
||||
let payNum = (await PayFun.getPayDaysAllPayNum(call.uid, _hdinfo.stime, _hdinfo.rtime)) * 10;
|
||||
payNum = payNum - (db.round || 0) * R.compose(R.sum(), R.map(i => i.total))(_hdinfo.data.tasks)
|
||||
payNum = payNum - (db.round || 0) * R.sort((a, b) => b.total - a.total)(_hdinfo.data.tasks)[0].total
|
||||
if (payNum < conf.total) return call.error('', {code: -3});
|
||||
|
||||
await PlayerFun.sendPrize(call, conf.prize);
|
||||
|
||||
if (db.recIndex.length + 1 >= _hdinfo.data.tasks.length) {
|
||||
await G.mongodb.cEvent(_dbType).updateOne(
|
||||
{uid: call.uid, type: _dbType},
|
||||
{$set: {recIndex: []}, $inc: {round: 1}}
|
||||
);
|
||||
} else {
|
||||
await G.mongodb.cEvent(_dbType).updateOne(
|
||||
{uid: call.uid, type: _dbType},
|
||||
{$push: {recIndex: call.req.index}}
|
||||
);
|
||||
}
|
||||
await G.mongodb.cEvent(_dbType).updateOne(
|
||||
{uid: call.uid, type: _dbType},
|
||||
{$push: {recIndex: call.req.index}}
|
||||
);
|
||||
|
||||
await checkNextRound(call, db, _hdinfo.data.tasks)
|
||||
|
||||
HongDianChange.sendChangeKey(call.uid, ['huodonghd'])
|
||||
call.succ({
|
||||
prize: conf.prize
|
||||
});
|
||||
}
|
||||
|
||||
export async function checkNextRound(call: ApiCall, event, tasks) {
|
||||
let _dbType: `leijichongzhi${number}` = `leijichongzhi${call.req.hdid}`
|
||||
if ((event.recIndex.length || 0) < tasks.length) return event
|
||||
return (await G.mongodb.cEvent(_dbType).findOneAndUpdate(
|
||||
{uid: call.uid, type: _dbType},
|
||||
{$set: {recIndex: []}, $inc: {round: 1}}, {returnDocument: 'after'}
|
||||
)).value;
|
||||
}
|
Loading…
Reference in New Issue
Block a user