Parcourir la source

修改webserver发货逻辑

zhanwencai il y a 1 an
Parent
commit
ae9d02b8ae

+ 38 - 36
webServer/src/controller/ApiController.ts

@@ -20,7 +20,10 @@ const getServerList = (serverId) => {
 }
 
 const callPay = async (ctx) => {
-
+    let ret = {
+        code: 0,
+        msg: '发货失败'
+    }
     let data = ctx.request.body
     let sign = data.sign
     let serverId = data.serverID
@@ -32,12 +35,14 @@ const callPay = async (ctx) => {
 
     if (!orderInfo) {
         logger.info(`订单${orderId}不存在`)
-        return false
+        ret.msg = `订单${orderId}不存在`
+        return ret
     }
 
     if (orderInfo.status == 2) {
         logger.info(`订单${orderId}已经重复发货`)
-        return false
+        ret.msg = `订单${orderId}已经重复发货`
+        return ret
     }
 
     //签名参数
@@ -50,13 +55,15 @@ const callPay = async (ctx) => {
     console.log("newSign:", newSign)
     if (sign != newSign) {
         logger.info(`签名错误: 签名串 ${signStr} newSign ${newSign} sign ${sign}`)
-        return false
+        ret.msg = `签名错误`
+        return ret
     }
 
     let url = getServerList(serverId)
     if (!url) {
         logger.info(`区服id错误: serverId ${serverId}`)
-        return false
+        ret.msg = `区服id错误: serverId ${serverId}`
+        return ret
     }
 
     //发货
@@ -71,25 +78,30 @@ const callPay = async (ctx) => {
     // 在适当的时机,调用 CG_ASK_LOGIN 方法
     let params = `{"account":"${orgMemId}","order":"${orgOderId}","id":${orgProductId},"cnt":100,"money":${orgProductPrice}}`
 
-    setTimeout(function () {
-        console.log("这个消息将在3秒后打印出来");
-        Msg.CG_ASK_LOGIN(Account, 0, "", 'cn', 'CN', ctx.request.ip, params);
-    }, 3000);
-
-    const update_time = formatDate(new Date())
-    const res = await Order.updateOrderStats(
-        orderId,
-        2,
-        update_time
-    );
-
-    if (res.affectedRows > 0) {
-        logger.info(`订单${orderId} 发货成功`)
-        return true
-    } else {
-        logger.info(`订单${orderId} 发货失败`)
-        return false
-    }
+    return new Promise((resolve) => {
+        setTimeout(async () => {
+            console.log("这个消息将在3秒后打印出来");
+            Msg.CG_ASK_LOGIN(Account, 0, "", 'cn', 'CN', ctx.request.ip, params);
+
+            const update_time = formatDate(new Date())
+            const res = await Order.updateOrderStats(
+                orderId,
+                2,
+                update_time
+            );
+
+            if (res.affectedRows <= 0) {
+                logger.info(`订单${orderId} 发货失败`)
+                ret.msg = '发货失败'
+                resolve(ret);
+            }
+            ret.code = 1
+            ret.msg = '发货成功'
+            resolve(ret);
+
+        }, 1000);
+    });
+
 }
 
 //验证账号
@@ -181,19 +193,9 @@ class ApiController {
     }
 
     async callPay(ctx) {
-
-        let ret = {
-            code: 0,
-            msg: '发货失败'
-        }
-
         var result = await callPay(ctx)
-
-        if (result) {
-            ret.code = 1;
-            ret.msg = '发货成功';
-        }
-        ctx.body = JSON.stringify(ret)
+        console.log('发货结果', result)
+        ctx.body = result
     }
 
     async getServerList(ctx) {

+ 1 - 1
webServer/src/model/OrderModel.ts

@@ -20,12 +20,12 @@ class OrderModel {
         return await query(`INSERT INTO game_order(order_id, uid, level,amount,role_id,role_name,product_id,create_time) VALUES('${orderId}', '${uid}', '${level}', '${amount}', '${role_id}', '${role_name}','${product_id}', '${create_time}')`)
     }
 
+    //更新订单状态
     async updateOrderStats(
         orderId: any,
         status: any,
         update_time: string
     ) {
-
         const sql = 'UPDATE game_order SET status = ?, update_time = ? WHERE order_id = ?';
         return await query(sql, [status, update_time, orderId])
     }

+ 1 - 0
webServer/src/msg.ts

@@ -21,6 +21,7 @@ export default class Msg {
 		} else if (Msg.isConnecting) {
 			console.log("msg connect 正在连接中");
 		} else {
+            console.log("msg connect 开始连接");
 			Msg.isConnect = false;
 			Msg.isConnecting = true;
             Msg.websocket = new WebSocket(url);

+ 1 - 1
webServer/src/router/index.ts

@@ -4,7 +4,7 @@ const router = new Router()
 //用户
 const ApiController = require('../controller/ApiController')
 
-//支付回头奥
+//支付回
 router.post('/callback', ApiController.callPay)
 
 //登陆验证