From ee7bfb81f01a35be250de98a4df83a889ad5eef9 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 6 May 2026 09:44:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A7=A3=E7=BB=91=E5=8D=A1?= =?UTF-8?q?=E6=B2=A1=E6=9C=89iccid=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/service/device/binding.go | 43 ++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/internal/service/device/binding.go b/internal/service/device/binding.go index 6b1eb21..c9ea4ac 100644 --- a/internal/service/device/binding.go +++ b/internal/service/device/binding.go @@ -421,6 +421,24 @@ func (s *Service) UnbindCard(ctx context.Context, deviceID uint, cardID uint) (* return nil, err } + var cardAudit map[string]any + if card, cardErr := s.iotCardStore.GetByID(ctx, binding.IotCardID); cardErr == nil { + cardAudit = map[string]any{ + "id": card.ID, + "iccid": card.ICCID, + "status": card.Status, + } + } + + beforeAuditData := map[string]any{ + "device": deviceSnapshot(device), + "binding_id": binding.ID, + "iot_card_id": binding.IotCardID, + } + if cardAudit != nil { + beforeAuditData["card"] = cardAudit + } + if err := s.deviceSimBindingStore.Unbind(ctx, binding.ID); err != nil { s.logDeviceOperation( ctx, @@ -428,11 +446,7 @@ func (s *Service) UnbindCard(ctx context.Context, deviceID uint, cardID uint) (* "设备解绑卡失败", constants.AssetAuditResultFailed, device, - map[string]any{ - "device": deviceSnapshot(device), - "binding_id": binding.ID, - "iot_card_id": binding.IotCardID, - }, + beforeAuditData, nil, 0, 0, @@ -451,21 +465,22 @@ func (s *Service) UnbindCard(ctx context.Context, deviceID uint, cardID uint) (* ) } + afterAuditData := map[string]any{ + "iot_card_id": cardID, + "unbind": true, + } + if cardAudit != nil { + afterAuditData["card"] = cardAudit + } + s.logDeviceOperation( ctx, constants.AssetAuditOpDeviceUnbindCard, "设备解绑卡", constants.AssetAuditResultSuccess, device, - map[string]any{ - "device": deviceSnapshot(device), - "binding_id": binding.ID, - "iot_card_id": binding.IotCardID, - }, - map[string]any{ - "iot_card_id": cardID, - "unbind": true, - }, + beforeAuditData, + afterAuditData, 1, 1, 0,