package models import "time" // ErpNormalSetting ERP基础设置表(键值对方式): yz_erp_normalsettings // 每个租户可配置多条基础参数,按 config_group 分组展示 type ErpNormalSetting struct { ID uint64 `orm:"column(id);pk;auto" json:"id"` TenantID string `orm:"column(tenant_id);size(64)" json:"tenant_id"` ConfigKey string `orm:"column(config_key);size(100)" json:"config_key"` ConfigValue string `orm:"column(config_value);type(text);null" json:"config_value"` ConfigName string `orm:"column(config_name);size(100)" json:"config_name"` ConfigGroup string `orm:"column(config_group);size(50)" json:"config_group"` ConfigType string `orm:"column(config_type);size(20);default(input)" json:"config_type"` // input/select/number/textarea/switch ConfigOptions string `orm:"column(config_options);type(text);null" json:"config_options"` // select 类型的选项,JSON格式 SortOrder int `orm:"column(sort_order);default(0)" json:"sort_order"` Status int8 `orm:"column(status);default(1)" json:"status"` CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"` UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"` } func (m *ErpNormalSetting) TableName() string { return "yz_backend_erp_normalsettings" } // GetErpNormalSettingsByTenant 获取租户所有启用的基础设置 func GetErpNormalSettingsByTenant(tenantID string) ([]ErpNormalSetting, error) { var list []ErpNormalSetting _, err := Orm.QueryTable(new(ErpNormalSetting)). Filter("tenant_id", tenantID). Filter("status", 1). OrderBy("config_group", "sort_order", "id"). All(&list) return list, err } // GetErpNormalSettingByKey 按租户+key获取配置 func GetErpNormalSettingByKey(tenantID, key string) *ErpNormalSetting { var setting ErpNormalSetting err := Orm.QueryTable(new(ErpNormalSetting)). Filter("tenant_id", tenantID). Filter("config_key", key). One(&setting) if err != nil { return nil } return &setting }