This commit is contained in:
laodaming 2023-09-21 15:40:56 +08:00
parent 3aceed8200
commit e87dd4f800
3 changed files with 36 additions and 41 deletions

View File

@ -123,19 +123,11 @@ func (l *GetCartsLogic) GetCarts(req *types.GetCartsReq, userinfo *auth.UserInfo
} }
} }
//计算价格 //计算价格
itemPrice, totalPrice, stepNum, _, err := l.svcCtx.Repositories.NewShoppingCart.CaculateCartPrice(*cart.PurchaseQuantity, &sizePrice, fittingPrice) itemPrice, totalPrice, _, _, err := l.svcCtx.Repositories.NewShoppingCart.CaculateCartPrice(*cart.PurchaseQuantity, &sizePrice, fittingPrice)
if err != nil { if err != nil {
logx.Error(err) logx.Error(err)
return resp.SetStatusWithMessage(basic.CodeServiceErr, err.Error()) return resp.SetStatusWithMessage(basic.CodeServiceErr, err.Error())
} }
//获取阶梯数量
stepQuantityList := make([]int64, 0, 20)
tmpMinBuyNum := *sizePrice.MinBuyNum
for tmpMinBuyNum < (int64(stepNum[len(stepNum)-1]) + 5) {
tmpQuantity := tmpMinBuyNum * (*sizePrice.EachBoxNum)
stepQuantityList = append(stepQuantityList, tmpQuantity)
tmpMinBuyNum++
}
//尺寸信息 //尺寸信息
sizeCapacity := snapShot.SizeInfo.Capacity sizeCapacity := snapShot.SizeInfo.Capacity
if sizeInfo, ok := mapSize[*cart.SizeId]; ok { if sizeInfo, ok := mapSize[*cart.SizeId]; ok {
@ -190,12 +182,13 @@ func (l *GetCartsLogic) GetCarts(req *types.GetCartsReq, userinfo *auth.UserInfo
Qrcode: snapShot.UserDiyInformation.Qrcode, Qrcode: snapShot.UserDiyInformation.Qrcode,
Slogan: snapShot.UserDiyInformation.Slogan, Slogan: snapShot.UserDiyInformation.Slogan,
}, },
PurchaseQuantity: *cart.PurchaseQuantity, PurchaseQuantity: *cart.PurchaseQuantity,
StepNum: stepQuantityList, MinPurchaseQuantity: *sizePrice.EachBoxNum * (*sizePrice.MinBuyNum),
IsInvalid: false, StepPurchaseQuantity: *sizePrice.EachBoxNum,
InvalidDescription: "", IsInvalid: false,
IsHighlyCustomized: *cart.IsHighlyCustomized > 0, InvalidDescription: "",
IsSelected: *cart.IsSelected > 0, IsHighlyCustomized: *cart.IsHighlyCustomized > 0,
IsSelected: *cart.IsSelected > 0,
} }
//是否有失效的 //是否有失效的
if description, ok := mapCartChange[cart.Id]; ok { if description, ok := mapCartChange[cart.Id]; ok {

View File

@ -39,19 +39,20 @@ type GetCartsRsp struct {
} }
type CartItem struct { type CartItem struct {
CartId int64 `json:"cart_id"` CartId int64 `json:"cart_id"`
ProductInfo ProductInfo `json:"product_info"` //产品信息 ProductInfo ProductInfo `json:"product_info"` //产品信息
SizeInfo SizeInfo `json:"size_info"` //尺寸信息 SizeInfo SizeInfo `json:"size_info"` //尺寸信息
FittingInfo FittingInfo `json:"fitting_info"` //配件信息 FittingInfo FittingInfo `json:"fitting_info"` //配件信息
ItemPrice string `json:"item_price"` //单价 ItemPrice string `json:"item_price"` //单价
TotalPrice string `json:"total_price"` //单价X数量=总价 TotalPrice string `json:"total_price"` //单价X数量=总价
DiyInformation DiyInformation `json:"diy_information"` //diy信息 DiyInformation DiyInformation `json:"diy_information"` //diy信息
StepNum []int64 `json:"step_num"` //阶梯数量 PurchaseQuantity int64 `json:"purchase_quantity"` //当前购买数量
PurchaseQuantity int64 `json:"purchase_quantity"` //当前购买数量 MinPurchaseQuantity int64 `json:"min_purchase_quantity"` //起购数量
IsHighlyCustomized bool `json:"is_highly_customized"` //是否高度定制 StepPurchaseQuantity int64 `json:"step_purchase_quantity"` //购买加或者减少步进量
IsInvalid bool `json:"is_invalid"` //是否无效 IsHighlyCustomized bool `json:"is_highly_customized"` //是否高度定制
InvalidDescription string `json:"invalid_description"` //无效原因 IsInvalid bool `json:"is_invalid"` //是否无效
IsSelected bool `json:"is_selected"` //是否选中 InvalidDescription string `json:"invalid_description"` //无效原因
IsSelected bool `json:"is_selected"` //是否选中
} }
type ProductInfo struct { type ProductInfo struct {

View File

@ -56,19 +56,20 @@ type GetCartsRsp {
CartList []CartItem `json:"cart_list"` CartList []CartItem `json:"cart_list"`
} }
type CartItem { type CartItem {
CartId int64 `json:"cart_id"` CartId int64 `json:"cart_id"`
ProductInfo ProductInfo `json:"product_info"` //产品信息 ProductInfo ProductInfo `json:"product_info"` //产品信息
SizeInfo SizeInfo `json:"size_info"` //尺寸信息 SizeInfo SizeInfo `json:"size_info"` //尺寸信息
FittingInfo FittingInfo `json:"fitting_info"` //配件信息 FittingInfo FittingInfo `json:"fitting_info"` //配件信息
ItemPrice string `json:"item_price"` //单价 ItemPrice string `json:"item_price"` //单价
TotalPrice string `json:"total_price"` //单价X数量=总价 TotalPrice string `json:"total_price"` //单价X数量=总价
DiyInformation DiyInformation `json:"diy_information"` //diy信息 DiyInformation DiyInformation `json:"diy_information"` //diy信息
StepNum []int64 `json:"step_num"` //阶梯数量 PurchaseQuantity int64 `json:"purchase_quantity"` //当前购买数量
PurchaseQuantity int64 `json:"purchase_quantity"` //当前购买数量 MinPurchaseQuantity int64 `json:"min_purchase_quantity"` //起购数量
IsHighlyCustomized bool `json:"is_highly_customized"` //是否高度定制 StepPurchaseQuantity int64 `json:"step_purchase_quantity"` //购买加或者减少步进量
IsInvalid bool `json:"is_invalid"` //是否无效 IsHighlyCustomized bool `json:"is_highly_customized"` //是否高度定制
InvalidDescription string `json:"invalid_description"` //无效原因 IsInvalid bool `json:"is_invalid"` //是否无效
IsSelected bool `json:"is_selected"` //是否选中 InvalidDescription string `json:"invalid_description"` //无效原因
IsSelected bool `json:"is_selected"` //是否选中
} }
type ProductInfo { type ProductInfo {
ProductId int64 `json:"product_id"` //产品id ProductId int64 `json:"product_id"` //产品id