处理excel时,type处理成int

This commit is contained in:
CounterFire2023 2023-07-25 17:39:20 +08:00
parent 07675f7019
commit 303fca75e8
2 changed files with 26 additions and 2 deletions

View File

@ -8,6 +8,7 @@ import { generateRandomBytes32 } from 'utils/wallet.util'
import { BaseModule } from './Base'
import { ReqTaskStatus, RequestTask, RequestTaskClass, TaskType } from './RequestTask'
import { groupNftMintData } from 'utils/excel.util'
export enum TaskStatus {
NOTSTART = 0,
@ -158,7 +159,7 @@ export class ChainTaskClass extends BaseModule {
} else {
count += 1
}
if (!subTask || count >= MAX_BATCH_REQ_COUNT) {
if (!subTask || count > MAX_BATCH_REQ_COUNT) {
index += 1
count = sub.type === TaskType.MINT_NFT && sub.amount && parseInt(sub.amount) > 1 ? parseInt(sub.amount) : 1
subTask = new RequestTask({

View File

@ -1,3 +1,4 @@
import { MAX_BATCH_REQ_COUNT } from 'common/Constants'
import xlsx from 'node-xlsx'
export function excelToJson(filePath: string) {
@ -16,9 +17,31 @@ export function excelToJson(filePath: string) {
}
let obj = {}
for (let j = 0, k = header.length; j < k; j++) {
obj[header[j]] = row[j]
obj[header[j]] = header[j] === 'type' ? row[j] | 0 : row[j]
}
arr.push(obj)
}
return arr
}
export function groupNftMintData(datas: any[]) {
let dataMap = new Map()
let results: any[] = []
for (let data of datas) {
if (dataMap.has(data.to)) {
let tempData = dataMap.get(data.to)
if (tempData.tokenIds.length >= MAX_BATCH_REQ_COUNT) {
results.push(tempData)
data.tokenIds = [data.tokenid || data.tokenId]
dataMap.set(data.to, data)
} else {
tempData.tokenIds.push(data.tokenid || data.tokenId)
}
} else {
data.tokenIds = [data.tokenid || data.tokenId]
dataMap.set(data.to, data)
}
}
results = results.concat([...dataMap.values()])
return results
}