fix:去掉200次计数,改为永久复用+绑定失败时重建
This commit is contained in:
parent
b595f2e8b6
commit
b9f3b1983c
@ -2508,7 +2508,7 @@ export default {
|
||||
},
|
||||
|
||||
// 调用波次接口(syncBook 成功后调用)
|
||||
// 一个波次最多使用 200 次,避免每次上架都创建新波次
|
||||
// 复用波次机制:首次创建后永久复用,绑定失败时重新创建
|
||||
async callWaveApi(warehouseData, productId) {
|
||||
var timestamp = String(Math.floor(Date.now() / 1000))
|
||||
var price = this.currentTab === 'isbn'
|
||||
@ -2527,23 +2527,21 @@ export default {
|
||||
return
|
||||
}
|
||||
|
||||
var WAVE_MAX_USE = 200
|
||||
var waveNo = uni.getStorageSync('reuseWaveNo') || ''
|
||||
var waveCount = parseInt(uni.getStorageSync('reuseWaveCount') || '0')
|
||||
|
||||
// 已有可用波次且未达上限 → 跳过创建波次,直接绑定 + 入库
|
||||
if (waveNo && waveCount < WAVE_MAX_USE) {
|
||||
console.log('【波次】复用 wave_no=' + waveNo + ' 已用=' + (waveCount + 1) + '/' + WAVE_MAX_USE)
|
||||
// 已有波次 → 尝试复用
|
||||
if (waveNo) {
|
||||
console.log('【波次】尝试复用 wave_no=' + waveNo)
|
||||
var bindResult = await this.callBindWaveApi(timestamp, waveNo)
|
||||
if (bindResult) {
|
||||
await this.callReceiveSubmitApi(timestamp, bindResult, productId, stock, warehouseData)
|
||||
uni.setStorageSync('reuseWaveCount', waveCount + 1)
|
||||
return
|
||||
}
|
||||
return
|
||||
console.log('【波次】复用失败,创建新波次')
|
||||
}
|
||||
|
||||
// 无可用波次或已达上限 → 创建新波次
|
||||
console.log('【波次】创建新波次(当前已用=' + waveCount + '/' + WAVE_MAX_USE + ')')
|
||||
// 无波次或复用失败 → 创建新波次
|
||||
console.log('【波次】创建新波次')
|
||||
|
||||
// 调用波次接口
|
||||
const params = {
|
||||
@ -2595,9 +2593,8 @@ export default {
|
||||
var releaseWaveNo = await this.callWaveReleaseApi(timestamp, waveId, orderId, carInfo, productId, stock, price)
|
||||
// 2. 绑定波次(使用 release 返回的 wave_no)
|
||||
if (releaseWaveNo) {
|
||||
// 保存 wave_no 供后续复用
|
||||
// 保存 wave_no 供后续永久复用
|
||||
uni.setStorageSync('reuseWaveNo', releaseWaveNo)
|
||||
uni.setStorageSync('reuseWaveCount', 1)
|
||||
var bindResult = await this.callBindWaveApi(timestamp, releaseWaveNo)
|
||||
// 3. 提交入库(使用 bind-wave 返回的数据)
|
||||
if (bindResult) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user