feat: product proto type.

This commit is contained in:
2026-05-01 09:26:41 +08:00
parent 7b43ccf42f
commit f30cc1ea46
8 changed files with 663 additions and 2 deletions
+7
View File
@@ -20,6 +20,7 @@ type ProductInventory struct {
ID uint `gorm:"primaryKey" json:"id"`
ProductCode string `gorm:"size:64;not null;index" json:"productCode"`
ProjectTypeCode string `gorm:"size:64;index" json:"projectTypeCode"`
SuiteID *uint `gorm:"index" json:"suiteId"`
SuiteCode string `gorm:"size:128;index" json:"suiteCode"`
SerialNumber *string `gorm:"size:128;uniqueIndex" json:"serialNumber"`
AssetName string `gorm:"size:255" json:"assetName"`
@@ -46,6 +47,9 @@ func (p *ProductInventory) BeforeCreate(tx *gorm.DB) (err error) {
now := time.Now().UnixMilli()
p.ProductCode = normalizeProductCodeValue(p.ProductCode)
p.ProjectTypeCode = strings.TrimSpace(strings.ToLower(p.ProjectTypeCode))
if p.SuiteID != nil && *p.SuiteID == 0 {
p.SuiteID = nil
}
p.SuiteCode = strings.TrimSpace(p.SuiteCode)
p.SerialNumber = normalizeOptionalProductString(p.SerialNumber)
p.AssetName = strings.TrimSpace(p.AssetName)
@@ -66,6 +70,9 @@ func (p *ProductInventory) BeforeCreate(tx *gorm.DB) (err error) {
func (p *ProductInventory) BeforeUpdate(tx *gorm.DB) (err error) {
p.ProductCode = normalizeProductCodeValue(p.ProductCode)
p.ProjectTypeCode = strings.TrimSpace(strings.ToLower(p.ProjectTypeCode))
if p.SuiteID != nil && *p.SuiteID == 0 {
p.SuiteID = nil
}
p.SuiteCode = strings.TrimSpace(p.SuiteCode)
p.SerialNumber = normalizeOptionalProductString(p.SerialNumber)
p.AssetName = strings.TrimSpace(p.AssetName)