This commit is contained in:
laodaming 2023-09-25 11:16:55 +08:00
parent c34811df83
commit a7f21da8da
9 changed files with 67 additions and 59 deletions

View File

@ -2,24 +2,28 @@ package gmodel
import ( import (
"gorm.io/gorm" "gorm.io/gorm"
"time"
) )
// fs_address 用户地址表 // fs_address 用户地址表
type FsAddress struct { type FsAddress struct {
Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // AddressId int64 `gorm:"primary_key;default:0;auto_increment;" json:"address_id"` //
UserId *int64 `gorm:"index;default:0;" json:"user_id"` // 用户ID UserId *int64 `gorm:"index;default:0;" json:"user_id"` // 用户ID
Name *string `gorm:"default:'';" json:"name"` // 地址名称 AddressName *string `gorm:"default:'';" json:"address_name"` //
FirstName *string `gorm:"default:'';" json:"first_name"` // FirstName FirstName *string `gorm:"default:'';" json:"first_name"` // FirstName
LastName *string `gorm:"default:'';" json:"last_name"` // LastName LastName *string `gorm:"default:'';" json:"last_name"` // LastName
Mobile *string `gorm:"default:'';" json:"mobile"` // 手机号码 Mobile *string `gorm:"default:'';" json:"mobile"` // 手机号码
Street *string `gorm:"default:'';" json:"street"` // 街道 Street *string `gorm:"default:'';" json:"street"` // 街道
Suite *string `gorm:"default:'';" json:"suite"` // 房号 Suite *string `gorm:"default:'';" json:"suite"` // 房号
City *string `gorm:"default:'';" json:"city"` // 城市 City *string `gorm:"default:'';" json:"city"` // 城市
State *string `gorm:"default:'';" json:"state"` // State *string `gorm:"default:'';" json:"state"` //
Country *string `gorm:"default:'';" json:"country"` // Country *string `gorm:"default:'';" json:"country"` //
ZipCode *string `gorm:"default:'';" json:"zip_code"` // ZipCode *string `gorm:"default:'';" json:"zip_code"` //
Status *int64 `gorm:"default:0;" json:"status"` // 1正常 0异常 Status *int64 `gorm:"default:0;" json:"status"` // 1正常 0异常
IsDefault *int64 `gorm:"index;default:0;" json:"is_default"` // 1默认地址0非默认地址 IsDefault *int64 `gorm:"index;default:0;" json:"is_default"` // 1默认地址0非默认地址
Ctime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"ctime"` // 创建时间
Utime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"utime"` // 更新时间
Ltime *time.Time `gorm:"index;default:'0000-00-00 00:00:00';" json:"ltime"` // 上次被使用的时间
} }
type FsAddressModel struct { type FsAddressModel struct {
db *gorm.DB db *gorm.DB

View File

@ -24,19 +24,19 @@ func (a *FsAddressModel) CreateOne(ctx context.Context, address *FsAddress) (res
err = a.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error { err = a.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error {
// now := time.Now().UTC().Unix() // now := time.Now().UTC().Unix()
result = &FsAddress{ result = &FsAddress{
UserId: address.UserId, UserId: address.UserId,
Name: address.Name, AddressName: address.AddressName,
FirstName: address.FirstName, FirstName: address.FirstName,
LastName: address.LastName, LastName: address.LastName,
Mobile: address.Mobile, Mobile: address.Mobile,
Street: address.Street, Street: address.Street,
Suite: address.Suite, Suite: address.Suite,
City: address.City, City: address.City,
State: address.State, State: address.State,
Country: address.Country, Country: address.Country,
ZipCode: address.ZipCode, ZipCode: address.ZipCode,
Status: address.Status, Status: address.Status,
IsDefault: address.IsDefault, IsDefault: address.IsDefault,
} }
return tx.Create(result).Error return tx.Create(result).Error
@ -57,7 +57,7 @@ func (a *FsAddressModel) UpdateAddAddress(ctx context.Context, address *FsAddres
return err return err
} }
} }
return tx.Model(&FsAddress{}).Where("id = ? and user_id = ?", address.Id, address.UserId).Omit("id", "user_id").Updates(address).Error return tx.Model(&FsAddress{}).Where("id = ? and user_id = ?", address.AddressId, address.UserId).Omit("id", "user_id").Updates(address).Error
}) })
return err return err
} }

View File

