-- 修复个人客户设备绑定表中卡类型资产的绑定键
-- 问题：resolveAssetBindingKey 对卡类型错误地使用了 card.ICCID，应使用 card.VirtualNo
-- 影响：所有通过卡 ICCID 登录的个人客户绑定记录的 virtual_no 字段存的是 ICCID 而非资产虚拟号
-- 导致：归属校验 isCustomerOwnAsset 比对 VirtualNo 时永远不匹配，返回 403
UPDATE tb_personal_customer_device pcd
SET virtual_no = ic.virtual_no
FROM tb_iot_card ic
WHERE pcd.virtual_no = ic.iccid
  AND pcd.deleted_at IS NULL;
