parent
d13b9fcae0
commit
9837d27132
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,5 +1,6 @@
|
||||
/node_modules
|
||||
/.idea
|
||||
/.vscode
|
||||
/dist
|
||||
/doc
|
||||
|
||||
|
50
.vscode/launch.json
vendored
50
.vscode/launch.json
vendored
@ -1,50 +0,0 @@
|
||||
{
|
||||
// 使用 IntelliSense 了解相关属性。
|
||||
// 悬停以查看现有属性的描述。
|
||||
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "消息服",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"${workspaceRoot}/src/index.ts",
|
||||
"-serverType",
|
||||
"msg",
|
||||
"-logModel",
|
||||
"debug"
|
||||
],
|
||||
"runtimeArgs": [
|
||||
"--nolazy",
|
||||
"-r",
|
||||
"ts-node/register"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"cwd": "${workspaceRoot}",
|
||||
"console": "integratedTerminal",
|
||||
"internalConsoleOptions": "neverOpen"
|
||||
},
|
||||
{
|
||||
"name": "跨服",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"${workspaceRoot}/src/index.ts",
|
||||
"-serverType",
|
||||
"cross",
|
||||
"-logModel",
|
||||
"debug"
|
||||
],
|
||||
"runtimeArgs": [
|
||||
"--nolazy",
|
||||
"-r",
|
||||
"ts-node/register"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"cwd": "${workspaceRoot}",
|
||||
"console": "integratedTerminal",
|
||||
"internalConsoleOptions": "neverOpen"
|
||||
}
|
||||
]
|
||||
}
|
@ -206,20 +206,19 @@ export class PayFun {
|
||||
payArgs: payArgs,
|
||||
orderNo: orderNo
|
||||
}
|
||||
//改为统一方法,此处自选不这样用
|
||||
// if (payId.indexOf('zixuanlibao') != -1) {
|
||||
// // 后端唯一标识 htype 4 自选/定制 礼包
|
||||
// // @ts-ignore
|
||||
// let _hdList = await HuoDongFun.gethdList(call, 4)
|
||||
// _hdList.forEach(ele => {
|
||||
// let selectPrize = ele.data.gift.find(v => v.payId == payId)?.prize;
|
||||
// if (prize) {
|
||||
// let index = payArgs instanceof Array ? payArgs : [];
|
||||
// let select = selectPrize.map((v, i) => v[index[i]] ? v[index[i]] : v[0]);
|
||||
// prize.push(...select);
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
if (payId.indexOf('zixuanlibao') != -1) {
|
||||
// 后端唯一标识 htype 4 自选/定制 礼包
|
||||
// @ts-ignore
|
||||
let _hdList = await HuoDongFun.gethdList(call, 4)
|
||||
_hdList.forEach(ele => {
|
||||
let selectPrize = ele.data.gift.find(v => v.payId == payId)?.prize;
|
||||
if (prize) {
|
||||
let index = payArgs instanceof Array ? payArgs : [];
|
||||
let select = selectPrize.map((v, i) => v[index[i]] ? v[index[i]] : v[0]);
|
||||
prize.push(...select);
|
||||
}
|
||||
})
|
||||
}
|
||||
if (payId.indexOf('ycmb') != -1) {
|
||||
// @ts-ignore // 养成活动充值礼包
|
||||
let _hdids = await YangChengMuBiaofun.getCon(call);
|
||||
@ -236,13 +235,6 @@ export class PayFun {
|
||||
let conf = await zmlbGetConf(call, {payId})
|
||||
prize.push(...conf.prize)
|
||||
}
|
||||
|
||||
/**
|
||||
* todo 不要轻易改动这个方法,不允许集成业务逻辑在内部
|
||||
* todo 此方法仅仅是支付成功后的发奖
|
||||
* todo 如果有业务逻辑通过事件驱动,在支付成功后emit事件
|
||||
* todo 下面这个方法不应该这样写
|
||||
*/
|
||||
//圣诞节活动充值
|
||||
try{
|
||||
await Christmasfun.payChristmas(payId, call);
|
||||
@ -250,14 +242,6 @@ export class PayFun {
|
||||
console.log("Christmasfun.payChristmas Error",e);
|
||||
}
|
||||
|
||||
if (payArgs.selectPrize) {
|
||||
let selectPrize = await G.ioredis.get(`pay:${payId}:${player.uid}`);
|
||||
if (selectPrize) {
|
||||
prize.push(...JSON.parse(selectPrize))
|
||||
G.ioredis.del(`pay:${payId}:${player.uid}`)
|
||||
}
|
||||
}
|
||||
|
||||
let isReplaceConf = await this.checkBuysAfterPay(uid, payId, conf, payArgs, player)
|
||||
if (isReplaceConf) {
|
||||
let prizePayId = `zuanshi_${conf.money}`
|
||||
@ -415,31 +399,6 @@ export class PayFun {
|
||||
if (conf.time != -1 && buyLog.slice(-1)[0]?.eTime > G.time && conf.buys == 0 && payId.indexOf('wkdlibao') == -1) {
|
||||
return G.server.sendMsgByUid(player.uid, 'msg_s2c/PayResult', {code: -2});
|
||||
}
|
||||
|
||||
/**
|
||||
* 活动相关的自选礼包,目前htype 4、14支持此方法
|
||||
* payArgs里传相应参数,selectList选择的奖励列表
|
||||
* 往后所有自选类型,走这个方法,配置格式同4、14
|
||||
*/
|
||||
if (payArgs.htype && payArgs.selectList) {
|
||||
// @ts-ignore
|
||||
let _hdInfo = (await HuoDongFun.gethdList(call, payArgs.htype))[0]
|
||||
// 活动类购买不符合条件返回-5
|
||||
if (!_hdInfo) G.server.sendMsgByUid(player.uid, 'msg_s2c/PayResult', {code: -5})
|
||||
let giftInfo = _hdInfo.data.gift.find(v => v.payId == payId);
|
||||
if (!giftInfo) G.server.sendMsgByUid(player.uid, 'msg_s2c/PayResult', {code: -5})
|
||||
|
||||
let dlzPrize = R.flatten(giftInfo.dlz.map(i => R.values(i)))
|
||||
let selectPrize = payArgs.selectList.map(v => {
|
||||
let sPrize = dlzPrize.find(o => o.a == v.a && o.t == v.t && o.n == v.n)
|
||||
// 严格判断,自选奖励不存在奖励列表,返回-6
|
||||
if (!sPrize) return G.server.sendMsgByUid(player.uid, 'msg_s2c/PayResult', {code: -6});
|
||||
return sPrize
|
||||
})
|
||||
// 自选奖励过判断后,存入redis,6小时内支付有效 todo 6小时可能有些长
|
||||
G.ioredis.setex(`pay:${payId}:${player.uid}`, 21600, JSON.stringify(selectPrize));
|
||||
}
|
||||
|
||||
//针对每日礼包的单独处理
|
||||
let zeroTime = PublicShared.getToDayZeroTime(G.time)
|
||||
if (payId.indexOf('136Gift') != -1 && payId != '136GiftAll') {
|
||||
@ -496,7 +455,6 @@ export class PayFun {
|
||||
|
||||
/**
|
||||
* 当玩家购买过有时间期效性的礼包 并且在生效期内每天有邮件奖励时 每天首次登陆时根据时间补发邮件 玩家每天首次登陆会进入检查
|
||||
* @param player
|
||||
* @param lastTime 上一次登陆时间
|
||||
* @param curTime 每日首次登陆时间
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user