|
|
|
@ -4,7 +4,6 @@ import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"recook/internal/back"
|
|
|
|
|
"recook/internal/dbc"
|
|
|
|
|
"recook/internal/define"
|
|
|
|
|
"recook/internal/model/goods"
|
|
|
|
|
"recook/internal/v2/lib/es"
|
|
|
|
|
ac2 "recook/internal/v2/model/jyy"
|
|
|
|
@ -272,29 +271,28 @@ func GetGoodsRespByInfoList(goodsList []goods.Information, userID uint, isSale b
|
|
|
|
|
|
|
|
|
|
inventory := ss.Inventory
|
|
|
|
|
salesVolume := ss.SalesVolume + ss.SalesVolumeInc
|
|
|
|
|
commission := ss.Commission
|
|
|
|
|
commission := ss.GetSelfProfit(u.Level)
|
|
|
|
|
tags := make([]string, 0)
|
|
|
|
|
rate1 := decimal.Zero
|
|
|
|
|
rate2 := decimal.Zero
|
|
|
|
|
rate3 := decimal.Zero
|
|
|
|
|
if u.Level == 1 {
|
|
|
|
|
rate1 = decimal.NewFromFloat32(0.4)
|
|
|
|
|
rate2 = decimal.NewFromFloat32(0.1)
|
|
|
|
|
}
|
|
|
|
|
if u.Level == 2 {
|
|
|
|
|
rate1 = decimal.NewFromFloat32(0.4)
|
|
|
|
|
rate2 = decimal.NewFromFloat32(0.1)
|
|
|
|
|
rate3 = decimal.NewFromFloat(0.2)
|
|
|
|
|
}
|
|
|
|
|
base := ss.GetBase()
|
|
|
|
|
commission1 := base.Mul(rate1).Round(2)
|
|
|
|
|
commission2 := base.Mul(rate2).Round(2)
|
|
|
|
|
commission3 := base.Mul(rate3).Round(2)
|
|
|
|
|
commission = commission1.Add(commission2).Add(commission3)
|
|
|
|
|
|
|
|
|
|
if u.Level == 10 {
|
|
|
|
|
commission = ss.DiscountPrice.Sub(ss.PurchasePrice.Mul(decimal.NewFromFloat(1.03))).Mul(decimal.NewFromFloat(define.Coefficient))
|
|
|
|
|
}
|
|
|
|
|
//rate1 := decimal.Zero
|
|
|
|
|
//rate2 := decimal.Zero
|
|
|
|
|
//rate3 := decimal.Zero
|
|
|
|
|
//if u.Level == 1 {
|
|
|
|
|
// rate1 = decimal.NewFromFloat32(0.4)
|
|
|
|
|
// rate2 = decimal.NewFromFloat32(0.1)
|
|
|
|
|
//}
|
|
|
|
|
//if u.Level == 2 {
|
|
|
|
|
// rate1 = decimal.NewFromFloat32(0.4)
|
|
|
|
|
// rate2 = decimal.NewFromFloat32(0.1)
|
|
|
|
|
// rate3 = decimal.NewFromFloat(0.2)
|
|
|
|
|
//}
|
|
|
|
|
//base := ss.GetBase()
|
|
|
|
|
//commission1 := base.Mul(rate1).Round(2)
|
|
|
|
|
//commission2 := base.Mul(rate2).Round(2)
|
|
|
|
|
//commission3 := base.Mul(rate3).Round(2)
|
|
|
|
|
//commission = commission1.Add(commission2).Add(commission3)
|
|
|
|
|
//if u.Level == 10 {
|
|
|
|
|
// commission = ss.DiscountPrice.Sub(ss.PurchasePrice.Mul(decimal.NewFromFloat(1.03))).Mul(decimal.NewFromFloat(define.Coefficient))
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
recookGoodsInfoModel := &goods2.RecookGoodsInfoModel{}
|
|
|
|
|
space := " "
|
|
|
|
@ -336,92 +334,92 @@ type live struct {
|
|
|
|
|
RoomId int `json:"room_id"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetGoodsRespBySkuList(skuList []goods.Sku, uid uint, isSale bool) []QueryCategoryGoodsListResp {
|
|
|
|
|
list := make([]QueryCategoryGoodsListResp, 0, 0)
|
|
|
|
|
var u user.RecookUserInfoModel
|
|
|
|
|
mysql2.Db.First(&u, "id = ?", uid)
|
|
|
|
|
|
|
|
|
|
rate1 := decimal.Zero
|
|
|
|
|
rate2 := decimal.Zero
|
|
|
|
|
rate3 := decimal.Zero
|
|
|
|
|
if u.Level == 1 {
|
|
|
|
|
rate1 = decimal.NewFromFloat32(0.4)
|
|
|
|
|
rate2 = decimal.NewFromFloat32(0.1)
|
|
|
|
|
}
|
|
|
|
|
if u.Level == 2 {
|
|
|
|
|
rate1 = decimal.NewFromFloat32(0.4)
|
|
|
|
|
rate2 = decimal.NewFromFloat32(0.1)
|
|
|
|
|
rate3 = decimal.NewFromFloat32(0.2)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for _, v := range skuList {
|
|
|
|
|
var mainPhoto goods.MainPhoto
|
|
|
|
|
dbc.DB.Select("url").First(&mainPhoto, "goods_id = ? AND is_master = 1", v.GoodsID)
|
|
|
|
|
|
|
|
|
|
var goodsInfo goods.Information
|
|
|
|
|
dbc.DB.First(&goodsInfo, v.GoodsID)
|
|
|
|
|
if !isSale && goodsInfo.PublishStatus == 0 {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
if isSale && goodsInfo.SalePublish == 0 {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
gb := goods.Brand{}
|
|
|
|
|
dbc.DB.First(&gb, "id = ?", goodsInfo.BrandID)
|
|
|
|
|
|
|
|
|
|
var inventory uint
|
|
|
|
|
//var percent uint
|
|
|
|
|
|
|
|
|
|
var startTime = formatime.Second{}
|
|
|
|
|
var endTime = formatime.Second{}
|
|
|
|
|
|
|
|
|
|
salesVolume := v.SalesVolume + v.SalesVolumeInc
|
|
|
|
|
discountPrice := v.DiscountPrice
|
|
|
|
|
commission := v.Commission
|
|
|
|
|
inventory = v.Inventory //sku库存
|
|
|
|
|
|
|
|
|
|
base := v.GetBase()
|
|
|
|
|
commission1 := base.Mul(rate1).Round(2)
|
|
|
|
|
commission2 := base.Mul(rate2).Round(2)
|
|
|
|
|
commission3 := base.Mul(rate3).Round(2)
|
|
|
|
|
fmt.Println(commission1, commission2, commission3, base, v.PurchasePrice, v.DiscountPrice)
|
|
|
|
|
commission = commission1.Add(commission2).Add(commission3)
|
|
|
|
|
|
|
|
|
|
if u.Level == 10 {
|
|
|
|
|
commission = v.DiscountPrice.Sub(v.PurchasePrice.Mul(decimal.NewFromFloat(1.03))).Mul(decimal.NewFromFloat(define.Coefficient)).Round(2)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
recookGoodsInfoModel := &goods2.RecookGoodsInfoModel{}
|
|
|
|
|
list = append(list, QueryCategoryGoodsListResp{
|
|
|
|
|
ID: v.GoodsID,
|
|
|
|
|
GoodsName: goodsInfo.GoodsName,
|
|
|
|
|
BrandImg: gb.LogoURL,
|
|
|
|
|
BrandName: gb.Name + "品牌馆",
|
|
|
|
|
BrandId: gb.ID,
|
|
|
|
|
Description: goodsInfo.Description,
|
|
|
|
|
Inventory: inventory,
|
|
|
|
|
SalesVolume: salesVolume,
|
|
|
|
|
MainPhotoURL: mainPhoto.URL,
|
|
|
|
|
PromotionName: "",
|
|
|
|
|
OriginalPrice: v.OriginalPrice,
|
|
|
|
|
DiscountPrice: discountPrice,
|
|
|
|
|
Commission: commission,
|
|
|
|
|
Percent: 0, //百分比,-1不显示
|
|
|
|
|
StartTime: startTime,
|
|
|
|
|
EndTime: endTime,
|
|
|
|
|
Coupon: v.Coupon,
|
|
|
|
|
IsImport: goodsInfo.IsImport,
|
|
|
|
|
Storehouse: goodsInfo.Storehouse,
|
|
|
|
|
IsFerme: goodsInfo.IsFerme,
|
|
|
|
|
HasCoin: recookGoodsInfoModel.HasCoin(goodsInfo.Storehouse),
|
|
|
|
|
HasBalance: recookGoodsInfoModel.HasBalance(goodsInfo.Storehouse),
|
|
|
|
|
GysId: goodsInfo.VendorID,
|
|
|
|
|
CountryIcon: "",
|
|
|
|
|
SalePrice: v.GetSalePrice(u.Level),
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return list
|
|
|
|
|
}
|
|
|
|
|
//func GetGoodsRespBySkuList(skuList []goods.Sku, uid uint, isSale bool) []QueryCategoryGoodsListResp {
|
|
|
|
|
// list := make([]QueryCategoryGoodsListResp, 0, 0)
|
|
|
|
|
// var u user.RecookUserInfoModel
|
|
|
|
|
// mysql2.Db.First(&u, "id = ?", uid)
|
|
|
|
|
//
|
|
|
|
|
// rate1 := decimal.Zero
|
|
|
|
|
// rate2 := decimal.Zero
|
|
|
|
|
// rate3 := decimal.Zero
|
|
|
|
|
// if u.Level == 1 {
|
|
|
|
|
// rate1 = decimal.NewFromFloat32(0.4)
|
|
|
|
|
// rate2 = decimal.NewFromFloat32(0.1)
|
|
|
|
|
// }
|
|
|
|
|
// if u.Level == 2 {
|
|
|
|
|
// rate1 = decimal.NewFromFloat32(0.4)
|
|
|
|
|
// rate2 = decimal.NewFromFloat32(0.1)
|
|
|
|
|
// rate3 = decimal.NewFromFloat32(0.2)
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// for _, v := range skuList {
|
|
|
|
|
// var mainPhoto goods.MainPhoto
|
|
|
|
|
// dbc.DB.Select("url").First(&mainPhoto, "goods_id = ? AND is_master = 1", v.GoodsID)
|
|
|
|
|
//
|
|
|
|
|
// var goodsInfo goods.Information
|
|
|
|
|
// dbc.DB.First(&goodsInfo, v.GoodsID)
|
|
|
|
|
// if !isSale && goodsInfo.PublishStatus == 0 {
|
|
|
|
|
// continue
|
|
|
|
|
// }
|
|
|
|
|
// if isSale && goodsInfo.SalePublish == 0 {
|
|
|
|
|
// continue
|
|
|
|
|
// }
|
|
|
|
|
// gb := goods.Brand{}
|
|
|
|
|
// dbc.DB.First(&gb, "id = ?", goodsInfo.BrandID)
|
|
|
|
|
//
|
|
|
|
|
// var inventory uint
|
|
|
|
|
// //var percent uint
|
|
|
|
|
//
|
|
|
|
|
// var startTime = formatime.Second{}
|
|
|
|
|
// var endTime = formatime.Second{}
|
|
|
|
|
//
|
|
|
|
|
// salesVolume := v.SalesVolume + v.SalesVolumeInc
|
|
|
|
|
// discountPrice := v.DiscountPrice
|
|
|
|
|
// commission := v.Commission
|
|
|
|
|
// inventory = v.Inventory //sku库存
|
|
|
|
|
//
|
|
|
|
|
// base := v.GetBase()
|
|
|
|
|
// commission1 := base.Mul(rate1).Round(2)
|
|
|
|
|
// commission2 := base.Mul(rate2).Round(2)
|
|
|
|
|
// commission3 := base.Mul(rate3).Round(2)
|
|
|
|
|
// fmt.Println(commission1, commission2, commission3, base, v.PurchasePrice, v.DiscountPrice)
|
|
|
|
|
// commission = commission1.Add(commission2).Add(commission3)
|
|
|
|
|
//
|
|
|
|
|
// if u.Level == 10 {
|
|
|
|
|
// commission = v.DiscountPrice.Sub(v.PurchasePrice.Mul(decimal.NewFromFloat(1.03))).Mul(decimal.NewFromFloat(define.Coefficient)).Round(2)
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// recookGoodsInfoModel := &goods2.RecookGoodsInfoModel{}
|
|
|
|
|
// list = append(list, QueryCategoryGoodsListResp{
|
|
|
|
|
// ID: v.GoodsID,
|
|
|
|
|
// GoodsName: goodsInfo.GoodsName,
|
|
|
|
|
// BrandImg: gb.LogoURL,
|
|
|
|
|
// BrandName: gb.Name + "品牌馆",
|
|
|
|
|
// BrandId: gb.ID,
|
|
|
|
|
// Description: goodsInfo.Description,
|
|
|
|
|
// Inventory: inventory,
|
|
|
|
|
// SalesVolume: salesVolume,
|
|
|
|
|
// MainPhotoURL: mainPhoto.URL,
|
|
|
|
|
// PromotionName: "",
|
|
|
|
|
// OriginalPrice: v.OriginalPrice,
|
|
|
|
|
// DiscountPrice: discountPrice,
|
|
|
|
|
// Commission: commission,
|
|
|
|
|
// Percent: 0, //百分比,-1不显示
|
|
|
|
|
// StartTime: startTime,
|
|
|
|
|
// EndTime: endTime,
|
|
|
|
|
// Coupon: v.Coupon,
|
|
|
|
|
// IsImport: goodsInfo.IsImport,
|
|
|
|
|
// Storehouse: goodsInfo.Storehouse,
|
|
|
|
|
// IsFerme: goodsInfo.IsFerme,
|
|
|
|
|
// HasCoin: recookGoodsInfoModel.HasCoin(goodsInfo.Storehouse),
|
|
|
|
|
// HasBalance: recookGoodsInfoModel.HasBalance(goodsInfo.Storehouse),
|
|
|
|
|
// GysId: goodsInfo.VendorID,
|
|
|
|
|
// CountryIcon: "",
|
|
|
|
|
// SalePrice: v.GetSalePrice(u.Level),
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
// return list
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
func GetListByLive(goodsList []goods.Information, userID uint, isSale bool) []QueryCategoryGoodsListResp {
|
|
|
|
|
return GetGoodsRespByInfoList(goodsList, userID, isSale)
|
|
|
|
|