fix: 记录查询扫描结构显式指定列名,修复 ICCID 一直为空
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
GORM 默认把字段 ICCID 映射成 icc_id,卡日流量的 c.iccid 和展示字段批量查询都读不到值; 扫描用的匿名结构统一写 gorm column tag。
This commit is contained in:
@@ -47,9 +47,10 @@ func Load(ctx context.Context, db *gorm.DB, req Request) (*Lookup, error) {
|
||||
session := db.WithContext(ctx).Unscoped()
|
||||
|
||||
if ids := distinct(req.CardIDs); len(ids) > 0 {
|
||||
// 显式列名:GORM 默认把字段 ICCID 映射成 icc_id,不写 tag 会读不到值。
|
||||
var rows []struct {
|
||||
ID uint
|
||||
ICCID string
|
||||
ID uint `gorm:"column:id"`
|
||||
ICCID string `gorm:"column:iccid"`
|
||||
}
|
||||
if err := session.Model(&model.IotCard{}).Select("id, iccid").Where("id IN ?", ids).Scan(&rows).Error; err != nil {
|
||||
return nil, errors.Wrap(errors.CodeDatabaseError, err, "查询卡展示信息失败")
|
||||
@@ -60,9 +61,9 @@ func Load(ctx context.Context, db *gorm.DB, req Request) (*Lookup, error) {
|
||||
}
|
||||
if ids := distinct(req.DeviceIDs); len(ids) > 0 {
|
||||
var rows []struct {
|
||||
ID uint
|
||||
VirtualNo string
|
||||
IMEI string
|
||||
ID uint `gorm:"column:id"`
|
||||
VirtualNo string `gorm:"column:virtual_no"`
|
||||
IMEI string `gorm:"column:imei"`
|
||||
}
|
||||
if err := session.Model(&model.Device{}).Select("id, virtual_no, imei").Where("id IN ?", ids).Scan(&rows).Error; err != nil {
|
||||
return nil, errors.Wrap(errors.CodeDatabaseError, err, "查询设备展示信息失败")
|
||||
@@ -73,8 +74,8 @@ func Load(ctx context.Context, db *gorm.DB, req Request) (*Lookup, error) {
|
||||
}
|
||||
if ids := distinct(req.CarrierIDs); len(ids) > 0 {
|
||||
var rows []struct {
|
||||
ID uint
|
||||
CarrierName string
|
||||
ID uint `gorm:"column:id"`
|
||||
CarrierName string `gorm:"column:carrier_name"`
|
||||
}
|
||||
if err := session.Model(&model.Carrier{}).Select("id, carrier_name").Where("id IN ?", ids).Scan(&rows).Error; err != nil {
|
||||
return nil, errors.Wrap(errors.CodeDatabaseError, err, "查询运营商账户展示信息失败")
|
||||
@@ -85,8 +86,8 @@ func Load(ctx context.Context, db *gorm.DB, req Request) (*Lookup, error) {
|
||||
}
|
||||
if ids := distinct(req.OperatorIDs); len(ids) > 0 {
|
||||
var rows []struct {
|
||||
ID uint
|
||||
Username string
|
||||
ID uint `gorm:"column:id"`
|
||||
Username string `gorm:"column:username"`
|
||||
}
|
||||
if err := session.Model(&model.Account{}).Select("id, username").Where("id IN ?", ids).Scan(&rows).Error; err != nil {
|
||||
return nil, errors.Wrap(errors.CodeDatabaseError, err, "查询操作人展示信息失败")
|
||||
@@ -97,8 +98,8 @@ func Load(ctx context.Context, db *gorm.DB, req Request) (*Lookup, error) {
|
||||
}
|
||||
if ids := distinct(req.PackageUsageIDs); len(ids) > 0 {
|
||||
var rows []struct {
|
||||
ID uint
|
||||
PackageName string
|
||||
ID uint `gorm:"column:id"`
|
||||
PackageName string `gorm:"column:package_name"`
|
||||
}
|
||||
if err := session.Model(&model.PackageUsage{}).Select("id, package_name").Where("id IN ?", ids).Scan(&rows).Error; err != nil {
|
||||
return nil, errors.Wrap(errors.CodeDatabaseError, err, "查询套餐名称失败")
|
||||
|
||||
Reference in New Issue
Block a user