HJ_Server/src/api_s2c/sign/ApiGetPrize.ts
DESKTOP-15R5JU0\legu 97e070ea81 init
2023-11-17 12:02:12 +08:00

46 lines
1.5 KiB
TypeScript

import { ApiCall } from "tsrpc";
import { ReqGetPrize, ResGetPrize } from "../../shared/protocols/sign/PtlGetPrize";
import { PlayerFun } from '../../public/player';
import { SignFun } from "../../public/sign";
import { ctype } from "../../shared/protocols/sign/type";
import { PublicShared } from "../../shared/public/public";
import { HongDianChange } from "../hongdian/fun";
export default async function (call: ApiCall<ReqGetPrize, ResGetPrize>) {
let idx = call.req.idx;
let _con = await SignFun.getCon()
let changeInfo = await SignFun.getInfo(call.uid, { ctype: ctype });
let con = _con[changeInfo["key"]]
/**参数错误 */
if (!con[idx]) {
return call.error(globalThis.lng.sign_boxprize_1)
}
/**登录天数不足 */
if (changeInfo["login"] < idx) {
return call.error(globalThis.lng.sign_boxprize_2)
}
/**已经领取 */
if (changeInfo["gotarr"].indexOf(idx) != -1) {
return call.error(globalThis.lng.sign_boxprize_3)
}
// 设置数据
changeInfo["gotarr"].push(idx)
await SignFun.setInfo(call.uid, changeInfo);
let prize = con[idx].prize
if (con[idx].vip && call.conn.gud.vip >= con[idx].vip) {
prize = PublicShared.mergePrize(prize.concat(con[idx].prize))
}
prize = await PlayerFun.sendPrize(call, prize)
HongDianChange.sendChangeKey(call.uid, ['qiandaohd', 'taskhd', 'huodonghd'])
let data = {
mydata: changeInfo,
prize: prize
}
call.succ(data);
}