This commit is contained in:
laodaming
2023-06-14 14:05:27 +08:00
parent 50bca808f1
commit 6f6da3f481
22 changed files with 1027 additions and 7 deletions

View File

@@ -1,6 +1,9 @@
package gmodel
import "gorm.io/gorm"
import (
"context"
"gorm.io/gorm"
)
type FsAddress struct {
Id int64 `gorm:"primary_key" json:"id"`
@@ -26,3 +29,11 @@ type FsAddressModel struct {
func NewFsAddressModel(db *gorm.DB) *FsAddressModel {
return &FsAddressModel{db}
}
func (a *FsAddressModel) GetUserAllAddress(ctx context.Context, userId int64) (resp []FsAddress, err error) {
err = a.db.WithContext(ctx).Model(&FsAddress{}).Where("`user_id` = ? and `status` = ?", userId, 1).Order("`id` DESC").Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@@ -0,0 +1,48 @@
package gmodel
import (
"context"
"gorm.io/gorm"
)
type FsOrderDetail struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 唯一编码
OrderId *int64 `gorm:"default:0" json:"order_id"` // 订单ID
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
FactoryId *int64 `gorm:"default:0" json:"factory_id"` // 工厂ID
OrderDetailTemplateId *int64 `gorm:"default:0" json:"order_detail_template_id"` // 详情templateID
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
BuyNum *int64 `gorm:"default:0" json:"buy_num"` // 购买数量
PushNum *int64 `gorm:"default:0" json:"push_num"` // 已发数量
Amount *int64 `gorm:"default:0" json:"amount"` // 单价
Cover *string `gorm:"default:''" json:"cover"` // 截图
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Status *int64 `gorm:"default:0" json:"status"` // 状态位 是否推送到厂家 是否生产完成 是否发货完成
OptionalId *int64 `gorm:"default:0" json:"optional_id"` // 选项ID
OptionalTitle *string `gorm:"default:''" json:"optional_title"` // 选项名称
OptionPrice *int64 `gorm:"default:0" json:"option_price"` // 配件价格
IsTofactory *int64 `gorm:"default:0" json:"is_tofactory"` // 是否推送到工厂
IsProduct *int64 `gorm:"default:0" json:"is_product"` // 是否生产中
IsProductCompletion *int64 `gorm:"default:0" json:"is_product_completion"` // 是否生产完成
IsCloud *int64 `gorm:"default:0" json:"is_cloud"` // 是否是云仓订单
IsTocloud *int64 `gorm:"default:0" json:"is_tocloud"` // 是否已发云仓(云仓单要发货到云仓,直接发到用户的不需要发到云仓)
IsDeliver *int64 `gorm:"default:0" json:"is_deliver"` // 是否已发货
IsEnd *int64 `gorm:"default:0" json:"is_end"` // 是否完成订单(签收)
CartId *int64 `gorm:"default:0" json:"cart_id"` // 购物车编号
}
type FsOrderDetailModel struct {
db *gorm.DB
}
func NewFsOrderDetailModel(db *gorm.DB) *FsOrderDetailModel {
return &FsOrderDetailModel{db}
}
func (od *FsOrderDetailModel) GetOrderDetailsByOrderId(ctx context.Context, orderId int64) (resp []FsOrderDetail, err error) {
err = od.db.WithContext(ctx).Model(&FsOrderDetail{}).Where("`order_id` = ?", orderId).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@@ -0,0 +1,38 @@
package gmodel
import (
"context"
"gorm.io/gorm"
)
type FsOrderDetailTemplate struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 唯一编码
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
ModelId *int64 `gorm:"default:0" json:"model_id"` // 模型ID
TemplateId *int64 `gorm:"default:0" json:"template_id"` // 模板ID
MaterialId *int64 `gorm:"default:0" json:"material_id"` // 材质id
SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸id
EachBoxNum *int64 `gorm:"default:0" json:"each_box_num"` // 每一箱的个数
EachBoxWeight *float64 `gorm:"default:0.00" json:"each_box_weight"` // 每一箱的重量 单位KG
DesignId *int64 `gorm:"default:0" json:"design_id"` // 设计ID
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
}
type FsOrderDetailTemplateModel struct {
db *gorm.DB
}
func NewFsOrderDetailTemplateModel(db *gorm.DB) *FsOrderDetailTemplateModel {
return &FsOrderDetailTemplateModel{db}
}
func (dt *FsOrderDetailTemplateModel) GetListByIds(ctx context.Context, ids []int64) (resp []FsOrderDetailTemplate, err error) {
if len(ids) == 0 {
return
}
err = dt.db.WithContext(ctx).Model(&FsOrderDetailTemplate{}).Where("`id` in (?)", ids).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

62
model/gmodel/fsordermodel.go Executable file
View File

@@ -0,0 +1,62 @@
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
"time"
)
type FsOrder struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 订单编号 FS211224OL2XDKNP
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
SellerUserId *int64 `gorm:"default:0" json:"seller_user_id"` // 销售员ID 0:自主下单
TotalAmount *int64 `gorm:"default:0" json:"total_amount"` // 总价
PayedAmount *int64 `gorm:"default:0" json:"payed_amount"` // 已支付金额
PayMethod *int64 `gorm:"default:0" json:"pay_method"` // 支付方式 1paypal 2strip
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Utime *int64 `gorm:"default:0" json:"utime"` // 更新时间
Ptime *int64 `gorm:"default:0" json:"ptime"` // 最后一次 支付时间(可能多次支付)
AddressId *int64 `gorm:"default:0" json:"address_id"` // 地址ID或者云仓ID
DeliveryMethod *int64 `gorm:"default:0" json:"delivery_method"` // 配送方式 1:直接发货到收获地址 2云仓
CustomerMark *string `gorm:"default:''" json:"customer_mark"` // 客户备注
Mark *string `gorm:"default:''" json:"mark"` // 后台订单备注
AddressInfo *string `gorm:"default:''" json:"address_info"` // 详细地址信息JSON
IsSup *int64 `gorm:"default:0" json:"is_sup"` // 0不是补货 1是补货
Status *int64 `gorm:"default:0" json:"status"` // 状态位0未支付1部分支付2支付完成3部分生产4部分生产完成5全部生产6全部生产完成7部分发货8发货完成9完成订单10取消订单11:退款中12退款完成13:订单已删除14:订单已关闭)
IsPartPay *int64 `gorm:"default:0" json:"is_part_pay"` // 是否部分支付01
IsPayCompleted *int64 `gorm:"default:0" json:"is_pay_completed"` // 是否支付完成01
IsPartProduct *int64 `gorm:"default:0" json:"is_part_product"` // 是否部分生产01
IsPartProductCompleted *int64 `gorm:"default:0" json:"is_part_product_completed"` // 是否部分生产完成01
IsAllProduct *int64 `gorm:"default:0" json:"is_all_product"` // 是否全部生产01
IsAllProductCompleted *int64 `gorm:"default:0" json:"is_all_product_completed"` // 是否全部生产完成01
IsPartDelivery *int64 `gorm:"default:0" json:"is_part_delivery"` // 是否部分发货01
IsDeliveryCompleted *int64 `gorm:"default:0" json:"is_delivery_completed"` // 是否发货完成01
IsComplated *int64 `gorm:"default:0" json:"is_complated"` // 是否完成订单01
IsCancel *int64 `gorm:"default:0" json:"is_cancel"` // 是否取消订单01
IsRefunding *int64 `gorm:"default:0" json:"is_refunding"` // 是否退款中01
IsRefunded *int64 `gorm:"default:0" json:"is_refunded"` // 是否退款完成01
IsDeleted *int64 `gorm:"default:0" json:"is_deleted"` // 是否删除01
RefundReasonId *int64 `gorm:"default:0" json:"refund_reason_id"` // 取消订单原因ID
RefundReason *string `gorm:"default:''" json:"refund_reason"` // 取消订单原因
TsTime *time.Time `gorm:"" json:"ts_time"`
IsSure *int64 `gorm:"default:0" json:"is_sure"` // 是否确认订单 1确认0未确认
DeliverSn *string `gorm:"default:''" json:"deliver_sn"` // 发货单号
EmailTime *int64 `gorm:"default:0" json:"email_time"` // 邮件发送时间
}
type FsOrderModel struct {
db *gorm.DB
}
func NewFsOrderModel(db *gorm.DB) *FsOrderModel {
return &FsOrderModel{db}
}
func (o *FsOrderModel) FindOneBySn(ctx context.Context, userId int64, sn string) (resp FsOrder, err error) {
err = o.db.WithContext(ctx).Model(&FsOrder{}).Where(" `user_id` = ? and `sn` = ? ", userId, sn).First(&resp).Error
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsOrder{}, err
}
return resp, nil
}