|
- 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
- }
|