|
|
@@ -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`;
|