@ -2,17 +2,18 @@ package gmodel
import ( import (
"gorm.io/gorm" "gorm.io/gorm"
"time"
) )
// fs_change_code 忘记密码code表 // fs_change_code 忘记密码code表
type FsChangeCode struct { type FsChangeCode struct {
Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // id Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // id
Email *string `gorm:"default:'';" json:"email"` // Email *string `gorm:"default:'';" json:"email"` //
Code *string `gorm:"default:'';" json:"code"` // Code *string `gorm:"default:'';" json:"code"` //
CreatedAt *int64 `gorm:"default:0;" json:"created_at"` // 创建时间 Ctime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"ctime"` //
IsUse *int64 `gorm:"default:0;" json:"is_use"` // 是否使用 1已使用 0未使用 IsUse *int64 `gorm:"default:0;" json:"is_use"` // 是否使用 1已使用 0未使用
Metadata *[]byte `gorm:"default:'';" json:"metadata"` // Metadata *[]byte `gorm:"default:'';" json:"metadata"` //
Module *string `gorm:"default:'logo';" json:"module"` // Module *string `gorm:"default:'logo';" json:"module"` //
} }
type FsChangeCodeModel struct { type FsChangeCodeModel struct {
db *gorm.DB db *gorm.DB

View File

@ -36,6 +36,7 @@ type FsProduct struct {
RecommendProductSort *string `gorm:"default:'';" json:"recommend_product_sort"` // RecommendProductSort *string `gorm:"default:'';" json:"recommend_product_sort"` //
SceneIds *string `gorm:"default:'';" json:"scene_ids"` // SceneIds *string `gorm:"default:'';" json:"scene_ids"` //
IsCustomization *int64 `gorm:"default:0;" json:"is_customization"` // 是否可定制 IsCustomization *int64 `gorm:"default:0;" json:"is_customization"` // 是否可定制
Unit *string `gorm:"default:'';" json:"unit"` //
} }
type FsProductModel struct { type FsProductModel struct {
db *gorm.DB db *gorm.DB

View File

@ -2,30 +2,32 @@ package gmodel
import ( import (
"gorm.io/gorm" "gorm.io/gorm"
"time"
) )
// fs_product_model3d 产品模型表 // fs_product_model3d 产品模型表
type FsProductModel3d struct { type FsProductModel3d struct {
Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` //
ProductId *int64 `gorm:"index;default:0;" json:"product_id"` // 产品ID ProductId *int64 `gorm:"index;default:0;" json:"product_id"` // 产品ID
Tag *int64 `gorm:"default:1;" json:"tag"` // 类别1模型2配件3场景 Tag *int64 `gorm:"default:1;" json:"tag"` // 类别1模型2配件3场景
Title *string `gorm:"default:'';" json:"title"` // 标题 Title *string `gorm:"default:'';" json:"title"` // 标题
Name *string `gorm:"default:'';" json:"name"` // 详情页展示名称 Name *string `gorm:"default:'';" json:"name"` // 详情页展示名称
ModelInfo *string `gorm:"default:'';" json:"model_info"` // 模型详情 ModelInfo *string `gorm:"default:'';" json:"model_info"` // 模型详情
MaterialId *int64 `gorm:"default:0;" json:"material_id"` // 材质ID MaterialId *int64 `gorm:"default:0;" json:"material_id"` // 材质ID
SizeId *int64 `gorm:"default:0;" json:"size_id"` // 尺寸ID SizeId *int64 `gorm:"default:0;" json:"size_id"` // 尺寸ID
Sort *int64 `gorm:"default:0;" json:"sort"` // 排序 Sort *int64 `gorm:"default:0;" json:"sort"` // 排序
Light *int64 `gorm:"default:0;" json:"light"` // 灯光组 Light *int64 `gorm:"default:0;" json:"light"` // 灯光组
LightList *string `gorm:"default:'';" json:"light_list"` // 灯光备选项 LightList *string `gorm:"default:'';" json:"light_list"` // 灯光备选项
PartId *int64 `gorm:"default:0;" json:"part_id"` // 配件选项id配件就是模型的id PartId *int64 `gorm:"default:0;" json:"part_id"` // 配件选项id配件就是模型的id
PartList *string `gorm:"default:'';" json:"part_list"` // PartList *string `gorm:"default:'';" json:"part_list"` //
Status *int64 `gorm:"default:0;" json:"status"` // 状态位 显示 删除 Status *int64 `gorm:"default:0;" json:"status"` // 状态位 显示 删除
Ctime *int64 `gorm:"default:0;" json:"ctime"` // 添加时间 Ctime *int64 `gorm:"default:0;" json:"ctime"` // 添加时间
OptionTemplate *int64 `gorm:"default:0;" json:"option_template"` // 配件绑定的公共模板 OptionTemplate *int64 `gorm:"default:0;" json:"option_template"` // 配件绑定的公共模板
Price *int64 `gorm:"default:0;" json:"price"` // 仅配件用,配件的价格, 单位:美分 FittingPrice *int64 `gorm:"default:0;" json:"fitting_price"` // 仅配件用,配件的价格, 单位:美分
Sku *string `gorm:"default:'';" json:"sku"` // sku Sku *string `gorm:"default:'';" json:"sku"` // sku
IsHot *int64 `gorm:"default:0;" json:"is_hot"` // 是否热门 IsHot *int64 `gorm:"default:0;" json:"is_hot"` // 是否热门
IsCloudRender *int64 `gorm:"default:0;" json:"is_cloud_render"` // 是否设置为云渲染模型 IsCloudRender *int64 `gorm:"default:0;" json:"is_cloud_render"` // 是否设置为云渲染模型
Utime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"utime"` //
} }
type FsProductModel3dModel struct { type FsProductModel3dModel struct {
db *gorm.DB db *gorm.DB

View File

@ -111,7 +111,7 @@ func (l *GetFittingByPidLogic) GetFittingByPid(req *types.GetFittingByPidReq, us
Id: fitting.Id, Id: fitting.Id,
MaterialImg: materialImg, MaterialImg: materialImg,
Title: *fitting.Title, Title: *fitting.Title,
Price: *fitting.Price, Price: *fitting.FittingPrice,
ModelInfo: modelInfo, ModelInfo: modelInfo,
IsPopular: *fitting.IsHot > 0, IsPopular: *fitting.IsHot > 0,
}) })

View File

@ -93,7 +93,7 @@ func (l *CalculateCartPriceLogic) CalculateCartPrice(req *types.CalculateCartPri
} }
mapFitting := make(map[int64]int64) mapFitting := make(map[int64]int64)
for _, v := range fittingList { for _, v := range fittingList {
mapFitting[v.Id] = *v.Price mapFitting[v.Id] = *v.FittingPrice
} }
//开始计算价格 //开始计算价格
calculateResultList := make([]types.CalculateResultItem, 0, len(req.CalculateList)) calculateResultList := make([]types.CalculateResultItem, 0, len(req.CalculateList))

View File

@ -109,7 +109,7 @@ func (l *GetCartsLogic) GetCarts(req *types.GetCartsReq, userinfo *auth.UserInfo
fittingPrice := int64(0) fittingPrice := int64(0)
if *cart.FittingId > 0 { if *cart.FittingId > 0 {
if curFittingInfo, ok := mapModel[*cart.FittingId]; ok { if curFittingInfo, ok := mapModel[*cart.FittingId]; ok {
fittingPrice = *curFittingInfo.Price fittingPrice = *curFittingInfo.FittingPrice
} else { } else {
return resp.SetStatusWithMessage(basic.CodeServiceErr, fmt.Sprintf("cart contain some one witch lose fitting:%d", *cart.FittingId)) return resp.SetStatusWithMessage(basic.CodeServiceErr, fmt.Sprintf("cart contain some one witch lose fitting:%d", *cart.FittingId))
} }

View File

@ -838,7 +838,7 @@ func (d *defaultOrder) Create(ctx context.Context, in *CreateReq) (res *CreateRe
} }
/* 计算价格 */ /* 计算价格 */
productPrice, productTotalPrice, stepNum, stepPrice, err := NewShoppingCart(tx, nil, nil).CaculateCartPrice(*shoppingCart.PurchaseQuantity, shoppingCartProductPrice, *shoppingCart.ShoppingCartProductModel3dFitting.Price) productPrice, productTotalPrice, stepNum, stepPrice, err := NewShoppingCart(tx, nil, nil).CaculateCartPrice(*shoppingCart.PurchaseQuantity, shoppingCartProductPrice, *shoppingCart.ShoppingCartProductModel3dFitting.FittingPrice)
if err != nil { if err != nil {
errorCode = *basic.CodeErrOrderCreatProductPriceAbsent errorCode = *basic.CodeErrOrderCreatProductPriceAbsent
errorCode.Message = "create order failed, step price of product '" + shoppingCartSnapshot.ProductInfo.ProductName + "'is failed" errorCode.Message = "create order failed, step price of product '" + shoppingCartSnapshot.ProductInfo.ProductName + "'is failed"