sdk:ios和安卓共用回调

This commit is contained in:
luying
2022-03-31 19:30:37 +08:00
parent af55a44929
commit ff6d2c0f67
3 changed files with 58 additions and 58 deletions
+6 -6
View File
@@ -10,12 +10,12 @@ export default class SdkController extends Controller {
return; return;
} }
public async pay37IosCallback() { // public async pay37IosCallback() {
const { ctx } = this; // const { ctx } = this;
const params = new PayCallback37Data(ctx.request.body); // const params = new PayCallback37Data(ctx.request.body);
ctx.body = await ctx.service.sdk.pay37IOSCallback(params); // ctx.body = await ctx.service.sdk.pay37IOSCallback(params);
return; // return;
} // }
public async refundIOSCallback() { public async refundIOSCallback() {
const { ctx } = this; const { ctx } = this;
+1 -1
View File
@@ -28,7 +28,7 @@ export default (app: Application) => {
// sdk 回调 // sdk 回调
router.post('/cb/pay37callback', controller.sdk.pay37Callback); router.post('/cb/pay37callback', controller.sdk.pay37Callback);
router.post('/cb/pay37ioscallback', controller.sdk.pay37IosCallback); // router.post('/cb/pay37ioscallback', controller.sdk.pay37IosCallback);
router.get('/cb/treatusername', controller.sdk.treatRoleName); router.get('/cb/treatusername', controller.sdk.treatRoleName);
router.get('/cb/treatguildname', controller.sdk.treatGuildName); router.get('/cb/treatguildname', controller.sdk.treatGuildName);
router.get('/cb/getguildbyuser', controller.sdk.getGuildByUser); router.get('/cb/getguildbyuser', controller.sdk.getGuildByUser);
+51 -51
View File
@@ -1,6 +1,6 @@
import { Service } from 'egg'; import { Service } from 'egg';
import { REDIS_KEY, PAY_37_CALLBACK_CODE, SDK_37_CONST, ORDER_STATE, SDK_37_TREAT_CODE, SERVER_STATUS, PAY_IOS_37_CALLBACK_CODE, SDK_37_REFUND_CODE } from '@consts'; import { REDIS_KEY, PAY_37_CALLBACK_CODE, SDK_37_CONST, ORDER_STATE, SDK_37_TREAT_CODE, SERVER_STATUS, SDK_37_REFUND_CODE } from '@consts';
import { GetGuildInfoByUserParam, GetServerListParam, GuildNameCallBackParam, IOSRefundParam, PayCallback37Data, RoleNameCallBackParam } from '../domain/sdk'; import { GetGuildInfoByUserParam, GetServerListParam, GuildNameCallBackParam, IOSRefundParam, PayCallback37Data, RoleNameCallBackParam } from '../domain/sdk';
import { RedisClient } from 'redis'; import { RedisClient } from 'redis';
import { get37GetServerMd5Sign, get37Md5SignA, get37Md5SignB, getChannelId, getRedisSubChannel } from '../pubUtils/sdkUtil'; import { get37GetServerMd5Sign, get37Md5SignA, get37Md5SignB, getChannelId, getRedisSubChannel } from '../pubUtils/sdkUtil';
@@ -85,64 +85,64 @@ export default class Sdk extends Service {
return ctx.service.utils.resResult(PAY_37_CALLBACK_CODE.SUCCESS, ''); return ctx.service.utils.resResult(PAY_37_CALLBACK_CODE.SUCCESS, '');
} }
public async pay37IOSCallback(params: PayCallback37Data) { // public async pay37IOSCallback(params: PayCallback37Data) {
const { ctx } = this; // const { ctx } = this;
const { app } = ctx; // const { app } = ctx;
let checkResult = this.check37Sign(params); // let checkResult = this.check37Sign(params);
if(!checkResult) return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.MD5_ERR, ''); // if(!checkResult) return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.MD5_ERR, '');
console.log('*****pay37Callback check sign ok') // console.log('*****pay37Callback check sign ok')
if(gameData.whiteip.indexOf(ctx.clientIp) == -1) { // if(gameData.whiteip.indexOf(ctx.clientIp) == -1) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.IP_LIMIT, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.IP_LIMIT, '');
} // }
console.log('*****pay37Callback check ip ok') // console.log('*****pay37Callback check ip ok')
if(nowSeconds() - params.time > 15 * 60) { // if(nowSeconds() - params.time > 15 * 60) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.TIME_IS_EXPIRED, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.TIME_IS_EXPIRED, '');
} // }
console.log('*****pay37Callback check time ok') // console.log('*****pay37Callback check time ok')
let order = await UserOrderModel.findOrder(params.order_no); // let order = await UserOrderModel.findOrder(params.order_no);
if(!order) { // if(!order) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.ORDER_DUPLICATE, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.ORDER_DUPLICATE, '');
} // }
console.log('*****pay37Callback check order ok') // console.log('*****pay37Callback check order ok')
if(order.state != ORDER_STATE.APPLY) { // if(order.state != ORDER_STATE.APPLY) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.SUCCESS, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.SUCCESS, '');
} // }
console.log('*****pay37Callback check order status ok', params.money, typeof params.money) // console.log('*****pay37Callback check order status ok', params.money, typeof params.money)
if(order.price != parseFloat(params.money)) { // if(order.price != parseFloat(params.money)) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.FAIL, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.FAIL, '');
} // }
console.log('*****pay37Callback check money ok', order.price, params.money) // console.log('*****pay37Callback check money ok', order.price, params.money)
let role = await RoleModel.findByRoleId(order.roleId); // let role = await RoleModel.findByRoleId(order.roleId);
if(!role) { // if(!role) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.ROLE_NOT_FOUND, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.ROLE_NOT_FOUND, '');
} // }
console.log('*****pay37Callback check role ok') // console.log('*****pay37Callback check role ok')
if(role.serverId != params.sid) { // if(role.serverId != params.sid) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.ROLE_NOT_FOUND, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.ROLE_NOT_FOUND, '');
} // }
console.log('*****pay37Callback check server ok') // console.log('*****pay37Callback check server ok')
order = await UserOrderModel.check(order.roleId, order.localOrderID); // order = await UserOrderModel.check(order.roleId, order.localOrderID);
if(!order) { // if(!order) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.FAIL, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.FAIL, '');
} // }
console.log('*****pay37Callback save order check ok') // console.log('*****pay37Callback save order check ok')
let redisClient: RedisClient = app.context.redisClient; // let redisClient: RedisClient = app.context.redisClient;
let name = getRedisSubChannel(REDIS_KEY.PAY_CHANNEL, app.config.env); // let name = getRedisSubChannel(REDIS_KEY.PAY_CHANNEL, app.config.env);
let result = await redisClient.publishAsync(name, JSON.stringify(params)); // let result = await redisClient.publishAsync(name, JSON.stringify(params));
if(result == 0) { // if(result == 0) {
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.SERVER_IS_BUSY, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.SERVER_IS_BUSY, '');
} // }
console.log('*****pay37Callback redis publish ok') // console.log('*****pay37Callback redis publish ok')
return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.SUCCESS, ''); // return ctx.service.utils.resResult(PAY_IOS_37_CALLBACK_CODE.SUCCESS, '');
} // }
public async refundIOSCallback(params: IOSRefundParam) { public async refundIOSCallback(params: IOSRefundParam) {
const { ctx } = this; const { ctx } = this;