Merge branch 'bugfix' of http://git.legu.cc/qixin/HJ_Server into bugfix
This commit is contained in:
commit
9585377a97
@ -7,7 +7,16 @@ import { ReqDldFight, ResDldFight } from "../../shared/protocols/wzry/PtlDldFigh
|
|||||||
import { PublicShared } from "../../shared/public/public";
|
import { PublicShared } from "../../shared/public/public";
|
||||||
import { HongDianChange } from "../hongdian/fun";
|
import { HongDianChange } from "../hongdian/fun";
|
||||||
|
|
||||||
|
const maxScore = 269; // 积分上限
|
||||||
|
const lockPrefix = 'lock:DldFight:';
|
||||||
|
|
||||||
export default async function (call: ApiCall<ReqDldFight, ResDldFight>) {
|
export default async function (call: ApiCall<ReqDldFight, ResDldFight>) {
|
||||||
|
const lockKey = lockPrefix + call.uid;
|
||||||
|
const gotLock = await G.ioredis.setnx(lockKey, 1);
|
||||||
|
if (!gotLock) {
|
||||||
|
return call.errorCode(-101); // -101 并发请求, 告知客户端稍后再试 request_too_fast
|
||||||
|
}
|
||||||
|
await G.ioredis.pexpire(lockKey, 500); // 设置 ttl 避免死锁. 策划要求: 500ms
|
||||||
let status = await WangZheRongYaofun.getWangZheStatus();
|
let status = await WangZheRongYaofun.getWangZheStatus();
|
||||||
if (status.status != 3) {
|
if (status.status != 3) {
|
||||||
// 未到大乱斗时间
|
// 未到大乱斗时间
|
||||||
@ -41,6 +50,10 @@ export default async function (call: ApiCall<ReqDldFight, ResDldFight>) {
|
|||||||
|
|
||||||
let _jifen = _myFight.jifen;
|
let _jifen = _myFight.jifen;
|
||||||
_myFight.jifen = _myFight.jifen + await WangZheRongYaofun.getMyScore(dldfight);
|
_myFight.jifen = _myFight.jifen + await WangZheRongYaofun.getMyScore(dldfight);
|
||||||
|
// 添加积分上限 (策划要求)
|
||||||
|
if (_myFight.jifen > maxScore) {
|
||||||
|
_myFight.jifen = maxScore;
|
||||||
|
}
|
||||||
|
|
||||||
// 设置数据
|
// 设置数据
|
||||||
let _r = await WangZheRongYaofun.setWzryDldFight(call, _myFight);
|
let _r = await WangZheRongYaofun.setWzryDldFight(call, _myFight);
|
||||||
@ -69,7 +82,7 @@ export default async function (call: ApiCall<ReqDldFight, ResDldFight>) {
|
|||||||
_mydata.jifen = _myFight.jifen;
|
_mydata.jifen = _myFight.jifen;
|
||||||
|
|
||||||
HongDianChange.sendChangeKey(call.uid, ['wzryhd']);
|
HongDianChange.sendChangeKey(call.uid, ['wzryhd']);
|
||||||
|
await G.ioredis.del(lockKey);
|
||||||
call.succ({
|
call.succ({
|
||||||
mydata: _mydata,
|
mydata: _mydata,
|
||||||
result: result,
|
result: result,
|
||||||
|
Loading…
Reference in New Issue
Block a user