feat: product proto type.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user