修复开放接口 wallet/package-orders 支持 IMEI 下单
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m48s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m48s
This commit is contained in:
@@ -320,15 +320,18 @@ func (s *Service) CreateWalletPackageOrders(ctx context.Context, req *dto.AgentO
|
||||
resp.FailedCards = append(resp.FailedCards, buildFailedCard(rawCardNo, errors.New(errors.CodeInvalidParam, "卡标识不能为空")))
|
||||
continue
|
||||
}
|
||||
card, err := s.resolveOpenAPICard(ctx, cardNo)
|
||||
if err != nil {
|
||||
resp.FailedCards = append(resp.FailedCards, buildFailedCard(cardNo, err))
|
||||
continue
|
||||
}
|
||||
|
||||
// 卡已绑定设备时,自动转为设备维度购买
|
||||
identifier := card.ICCID
|
||||
if !card.IsStandalone {
|
||||
var identifier string
|
||||
card, cardErr := s.resolveOpenAPICard(ctx, cardNo)
|
||||
if cardErr != nil {
|
||||
// 兜底:尝试解析为设备标识(支持 IMEI/虚拟号)
|
||||
device, devErr := s.resolveOpenAPIDevice(ctx, cardNo)
|
||||
if devErr != nil {
|
||||
resp.FailedCards = append(resp.FailedCards, buildFailedCard(cardNo, cardErr))
|
||||
continue
|
||||
}
|
||||
identifier = device.VirtualNo
|
||||
} else if !card.IsStandalone {
|
||||
// 卡已绑定设备时,自动转为设备维度购买
|
||||
binding, bindErr := s.deviceSimBindingStore.GetActiveBindingByCardID(ctx, card.ID)
|
||||
if bindErr != nil {
|
||||
resp.FailedCards = append(resp.FailedCards, buildFailedCard(cardNo, errors.Wrap(errors.CodeInternalError, bindErr, "查询卡绑定设备失败")))
|
||||
@@ -340,6 +343,8 @@ func (s *Service) CreateWalletPackageOrders(ctx context.Context, req *dto.AgentO
|
||||
continue
|
||||
}
|
||||
identifier = device.VirtualNo
|
||||
} else {
|
||||
identifier = card.ICCID
|
||||
}
|
||||
|
||||
orderResp, err := s.orderService.CreateAdminOrder(ctx, &dto.CreateAdminOrderRequest{
|
||||
|
||||
Reference in New Issue
Block a user