42 lines
755 B
Go
42 lines
755 B
Go
package actions
|
|
|
|
import (
|
|
"zzman/model"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func FindConfigsByGateway(tx *gorm.DB, macaddr string) ([]model.Config, error) {
|
|
var configs []model.Config
|
|
err := tx.Find(&configs, "macaddr = ?", macaddr).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return configs, nil
|
|
}
|
|
|
|
func CreateConfigs(tx *gorm.DB, configs []model.Config) error {
|
|
if len(configs) == 0 {
|
|
return nil
|
|
}
|
|
|
|
// 使用事务批量插入配置
|
|
return tx.Omit("createtime", "updatetime").Create(&configs).Error
|
|
}
|
|
|
|
func UpdateConfigs(tx *gorm.DB, configs []model.ConfigUpdate) error {
|
|
if len(configs) == 0 {
|
|
return nil
|
|
}
|
|
|
|
// 批量更新配置
|
|
for _, config := range configs {
|
|
err := tx.Updates(&config).Error
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|