sdk:37ios支付及退款
This commit is contained in:
@@ -56,6 +56,7 @@ export class orderHandler {
|
||||
let sdkOrderInfo = null;//客户端需要的平台订单信息
|
||||
switch (payType) {
|
||||
case PAY_TYPE.THREE_SEVEN:
|
||||
case PAY_TYPE.THREE_SEVEN_IOS:
|
||||
{
|
||||
let pay37Order = await applyOrder37(localOrderID, roleId, productInfo);
|
||||
if (pay37Order.code == -1) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Application, ChannelService, HandlerService, } from 'pinus';
|
||||
import { reloadResources } from '../../../pubUtils/data';
|
||||
import { settleOrderFromRedisPub } from '../../../services/orderService';
|
||||
import { refundOrderFromRedisPub, settleOrderFromRedisPub } from '../../../services/orderService';
|
||||
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
|
||||
import { taflush } from '../../../services/sdkService';
|
||||
import { errlogger } from '../../../util/logger';
|
||||
@@ -38,6 +38,14 @@ export class OrderRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public async refundOrderFromRedisPub(message: string) {
|
||||
try {
|
||||
await refundOrderFromRedisPub(message);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public setServerMainten(serverIds: number[], startTime: number, endTime: number) {
|
||||
try {
|
||||
setServerMainten(serverIds, startTime, endTime);
|
||||
|
||||
@@ -278,5 +278,32 @@ export async function settleOrderFromRedisPub(message: string) {
|
||||
let result = await settleOrder(order, params.sid);
|
||||
await UserOrderModel.saveOrderID(order.roleId, order.localOrderID, aliOrderID, JSON.stringify(result));
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
export async function refundOrderFromRedisPub(message: string) {
|
||||
console.log('**********refundOrderFromRedisPub*******')
|
||||
console.log('message: ', message);
|
||||
|
||||
let params: PayCallback37Data;
|
||||
try {
|
||||
params = JSON.parse(message);
|
||||
} catch(e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
let order = await UserOrderModel.findOrder(params.order_no);
|
||||
if(!order || order.state != ORDER_STATE.CHECK_TO_REFUND) {
|
||||
console.log('订单状态错误');
|
||||
return false;
|
||||
}
|
||||
if(order.roleId != params.actor_id) {
|
||||
console.log('订单玩家错误');
|
||||
return false;
|
||||
}
|
||||
|
||||
await UserOrderModel.refund(order.roleId, order.localOrderID, message);
|
||||
|
||||
return true
|
||||
}
|
||||
@@ -542,9 +542,10 @@ export async function redisSubScribe() {
|
||||
let env = pinus.app.get('env');
|
||||
if(env == 'development') env = 'local'; // 本地处理
|
||||
let payChannel = getRedisSubChannel(REDIS_KEY.PAY_CHANNEL, env);
|
||||
let refundChannel = getRedisSubChannel(REDIS_KEY.REFUND_CHANNEL, env);
|
||||
let treatRoleChannel = getRedisSubChannel(REDIS_KEY.TREAT_ROLE_CHANNEL, env);
|
||||
let treatGuildChannel = getRedisSubChannel(REDIS_KEY.TREAT_GUILD_CHANNEL, env);
|
||||
await redisClientPub().subscribeAsync(payChannel, treatRoleChannel, treatGuildChannel);
|
||||
await redisClientPub().subscribeAsync(payChannel, treatRoleChannel, treatGuildChannel, refundChannel);
|
||||
redisClientPub().on('message', (channel, message) => {
|
||||
console.log('**********redisSubScribe*******')
|
||||
console.log('channel: ', channel, payChannel);
|
||||
@@ -561,6 +562,11 @@ export async function redisSubScribe() {
|
||||
let servers = pinus.app.getServersByType('guild');
|
||||
let server = getRandSingleEelm(servers);
|
||||
pinus.app.rpc.guild.guildRemote.treatGuildName.toServer(server.id, message);
|
||||
} else if (channel == refundChannel) {
|
||||
let servers = pinus.app.getServersByType('order');
|
||||
let server = getRandSingleEelm(servers);
|
||||
pinus.app.rpc.order.orderRemote.refundOrderFromRedisPub.toServer(server.id, message);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user