shawenguan 1 year ago
parent
commit
2af653ec33
1 changed files with 36 additions and 1 deletions
  1. 36 1
      Scripts/wubian/wubianFastGrab.js

+ 36 - 1
Scripts/wubian/wubianFastGrab.js

@@ -38,6 +38,7 @@ const WuBianConstKey = {
 
     FastBuyCaptureEnabled: 'WubianFastBuyCaptureEnabled',
     FastBuyQuickModeEnabled: 'WubianFastBuyQuickModeEnabled',
+    FastBuyBatchModeEnabled: 'WubianFastBuyBatchModeEnabled',
     FastBuyArtName: 'WubianFastBuyArtName',
     FastBuyArtId: 'WubianFastBuyArtId',
     FastBuyArtPrice: 'WubianFastBuyArtPrice',
@@ -146,7 +147,14 @@ async function tryToBuy() {
     if (isQuick) {
         let orderSn = null;
         let orderStatus = -1;
-        let retOrder = await fastCreateMarketOrder(artInfo.artId);
+        let willPrice = getWillBuyArtPrice();
+        let retOrder = null;
+        let isBatch = magicJS.data.read(WuBianConstKey.FastBuyBatchModeEnabled, false);
+        if (isBatch) {
+            retOrder = await batchLockMarketOrder(artInfo.artId, willPrice, willAmount);
+        } else {
+            retOrder = await fastCreateMarketOrder(artInfo.artId);
+        }
         if (retOrder && retOrder.code == 200) {
             orderSn = retOrder.data.orderSn;
             orderStatus = retOrder.data.status;
@@ -438,6 +446,33 @@ async function fastCreateMarketOrder(artHashId) {
     return result;
 }
 
+async function batchLockMarketOrder(artHashId, maxPrice, num = 10, walletId = 3) {
+    const url = `https://api.wubian.pro/vmf/app/order/batchLockMarketOrder`;
+    const reqData = {
+        artHashId: artHashId,
+        maxPrice: String(maxPrice),
+        num: num,
+        walletId: walletId,
+    };
+    let options = {
+        url: url,
+        headers: gCommonHeaders,
+        body: JSON.stringify(reqData),
+    };
+    let result = await magicJS.http.post(options).then(response => {
+        try {
+            let rspData = response.body;
+            magicJS.logger.info(`rspData=${JSON.stringify(rspData)}`);
+            return rspData;
+        } catch (e) {
+            magicJS.logger.error(e);
+        }
+    }).catch(err => {
+        const msg = `请求批量下单异常\n${JSON.stringify(err)}`;
+        magicJS.logger.error(msg);
+    });
+    return result;
+}
 
 async function getPayMethodList(orderSn) {
     const url = `https://api.wubian.pro/vmf/app/pay/cashier`;