feat: add shipping template management and update favicon
Build and Push Docker Image / build-and-push (push) Successful in 1m3s
Build and Push Docker Image / deploy (push) Successful in 7s

This commit is contained in:
nuyue
2026-07-12 18:52:27 +08:00
parent 6476d20faa
commit 46daa0999b
16 changed files with 865 additions and 99 deletions
+23 -19
View File
@@ -225,7 +225,7 @@ func (h *ProductHandler) GetByID(c *gin.Context) {
func (h *ProductHandler) AdminList(c *gin.Context) {
var products []models.Product
utils.DB.Preload("Categories").Preload("Brand").Order("created_at DESC").Find(&products)
utils.DB.Preload("Categories").Preload("Brand").Preload("ShippingTemplate").Order("created_at DESC").Find(&products)
c.JSON(http.StatusOK, gin.H{"data": products})
}
@@ -237,22 +237,23 @@ func (h *ProductHandler) Create(c *gin.Context) {
}
product := models.Product{
Name: req.Name,
Description: req.Description,
Price: req.Price,
Weight: req.Weight,
MinPurchase: req.MinPurchase,
MaxPurchase: req.MaxPurchase,
MinWeight: req.MinWeight,
MaxWeight: req.MaxWeight,
MinAmount: req.MinAmount,
MaxAmount: req.MaxAmount,
RequireCredit: req.RequireCredit,
CreditCost: req.CreditCost,
CreditReward: req.CreditReward,
Images: req.Images,
BrandID: req.BrandID,
IsActive: true,
Name: req.Name,
Description: req.Description,
Price: req.Price,
Weight: req.Weight,
MinPurchase: req.MinPurchase,
MaxPurchase: req.MaxPurchase,
MinWeight: req.MinWeight,
MaxWeight: req.MaxWeight,
MinAmount: req.MinAmount,
MaxAmount: req.MaxAmount,
RequireCredit: req.RequireCredit,
CreditCost: req.CreditCost,
CreditReward: req.CreditReward,
Images: req.Images,
BrandID: req.BrandID,
ShippingTemplateID: req.ShippingTemplateID,
IsActive: true,
}
if err := utils.DB.Create(&product).Error; err != nil {
@@ -276,7 +277,7 @@ func (h *ProductHandler) Create(c *gin.Context) {
}
}
utils.DB.Preload("Categories").Preload("CustomFields").Preload("Brand").First(&product, product.ID)
utils.DB.Preload("Categories").Preload("CustomFields").Preload("Brand").Preload("ShippingTemplate").First(&product, product.ID)
c.JSON(http.StatusCreated, gin.H{"data": product})
}
@@ -343,6 +344,9 @@ func (h *ProductHandler) Update(c *gin.Context) {
if req.BrandID != nil {
updates["brand_id"] = *req.BrandID
}
if req.ShippingTemplateID != nil {
updates["shipping_template_id"] = *req.ShippingTemplateID
}
utils.DB.Model(&product).Updates(updates)
@@ -363,7 +367,7 @@ func (h *ProductHandler) Update(c *gin.Context) {
}
}
utils.DB.Preload("Categories").Preload("CustomFields").Preload("Brand").First(&product, product.ID)
utils.DB.Preload("Categories").Preload("CustomFields").Preload("Brand").Preload("ShippingTemplate").First(&product, product.ID)
c.JSON(http.StatusOK, gin.H{"data": product})
}