|
|
@@ -0,0 +1,60 @@ |
|
|
|
|
|
package model |
|
|
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
|
|
"github.com/QuantumNous/new-api/common" |
|
|
|
|
|
"gorm.io/gorm" |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// PricingTag 定价标签表 |
|
|
|
|
|
// 用于对渠道定价进行分类和标识 |
|
|
|
|
|
type PricingTag struct { |
|
|
|
|
|
Id int `json:"id" gorm:"primaryKey"` |
|
|
|
|
|
Name string `json:"name" gorm:"size:64;not null;uniqueIndex"` |
|
|
|
|
|
Color string `json:"color" gorm:"size:16;default:'#1890ff'"` |
|
|
|
|
|
Description string `json:"description" gorm:"type:text"` |
|
|
|
|
|
SortOrder int `json:"sort_order" gorm:"default:0"` |
|
|
|
|
|
CreatedTime int64 `json:"created_time" gorm:"bigint"` |
|
|
|
|
|
DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (pt *PricingTag) Insert() error { |
|
|
|
|
|
pt.CreatedTime = common.GetTimestamp() |
|
|
|
|
|
return DB.Create(pt).Error |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (pt *PricingTag) Update() error { |
|
|
|
|
|
return DB.Model(&PricingTag{}).Where("id = ?", pt.Id).Updates(map[string]interface{}{ |
|
|
|
|
|
"name": pt.Name, |
|
|
|
|
|
"color": pt.Color, |
|
|
|
|
|
"description": pt.Description, |
|
|
|
|
|
"sort_order": pt.SortOrder, |
|
|
|
|
|
}).Error |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (pt *PricingTag) Delete() error { |
|
|
|
|
|
return DB.Delete(pt).Error |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func GetPricingTagById(id int) (*PricingTag, error) { |
|
|
|
|
|
var pt PricingTag |
|
|
|
|
|
err := DB.First(&pt, id).Error |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return nil, err |
|
|
|
|
|
} |
|
|
|
|
|
return &pt, nil |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func GetAllPricingTags() ([]*PricingTag, error) { |
|
|
|
|
|
var list []*PricingTag |
|
|
|
|
|
err := DB.Order("sort_order ASC, id ASC").Find(&list).Error |
|
|
|
|
|
return list, err |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func GetPricingTagByName(name string) (*PricingTag, error) { |
|
|
|
|
|
var pt PricingTag |
|
|
|
|
|
err := DB.Where("name = ?", name).First(&pt).Error |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return nil, err |
|
|
|
|
|
} |
|
|
|
|
|
return &pt, nil |
|
|
|
|
|
} |