修复超管无法回收资产的问题
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m0s

This commit is contained in:
2026-02-27 11:03:44 +08:00
parent 4189dbe98f
commit f5000f2bfc
4 changed files with 28 additions and 33 deletions

View File

@@ -419,26 +419,12 @@ func (s *Service) RecallCards(ctx context.Context, req *dto.RecallStandaloneCard
if err != nil {
return nil, err
}
// 调试日志:记录查询结果
s.logger.Info("批量查询店铺结果",
zap.Any("operator_shop_id", operatorShopID),
zap.Uints("requested_shop_ids", shopIDs),
zap.Int("returned_shops_count", len(shops)),
zap.Uints("returned_shop_ids", func() []uint {
ids := make([]uint, len(shops))
for i, shop := range shops {
ids[i] = shop.ID
}
return ids
}()))
for _, shop := range shops {
if s.isDirectSubordinate(operatorShopID, shop) {
directSubordinateSet[shop.ID] = true
}
}
// 调试日志:记录直属下级集合
s.logger.Info("直属下级店铺集合",
zap.Any("direct_subordinate_set", directSubordinateSet))
}
// 4. 检查绑定设备的卡
@@ -472,15 +458,17 @@ func (s *Service) RecallCards(ctx context.Context, req *dto.RecallStandaloneCard
})
continue
}
userType := middleware.GetUserTypeFromContext(ctx)
if !directSubordinateSet[*card.ShopID] {
failedItems = append(failedItems, dto.AllocationFailedItem{
ICCID: card.ICCID,
Reason: "卡所属店铺不是您的直属下级",
})
continue
if userType == constants.UserTypeAgent {
if !directSubordinateSet[*card.ShopID] {
failedItems = append(failedItems, dto.AllocationFailedItem{
ICCID: card.ICCID,
Reason: "卡所属店铺不是您的直属下级",
})
continue
}
}
cardIDs = append(cardIDs, card.ID)
successCards = append(successCards, card)
}