|
|
@@ -114,8 +114,8 @@ async function all() {
|
|
|
let isPass = true;
|
|
|
if (isCollectionMaxNumLimitEnable()) {
|
|
|
let maxLockNum = getCollectionLockMaxNum();
|
|
|
- let curPayingNum = await getNftOrderList(0);
|
|
|
- if (curPayingNum >= maxLockNum) {
|
|
|
+ let orderLstInfo = await getNftOrderList(0);
|
|
|
+ if (orderLstInfo.total >= maxLockNum) {
|
|
|
lk.log('当前未支付订单达到预设的限制单量');
|
|
|
lk.prependNotifyInfo(`⚠️当前未支付订单达到限制${maxLockNum}单`);
|
|
|
isPass = false;
|
|
|
@@ -172,22 +172,22 @@ async function getNftOrderList(status, orderType = 0, page = 1, pageSize = 6) {
|
|
|
lk.execFail();
|
|
|
// lk.appendNotifyInfo(`❌获取订单列表失败,请稍后再试`);
|
|
|
} else {
|
|
|
- let ret = JSON.parse(data);
|
|
|
- rows = ret.rows;
|
|
|
- total = ret.total || ret.recordsTotal;
|
|
|
+ let info = JSON.parse(data);
|
|
|
+ rows = info.rows;
|
|
|
+ total = info.total || info.recordsTotal;
|
|
|
}
|
|
|
} catch (e) {
|
|
|
lk.log(`获取订单列表数据发生错误`);
|
|
|
lk.logErr(e);
|
|
|
lk.execFail();
|
|
|
} finally {
|
|
|
- resolve(total);
|
|
|
+ resolve({ total: total, rows: rows });
|
|
|
}
|
|
|
});
|
|
|
} catch (e) {
|
|
|
lk.log(`获取订单列表数据发生错误`);
|
|
|
lk.logErr(e);
|
|
|
- resolve(0);
|
|
|
+ resolve({ total: 0 });
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -303,7 +303,6 @@ function checkToBuyCollection(item) {
|
|
|
body: body
|
|
|
};
|
|
|
lk.log(`请求购买产品[${item.collectionName}#${viewSort}]=${body}`);
|
|
|
- // resolve(1);
|
|
|
const collectionName = item.collectionName;
|
|
|
lk.post(url, async (error, _response, data) => {
|
|
|
let retItem;
|
|
|
@@ -343,28 +342,319 @@ function checkToBuyCollection(item) {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-async function getOrderEndTime(orderNum) {
|
|
|
+async function checkTryPayAll() {
|
|
|
+ let orderLstInfo = await getNftOrderList(0);
|
|
|
+ let orderCnt = orderLstInfo.total;
|
|
|
+ if (orderCnt > 0) {
|
|
|
+ let orderLst = orderLstInfo.rows;
|
|
|
+ for (let info of orderLst) {
|
|
|
+ checkPay(info.orderNo, info.orderNum);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
+async function checkPay(orderNum, orderTotal) {
|
|
|
+ let orderInfo = await getOrderEndTime(orderNum);
|
|
|
+ if (orderInfo) {
|
|
|
+ let endDate = new Date(orderInfo.endDate);
|
|
|
+ if (new Date().getTime() < endDate.getTime()) {
|
|
|
+ let tranWalletList = await transactionWalletList();
|
|
|
+ let myWalletList = await getMyWalletList();
|
|
|
+ if (tranWalletList && myWalletList) {
|
|
|
+ let isMateWallet = false;
|
|
|
+ let isPaySuccess = false;
|
|
|
+ for (let w1 of myWalletList) {
|
|
|
+ if (tranWalletList.indexOf(w1.channel) > -1) {
|
|
|
+ let availableMoney = w1.availableMoney;
|
|
|
+ if (availableMoney >= orderTotal) {
|
|
|
+ isMateWallet = true;
|
|
|
+ lk.log(`匹配到钱包${w1.channel}余额[${availableMoney}]用来支付订单额[${orderTotal}]`);
|
|
|
+ let isPass = await inputMyWalletPassword(w1.channel, orderNum, orderTotal);
|
|
|
+ if (isPass) {
|
|
|
+ isPaySuccess = await finalPay(orderNum, orderInfo);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!isMateWallet) {
|
|
|
+ lk.log('无匹配的钱包,请检查钱包余额');
|
|
|
+ } else if (isPaySuccess) {
|
|
|
+ lk.log('支付成功');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ lk.log(`订单[${orderNum}]已超时`);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-async function transactionWalletList(orderNum) {
|
|
|
+async function getOrderEndTime(orderNum) {
|
|
|
+ return new Promise((resolve, _reject) => {
|
|
|
+ try {
|
|
|
+ const headers = GCommonGandartHeads;
|
|
|
+ headers.Host = "api.gandart.com";
|
|
|
+ const body = `orderNum=${orderNum}`;
|
|
|
+ let url = {
|
|
|
+ url: `${config.RESALE_API}/resaleManage/getOrderEndTime`,
|
|
|
+ headers: headers,
|
|
|
+ body: body
|
|
|
+ };
|
|
|
+ lk.post(url, async (error, _response, data) => {
|
|
|
+ let ret;
|
|
|
+ try {
|
|
|
+ if (error) {
|
|
|
+ lk.execFail();
|
|
|
+ } else {
|
|
|
+ let info = JSON.parse(data);
|
|
|
+ if (info.success) {
|
|
|
+ ret = info.obj;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ lk.logErr(e);
|
|
|
+ lk.execFail();
|
|
|
+ } finally {
|
|
|
+ resolve(ret);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ lk.logErr(e);
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
+async function transactionWalletList(orderNum) {
|
|
|
+ return new Promise((resolve, _reject) => {
|
|
|
+ try {
|
|
|
+ const headers = GCommonGandartHeads;
|
|
|
+ headers.Host = "api.gandart.com";
|
|
|
+ const body = `orderNum=${orderNum}`;
|
|
|
+ let url = {
|
|
|
+ url: `${config.RESALE_API}/resaleManage/getOrderEndTime`,
|
|
|
+ headers: headers,
|
|
|
+ body: body
|
|
|
+ };
|
|
|
+ lk.log(`请求订单[${orderNum}]收款钱包列表`);
|
|
|
+ lk.post(url, async (error, _response, data) => {
|
|
|
+ let ret;
|
|
|
+ try {
|
|
|
+ if (error) {
|
|
|
+ lk.log(`请求订单收款钱包列表发生错误`);
|
|
|
+ lk.execFail();
|
|
|
+ } else {
|
|
|
+ let info = JSON.parse(data);
|
|
|
+ if (info.success) {
|
|
|
+ lk.log(`请求订单收款钱包列表成功`);
|
|
|
+ if (info.obj) {
|
|
|
+ ret = info.obj.walletList;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ lk.log(`请求订单[${orderNum}]收款钱包列表失败,响应:${data}`);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求订单收款钱包列表发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ lk.execFail();
|
|
|
+ } finally {
|
|
|
+ resolve(ret);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求订单收款钱包列表发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
async function getMyWalletList() {
|
|
|
-
|
|
|
+ return new Promise((resolve, _reject) => {
|
|
|
+ try {
|
|
|
+ const headers = GCommonGandartHeads;
|
|
|
+ headers.Host = "api.gandart.com";
|
|
|
+ const body = ``;
|
|
|
+ let url = {
|
|
|
+ url: `${config.WALLET_API}/v2/wallet/list?`,
|
|
|
+ headers: headers,
|
|
|
+ body: body
|
|
|
+ };
|
|
|
+ lk.log(`请求个人钱包列表数据`);
|
|
|
+ lk.post(url, async (error, _response, data) => {
|
|
|
+ let ret;
|
|
|
+ try {
|
|
|
+ if (error) {
|
|
|
+ lk.log(`请求个人钱包列表数据发生错误`);
|
|
|
+ lk.execFail();
|
|
|
+ } else {
|
|
|
+ let info = JSON.parse(data);
|
|
|
+ if (info.success) {
|
|
|
+ ret = info.obj;
|
|
|
+ } else {
|
|
|
+ lk.log(`请求个人钱包列表数据失败,响应:${data}`);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求个人钱包列表数据发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ lk.execFail();
|
|
|
+ } finally {
|
|
|
+ resolve(ret);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求个人钱包列表数据发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
-async function getPublickey() {
|
|
|
+async function inputMyWalletPassword(walletType, orderNum, orderTotal) {
|
|
|
+ let publicKey = await getPublicKey();
|
|
|
+ if (publicKey) {
|
|
|
+ let accountPassword = '';
|
|
|
+ let isOk = await confirmPassword(accountPassword);
|
|
|
+ if (isOk) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+}
|
|
|
|
|
|
+async function getPublicKey() {
|
|
|
+ return new Promise((resolve, _reject) => {
|
|
|
+ try {
|
|
|
+ const id = item.id;
|
|
|
+ const viewSort = item.viewSort || 0;
|
|
|
+ const headers = GCommonGandartHeads;
|
|
|
+ headers.Host = "api.gandart.com";
|
|
|
+ const body = ``;
|
|
|
+ let url = {
|
|
|
+ url: `${config.BASE_API}/reg/getPublicKey`,
|
|
|
+ headers: headers,
|
|
|
+ body: body
|
|
|
+ };
|
|
|
+ lk.log(`请求支付密码相关的PublicKey`);
|
|
|
+ lk.post(url, async (error, _response, data) => {
|
|
|
+ let ret;
|
|
|
+ try {
|
|
|
+ if (error) {
|
|
|
+ lk.log(`请求PublicKey发生错误`);
|
|
|
+ lk.execFail();
|
|
|
+ } else {
|
|
|
+ let info = JSON.parse(data);
|
|
|
+ if (info.success) {
|
|
|
+ lk.log(`请求PublicKey成功`);
|
|
|
+ ret = info.obj;
|
|
|
+ } else {
|
|
|
+ lk.log(`请求PublicKey失败`);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求PublicKey发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ lk.execFail();
|
|
|
+ } finally {
|
|
|
+ resolve(ret);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求PublicKey发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
async function confirmPassword(accountPassword) {
|
|
|
-
|
|
|
+ return new Promise((resolve, _reject) => {
|
|
|
+ try {
|
|
|
+ const headers = GCommonGandartHeads;
|
|
|
+ headers.Host = "api.gandart.com";
|
|
|
+ const body = `accountPassword=${accountPassword}`;
|
|
|
+ let url = {
|
|
|
+ url: `${config.BASE_API}/user/confirmPassword`,
|
|
|
+ headers: headers,
|
|
|
+ body: body
|
|
|
+ };
|
|
|
+ lk.log(`请求验证支付密码`);
|
|
|
+ lk.post(url, async (error, _response, data) => {
|
|
|
+ let ret = false;
|
|
|
+ try {
|
|
|
+ if (error) {
|
|
|
+ lk.log(`请求验证支付密码发生错误`);
|
|
|
+ lk.execFail();
|
|
|
+ } else {
|
|
|
+ let info = JSON.parse(data);
|
|
|
+ if (info.success) {
|
|
|
+ lk.log(`请求验证支付密码通过`);
|
|
|
+ ret = true;
|
|
|
+ } else {
|
|
|
+ lk.log(`请求验证支付密码失败,响应:${data}`);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求验证支付密码发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ lk.execFail();
|
|
|
+ } finally {
|
|
|
+ resolve(ret);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求验证支付密码发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
-async function pay(orderNum, castingId, transactionRecordId, userId) {
|
|
|
-
|
|
|
+async function finalPay(orderNum, orderInfo) {
|
|
|
+ return new Promise((resolve, _reject) => {
|
|
|
+ try {
|
|
|
+ const headers = GCommonGandartHeads;
|
|
|
+ headers.Host = "api.gandart.com";
|
|
|
+ const body = `orderNum=${orderNum}&castingId=${orderInfo.castingId}&transactionRecordId=${orderInfo.transactionRecordId}&userId=${orderInfo.userId}`;
|
|
|
+ let url = {
|
|
|
+ url: `${config.BASE_API}/v2/resaleManage/resale/pay`,
|
|
|
+ headers: headers,
|
|
|
+ body: body
|
|
|
+ };
|
|
|
+ lk.log(`请求支付订单[${orderNum}]=${body}`);
|
|
|
+ lk.post(url, async (error, _response, data) => {
|
|
|
+ let ret;
|
|
|
+ try {
|
|
|
+ if (error) {
|
|
|
+ lk.log(`请求支付订单[${orderNum}]发生错误`);
|
|
|
+ lk.execFail();
|
|
|
+ lk.appendNotifyInfo(`❌支付失败,请稍后再试`);
|
|
|
+ } else {
|
|
|
+ let info = JSON.parse(data);
|
|
|
+ if (info.success) {
|
|
|
+ ret = orderNum;
|
|
|
+ lk.appendNotifyInfo(`🎉支付订单[${orderNum}]成功`);
|
|
|
+ } else {
|
|
|
+ lk.log(`请求支付订单[${orderNum}]失败,响应:${data}`);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求支付订单[${orderNum}]发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ lk.execFail();
|
|
|
+ } finally {
|
|
|
+ resolve(ret);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ lk.log(`请求支付订单[${orderNum}]发生错误`);
|
|
|
+ lk.logErr(e);
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
|