Files
hr_data_analyzer/models/product_suite.go
T
2026-05-01 09:26:41 +08:00

50 lines
1.6 KiB
Go

package models
import (
"strings"
"time"
"gorm.io/gorm"
)
type ProductSuite struct {
ID uint `gorm:"primaryKey" json:"id"`
Code string `gorm:"size:128;not null;uniqueIndex" json:"code"`
Name string `gorm:"size:255;not null" json:"name"`
ProjectTypeCode string `gorm:"size:64;index" json:"projectTypeCode"`
RegionID *uint32 `gorm:"index" json:"regionId"`
SoldTargetType string `gorm:"size:64;index" json:"soldTargetType"`
SoldTargetName string `gorm:"size:255" json:"soldTargetName"`
Notes string `gorm:"size:1024" json:"notes"`
CreatedAt int64 `gorm:"not null" json:"created_at"`
UpdatedAt int64 `gorm:"not null" json:"updated_at"`
}
func (ProductSuite) TableName() string {
return "product_suites"
}
func (p *ProductSuite) BeforeCreate(tx *gorm.DB) (err error) {
now := time.Now().UnixMilli()
p.Code = strings.TrimSpace(p.Code)
p.Name = strings.TrimSpace(p.Name)
p.ProjectTypeCode = strings.TrimSpace(strings.ToLower(p.ProjectTypeCode))
p.SoldTargetType = strings.TrimSpace(strings.ToLower(p.SoldTargetType))
p.SoldTargetName = strings.TrimSpace(p.SoldTargetName)
p.Notes = strings.TrimSpace(p.Notes)
p.CreatedAt = now
p.UpdatedAt = now
return nil
}
func (p *ProductSuite) BeforeUpdate(tx *gorm.DB) (err error) {
p.Code = strings.TrimSpace(p.Code)
p.Name = strings.TrimSpace(p.Name)
p.ProjectTypeCode = strings.TrimSpace(strings.ToLower(p.ProjectTypeCode))
p.SoldTargetType = strings.TrimSpace(strings.ToLower(p.SoldTargetType))
p.SoldTargetName = strings.TrimSpace(p.SoldTargetName)
p.Notes = strings.TrimSpace(p.Notes)
p.UpdatedAt = time.Now().UnixMilli()
return nil
}