修复购买数量低于限制的问题
This commit is contained in:
@@ -1,10 +1,12 @@
|
|||||||
## TODO
|
## TODO
|
||||||
|
|
||||||
- 解决提取成功率问题
|
- 解决提取成功率问题
|
||||||
|
- 提交代理端口配置后,并非同步将节点标记为占用状态,导致后续提取请求仍然会选中该节点,直到下一个提取请求才会发现该节点已满,导致提取失败?
|
||||||
- otel 没有正确记录接口失败信息
|
- otel 没有正确记录接口失败信息
|
||||||
- 购买数低于最小限制
|
|
||||||
|
|
||||||
创建 channel 时以 defer 的思路执行 fallback 函数,确保执行幂等性
|
筛选和关联展示功能扩展
|
||||||
|
|
||||||
|
channel 管理逻辑优化,需要携带 proxy 信息,考虑到 channel 没有成功创建的情况,或者保证创建操作的原子性
|
||||||
|
|
||||||
错误提示增强,展示整链路信息
|
错误提示增强,展示整链路信息
|
||||||
|
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ func (s *channelBaiyinProvider) ClearExpiredChannels(proxyId int32) (int, error)
|
|||||||
|
|
||||||
// 排除未过期通道
|
// 排除未过期通道
|
||||||
var batchQueried []struct{ BatchNo string }
|
var batchQueried []struct{ BatchNo string }
|
||||||
err = q.Channel.Debug().
|
err = q.Channel.
|
||||||
Select(q.Channel.BatchNo).
|
Select(q.Channel.BatchNo).
|
||||||
Where(
|
Where(
|
||||||
q.Channel.BatchNo.In(batchList...),
|
q.Channel.BatchNo.In(batchList...),
|
||||||
|
|||||||
@@ -160,6 +160,10 @@ func (s *resourceService) CalcPrice(skuCode string, count int32, user *m.User, c
|
|||||||
return nil, nil, nil, decimal.Zero, decimal.Zero, decimal.Zero, core.NewBizErr("产品不可用", err)
|
return nil, nil, nil, decimal.Zero, decimal.Zero, decimal.Zero, core.NewBizErr("产品不可用", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if count < sku.CountMin {
|
||||||
|
return nil, nil, nil, decimal.Zero, decimal.Zero, decimal.Zero, core.NewBizErr(fmt.Sprintf("购买数量不能少于 %d", sku.CountMin))
|
||||||
|
}
|
||||||
|
|
||||||
// 原价
|
// 原价
|
||||||
amountMin := sku.PriceMin.Mul(decimal.NewFromInt32(count))
|
amountMin := sku.PriceMin.Mul(decimal.NewFromInt32(count))
|
||||||
amount := sku.Price.Mul(decimal.NewFromInt32(count))
|
amount := sku.Price.Mul(decimal.NewFromInt32(count))
|
||||||
|
|||||||
Reference in New Issue
Block a user