feat: remove shipping settings, use shipping templates for cart calculation
This commit is contained in:
@@ -258,3 +258,20 @@ func CalculateShippingFee(templateID *uint, weight float64, quantity int, subtot
|
||||
|
||||
return template.FirstFee + additionalCount*template.AdditionalFee, nil
|
||||
}
|
||||
|
||||
// CalculateForUser 用户端计算运费接口
|
||||
func (h *ShippingTemplateHandler) CalculateForUser(c *gin.Context) {
|
||||
var req schemas.CalculateShippingRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
fee, err := CalculateShippingFee(req.TemplateID, req.Weight, req.Quantity, req.Subtotal, req.Province)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "计算运费失败"})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"data": gin.H{"shipping_fee": fee}})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user