fusenapi/model/gmodel/fsordermodel.go

66 lines
5.1 KiB
Go
Raw Normal View History

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"` // 是否部分支付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
}
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
}