2023-06-14 06:05:27 +00:00
|
|
|
|
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"` // 是否部分支付(0:否,1:是)
|
|
|
|
|
IsPayCompleted *int64 `gorm:"default:0" json:"is_pay_completed"` // 是否支付完成(0:否,1:是)
|
|
|
|
|
IsPartProduct *int64 `gorm:"default:0" json:"is_part_product"` // 是否部分生产(0:否,1:是)
|
|
|
|
|
IsPartProductCompleted *int64 `gorm:"default:0" json:"is_part_product_completed"` // 是否部分生产完成(0:否,1:是)
|
|
|
|
|
IsAllProduct *int64 `gorm:"default:0" json:"is_all_product"` // 是否全部生产(0:否,1:是)
|
|
|
|
|
IsAllProductCompleted *int64 `gorm:"default:0" json:"is_all_product_completed"` // 是否全部生产完成(0:否,1:是)
|
|
|
|
|
IsPartDelivery *int64 `gorm:"default:0" json:"is_part_delivery"` // 是否部分发货(0:否,1:是)
|
|
|
|
|
IsDeliveryCompleted *int64 `gorm:"default:0" json:"is_delivery_completed"` // 是否发货完成(0:否,1:是)
|
|
|
|
|
IsComplated *int64 `gorm:"default:0" json:"is_complated"` // 是否完成订单(0:否,1:是)
|
|
|
|
|
IsCancel *int64 `gorm:"default:0" json:"is_cancel"` // 是否取消订单(0:否,1:是)
|
|
|
|
|
IsRefunding *int64 `gorm:"default:0" json:"is_refunding"` // 是否退款中(0:否,1:是)
|
|
|
|
|
IsRefunded *int64 `gorm:"default:0" json:"is_refunded"` // 是否退款完成(0:否,1:是)
|
|
|
|
|
IsDeleted *int64 `gorm:"default:0" json:"is_deleted"` // 是否删除(0:否,1:是)
|
|
|
|
|
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
|
|
|
|
|
}
|
2023-06-14 09:59:48 +00:00
|
|
|
|
func (o *FsOrderModel) Update(ctx context.Context, id int64, data FsOrder) error {
|
|
|
|
|
return o.db.WithContext(ctx).Model(&FsOrder{}).Where("`id` = ?", id).Updates(data).Error
|
|
|
|
|
}
|