order

package
v0.0.0-...-4e81a15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 15, 2017 License: GPL-3.0 Imports: 10 Imported by: 6

Documentation

Index

Constants

View Source
const (
	// PayChannelAlipay 支付宝支付渠道
	PayChannelAlipay = "ALIPAY"
	// PayChannelWeixin 微信支付渠道
	PayChannelWeixin = "WEIXIN"
	// PayChannelBalance 余额支付渠道
	PayChannelBalance = "BALANCE"

	// OrderTypeNormal 常规订单类型
	OrderTypeNormal = "NORMAL"
	// OrderTypeGroup 团购票订单类型
	OrderTypeGroup = "GROUP"
	// OrderTypeActivity 活动服务订单类型
	OrderTypeActivity = "ACTIVITY"

	// OrderStateNormal 正常订单状态
	OrderStateNormal = "NORMAL"
	// OrderStateCompleted 已完成订单状态
	OrderStateCompleted = "COMPLETED"
	// OrderStateDeleted 已删除订单状态
	OrderStateDeleted = "DELETED"

	// ItemStateNormal 正常订单状态
	ItemStateNormal = "NORMAL"
	// ItemStateCompleted 已完成订单状态
	ItemStateCompleted = "COMPLETED"
	// ItemStateDeleted 已删除订单状态
	ItemStateDeleted = "DELETED"

	// PayStateWaitPay 订单等待支付
	PayStateWaitPay = "WAIT_PAY"
	// PayStateClosed 订单已关闭
	PayStateClosed = "CLOSED"
	// PayStateCompleted 订单支付完成
	PayStateCompleted = "COMPLETED"
	// PayStateCanceled 订单已取消
	PayStateCanceled = "CANCELED"
	// PayStateRefunding 订单申请退款中
	PayStateRefunding = "REFUNDING"
	// PayStateRefunded 订单已退款
	PayStateRefunded = "REFUNDED"

	// ShipStateNone 无物流
	ShipStateNone = "NONE"
	// ShipStateWaitSend 等待发货
	ShipStateWaitSend = "WAIT_SEND"
	// ShipStateIsSend 已发货
	ShipStateIsSend = "IS_SEND"
	// ShipStateCompleted 已完成
	ShipStateCompleted = "COMPLETED"
	// ShipStateCanceled 已取消
	ShipStateCanceled = "CANCELED"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GoodsOrderLimit

type GoodsOrderLimit struct {
	GoodsID int `json:"goods_id" db:"goods_id"`
	Count   int `json:"count" db:"count"`
}

GoodsOrderLimit 某用户商品购买数量

type Order

type Order struct {
	OrderID       string    `json:"orderID" db:"order_id"`             // 订单ID
	UserID        int       `json:"userID" db:"user_id"`               // 用户ID
	StoreID       int       `json:"storeID" db:"store_id"`             // 店铺ID
	OrderType     string    `json:"orderType" db:"order_type"`         // 订单类型,NORMAL,扩展订单,例如:TICKET、VOUCHER,扩展订单自己维护OrderItem
	OrderState    string    `json:"orderState" db:"order_state"`       // 订单整体状态,NORMAL正常,COMPLETED已完成,DELETED已删除
	PayState      string    `json:"payState" db:"pay_state"`           // 订单支付状态,WAIT_PAY等待支付,COMPLETED支付完成,CANCELED已取消,REFUNDING退款中,REFUNDED已退款
	ShipState     string    `json:"shipState" db:"ship_state"`         // 订单物流状态,NONE无物流,WAIT_SEND等待发货,IS_SEND已发货,COMPLETED已签收
	ShipType      string    `json:"shipType" db:"ship_type"`           // 物流公司代码
	ShipCompany   string    `json:"shipCompany" db:"ship_company"`     // 物流公司名称
	ShipCode      string    `json:"shipCode" db:"ship_code"`           // 物流单号
	OrderBody     string    `json:"orderBody" db:"order_body"`         // JSON:[{ItemID,GoodsID,ItemLabeL,ItemCount,ItemPrice,ItemImg}]
	Province      string    `json:"province" db:"province"`            // 省份编码
	ProvinceName  string    `json:"provinceName" db:"province_name"`   // 省份
	City          string    `json:"city" db:"city"`                    // 城市编码
	CityName      string    `json:"cityName" db:"city_name"`           // 城市
	County        string    `json:"county" db:"county"`                // 区、镇编码
	CountyName    string    `json:"countyName" db:"county_name"`       // 区、镇
	Address       string    `json:"address" db:"address"`              // 详情地址
	Contact       string    `json:"contact" db:"contact"`              // 联系人
	MobileNumber  string    `json:"mobileNumber" db:"mobile_number"`   // 手机号
	UserRemark    string    `json:"userRemark" db:"user_remark"`       // 用户备注
	AdminRemark   string    `json:"adminRemark" db:"admin_remark"`     // 管理员备注
	TotalFee      float32   `json:"totalFee" db:"total_fee"`           // 订单总金额,商品总金额
	UserCouponID  int       `json:"userCouponID" db:"user_coupon_id"`  // 使用的用户优惠券ID
	CouponFee     float32   `json:"couponFee" db:"coupon_fee"`         // 优惠金额
	ShipFee       float32   `json:"shipFee" db:"ship_fee"`             // 订单运费
	TotalPay      float32   `json:"totalPay" db:"total_pay"`           // 实际支付金额
	FeeRemark     string    `json:"feeRemark" db:"fee_remark"`         // 金额描述
	PayTime       time.Time `json:"payTime" db:"pay_time"`             // 支付时间
	CreateTime    time.Time `json:"createTime" db:"create_time"`       // 下单时间
	UpdateTime    time.Time `json:"updateTime" db:"update_time"`       // 更新时间
	RealName      string    `json:"realName" db:"real_name"`           // 真实姓名
	IDCard        string    `json:"idCard" db:"id_card"`               // 身份证
	ExpiredTime   time.Time `json:"expiredTime" db:"expired_time"`     // 失效时间
	CompletedTime time.Time `json:"completedTime" db:"completed_time"` // 订单完结时间
	QueryTime     time.Time `json:"queryTime" db:"query_time"`         // 上次查询物流进度时间
	Param         string    `json:"param" db:"param"`                  // 额外数据

	Items      interface{}     `json:"items"`      // 订单详情
	Progresses []OrderProgress `json:"progresses"` // 订单流程
	Payments   []OrderPayment  `json:"payments"`   // 支付信息
}

Order 订单

func (*Order) GetOrderStateLabel

func (order *Order) GetOrderStateLabel() string

GetOrderStateLabel 获取订单状态中文描述

func (*Order) GetPayStateLabel

func (order *Order) GetPayStateLabel() string

GetPayStateLabel 获取支付状态中文描述

func (*Order) GetShipStateLabel

func (order *Order) GetShipStateLabel() string

GetShipStateLabel 获取物流状态中文描述

type OrderDB

type OrderDB struct {
	DB         *sqlx.DB
	Net        *net.Net
	AliAppCode string // 阿里物流查询需要的appcode
}

func (*OrderDB) CountByUserID

func (db *OrderDB) CountByUserID(userID int, orderType, orderState, payState, shipState string) (int, error)

CountByUserID 获取订单数量

func (*OrderDB) CountNormalItem

func (db *OrderDB) CountNormalItem(orderID string) (int, error)

CountNormalItem 获取订单未核销数量

func (*OrderDB) GenerateOrderID

func (db *OrderDB) GenerateOrderID() (string, error)

GenerateOrderID 生成一个新的订单ID

func (*OrderDB) GetByID

func (db *OrderDB) GetByID(orderID string) (*Order, error)

GetByID 通过orderID获取订单信息,不包含详情数据

func (*OrderDB) GetDetailByID

func (db *OrderDB) GetDetailByID(orderID string) (*Order, error)

GetDetailByID 通过orderID获取订单详细信息

func (*OrderDB) GetItemByID

func (db *OrderDB) GetItemByID(itemID int) (*OrderItem, error)

GetItemByID 通过itemID获取item

func (*OrderDB) GetPayment

func (db *OrderDB) GetPayment(orderID, channel string) (*OrderPayment, error)

GetPayment 通过订单指定渠道支付信息

func (*OrderDB) HasPayedGiftOrder

func (db *OrderDB) HasPayedGiftOrder(userID int) (bool, error)

HasPayedGiftOrder 用户是否有已支付的代理礼包订单

func (*OrderDB) List

func (db *OrderDB) List(orderType, orderState, payState, shipState, orderID, mobile string, startTime, endTime time.Time, offset, limit int) ([]Order, int, error)

List 分页列出订单

func (*OrderDB) ListByIDs

func (db *OrderDB) ListByIDs(orderIDs ...string) ([]Order, error)

ListByIDs 通过orderIDs获取订单列表

func (*OrderDB) ListByUserID

func (db *OrderDB) ListByUserID(userID int, offset, limit int) ([]Order, error)

ListByUserID 通过userID列出用户的订单,不带订单详情

func (*OrderDB) ListGoodsLimitByGoodsIDs

func (db *OrderDB) ListGoodsLimitByGoodsIDs(userID int, isToday bool, goodsIDs ...int) ([]GoodsOrderLimit, error)

ListGoodsLimitByGoodsIDs 获取用户购买的指定商品次数

func (*OrderDB) ListIsRefundItemByOrderIDs

func (db *OrderDB) ListIsRefundItemByOrderIDs(orderIDs []string) ([]OrderItem, error)

ListIsRefundItemByOrderIDs 通过orderIDs获取已退款的item列表

func (*OrderDB) ListItemByItemIDs

func (db *OrderDB) ListItemByItemIDs(itemIDs ...int) ([]OrderItem, error)

ListItemByItemIDs 通过itemID获取item列表

func (*OrderDB) ListItemByOrderID

func (db *OrderDB) ListItemByOrderID(orderID string) ([]OrderItem, error)

ListItemByOrderID 通过orderID获取item列表

func (*OrderDB) ListItemByOrderIDs

func (db *OrderDB) ListItemByOrderIDs(orderIDs []string) ([]OrderItem, error)

ListItemByOrderIDs 通过orderIDs获取item列表

func (*OrderDB) ListItemByUserID

func (db *OrderDB) ListItemByUserID(userID int) ([]OrderItem, error)

ListItemByUserID 通过userID获取item列表

func (*OrderDB) ListLogs

func (db *OrderDB) ListLogs(orderID string) ([]OrderLog, error)

ListLogs 列出订单操作记录

func (*OrderDB) ListNotPayOrder

func (db *OrderDB) ListNotPayOrder() ([]Order, error)

ListNotPayOrder 列出还未支付的未过期订单

func (*OrderDB) ListOrderIDByUserID

func (db *OrderDB) ListOrderIDByUserID(userID int, orderType, orderState, payState, shipState string) ([]string, error)

ListOrderIDByUserID 列出订单ID

func (*OrderDB) ListPaymentByOrderID

func (db *OrderDB) ListPaymentByOrderID(orderID string) ([]OrderPayment, error)

ListPaymentByOrderID 通过orderID获取payment列表

func (*OrderDB) ListPaymentByOrderIDs

func (db *OrderDB) ListPaymentByOrderIDs(orderIDs []string) ([]OrderPayment, error)

ListPaymentByOrderIDs 通过orderIDs获取payment列表

func (*OrderDB) ListProgressByOrderID

func (db *OrderDB) ListProgressByOrderID(orderID string) ([]OrderProgress, error)

ListProgressByOrderID 通过orderID获取progress列表

func (*OrderDB) PageByUserID

func (db *OrderDB) PageByUserID(userID int, orderType, orderState, payState, shipState string, offset, limit int) ([]Order, int, error)

PageByUserID 分页列出订单

func (*OrderDB) Pay

func (db *OrderDB) Pay(orderID string) error

Pay 修改订单为已支付

func (*OrderDB) UpdateContact

func (db *OrderDB) UpdateContact(orderID, contact, mobile string) error

UpdateContact 更新订单联系人

func (*OrderDB) UpdateProgress

func (db *OrderDB) UpdateProgress(userID int, userName, orderID, shipCode, shipType string, queryTime time.Time) error

UpdateProgress 更新物流进度

type OrderItem

type OrderItem struct {
	ItemID         int       `json:"itemID" db:"item_id"`                  // 详情ID
	ItemState      string    `json:"itemState" db:"item_state"`            // 详情状态
	OrderID        string    `json:"orderID" db:"order_id"`                // 订单ID
	IsRefund       bool      `json:"isRefund" db:"is_refund"`              // 是否已退款
	UserID         int       `json:"userID" db:"user_id"`                  // 用户ID
	StoreID        int       `json:"storeID" db:"store_id"`                // 店铺ID
	GoodsID        int       `json:"goodsID" db:"goods_id"`                // 商品ID
	IsCrossBorder  bool      `json:"isCrossBorder" db:"is_cross_border"`   // 是否跨境商品
	Count          int       `json:"count" db:"count"`                     // 数量
	SKU            string    `json:"sku" db:"sku"`                         // sku
	GoodsType      string    `json:"goodsType" db:"goods_type"`            // 商品类型,NORMAL普通商品,扩展商品,例如:TICKET、VOUCHER
	Label          string    `json:"label" db:"label"`                     // 商品名称
	ZoomImg        string    `json:"zoomImg" db:"zoom_img"`                // 缩放图
	CoverImg       string    `json:"coverImg" db:"cover_img"`              // 封面图
	MarketPrice    float32   `json:"marketPrice" db:"market_price"`        // 市场价,不作为购买价格
	PayPrice       float32   `json:"payPrice" db:"pay_price"`              // 购买价,作为购买时价格
	SpecID         int       `json:"specID" db:"spec_id"`                  // 商品规格ID,0代表无规格
	SpecLabel      string    `json:"specLabel" db:"spec_label"`            // 规格名称,下划线分割,例如:红色_L
	SpecLabelGroup string    `json:"specLabelGroup" db:"spec_label_group"` // 规格组,下划线分割,例如:颜色_尺码
	CreateTime     time.Time `json:"createTime" db:"create_time"`          // 下单时间
	UpdateTime     time.Time `json:"updateTime" db:"update_time"`          // 更新时间
	IsAgentGift    bool      `json:"isAgentGift" db:"is_agent_gift"`       // 是否是代理礼包
	HasCommission  bool      `json:"hasCommission" db:"has_commission"`    // 是否有提成
	FatherID       int       `json:"fatherID" db:"father_id"`              // 父级ID
	FatherPercent  float32   `json:"fatherPercent" db:"father_percent"`    // 父级提成百分比
	FatherIncome   float32   `json:"fatherIncome" db:"father_income"`      // 父级提成
	GrandpaID      int       `json:"grandpaID" db:"grandpa_id"`            // 爷爷级ID
	GrandpaPercent float32   `json:"grandpaPercent" db:"grandpa_percent"`  // 爷爷级提成百分比
	GrandpaIncome  float32   `json:"grandpaIncome" db:"grandpa_income"`    // 爷爷级提成
	RefundTime     time.Time `json:"refundTime" db:"refund_time"`          // 退款时间
	RefundCount    int       `json:"refundCount" db:"refund_count"`        // 退款数量
	Param          string    `json:"param" db:"param"`                     // 额外数据
	CompletedTime  time.Time `json:"completedTime" db:"completed_time"`    // 详情完结时间
}

OrderItem 订单详情

type OrderLog

type OrderLog struct {
	OrderID    string    `json:"orderID" db:"order_id"`       // 订单ID
	AdminID    int       `json:"adminID" db:"admin_id"`       // 管理员ID
	AdminName  string    `json:"adminName" db:"admin_name"`   // 管理员名称
	Content    string    `json:"content" db:"content"`        // 操作明细
	CreateTime time.Time `json:"createTime" db:"create_time"` // 创建时间
}

OrderLog 订单操作记录

type OrderPayment

type OrderPayment struct {
	PaymentID     int       `json:"paymentID" db:"payment_id"`          // 支付记录id
	UserID        int       `json:"userID" db:"user_id"`                // 用户ID
	OrderID       string    `json:"orderID" db:"order_id"`              // 订单id
	PayState      string    `json:"payState" db:"pay_state"`            // 支付状态,WAIT_PAY:等待支付,COMPLETED:已支付,CANCELED:取消支付
	TotalFee      float32   `json:"totalFee" db:"total_fee"`            // 支付金额
	BankType      string    `json:"bankType" db:"bank_type"`            // 银行编码
	TransactionID string    `json:"transactionID" db:"transaction_id"`  // 流水
	PayChannel    string    `json:"payChannel" db:"pay_channel"`        // 支付渠道,ALIPAY:支付宝,WEIXIN:微信
	PrepayID      string    `json:"prepayID" db:"prepay_id"`            // 渠道预支付ID
	ChannelUserID string    `json:"channelUserID" db:"channel_user_id"` // 渠道用户的id,微信的就是openid
	CreateTime    time.Time `json:"createTime" db:"create_time"`        // 创建时间
	UpdateTime    time.Time `json:"updateTime" db:"update_time"`        // 更新时间
	PayTime       time.Time `json:"payTime" db:"pay_time"`              // 支付时间

	OutRefundNo string    `json:"outRefundNo" db:"out_refund_no"` // 商户退款单号
	RefundFee   int32     `json:"refundFee" db:"refund_fee"`      // 退款金额
	RefundTime  time.Time `json:"refundTime" db:"refund_time"`    // 退款时间

	RefundAdminID     int    `json:"refundAdminID" db:"refund_admin_id"`         // 退款操作员ID
	RefundAdminName   string `json:"refundAdminName" db:"refund_admin_name"`     // 退款操作员Name
	RefundUserRemark  string `json:"refundUserRemark" db:"refund_user_remark"`   // 用户申请退款原因
	RefundAdminRemark string `json:"refundAdminRemark" db:"refund_admin_remark"` // 管理员处理结果
}

OrderPayment 订单支付信息结构体

type OrderProgress

type OrderProgress struct {
	OrderID       string    `json:"orderID" db:"order_id"`
	Label         string    `json:"label" db:"label"`
	AdminUserID   int       `json:"adminUserID" db:"admin_user_id"`
	AdminUserName string    `json:"adminUserName" db:"admin_user_name"`
	UserID        int       `json:"userID" db:"user_id"`
	UserName      string    `json:"userName" db:"user_name"`
	CreateTime    time.Time `json:"createTime" db:"create_time"` // 上次查询时间,半小时内只调用一次API接口
}

OrderProgress 订单操作记录

type OrderTx

type OrderTx struct {
	Tx *sqlx.Tx
}

func (*OrderTx) Completed

func (tx *OrderTx) Completed(orderID string) error

Completed 修改订单支付状态

func (*OrderTx) CompletedItem

func (tx *OrderTx) CompletedItem(itemIDs ...int) error

CompletedItem 完成订单明细

func (*OrderTx) CompletedItemByOrderID

func (tx *OrderTx) CompletedItemByOrderID(orderID string) error

CompletedItemByOrderID 完成订单明细

func (*OrderTx) CountNormalItem

func (tx *OrderTx) CountNormalItem(orderID string) (int, error)

CountNormalItem 获取订单未核销数量

func (*OrderTx) Insert

func (tx *OrderTx) Insert(o *Order) error

Insert 插入订单

func (*OrderTx) InsertItems

func (tx *OrderTx) InsertItems(items []OrderItem) (string, error)

InsertItems 插入订单数据,并返回订单商品的json数据

func (*OrderTx) InsertLog

func (tx *OrderTx) InsertLog(orderID, content, adminName string, adminID int) error

InsertLog 插入订单操作记录

func (*OrderTx) InsertPayment

func (tx *OrderTx) InsertPayment(userID int, orderID string, totalFee float32, payChannel, prepayID, channelUserID string) error

InsertPayment 插入一条订单支付信息,如果订单已经生成过支付信息,则覆盖

func (*OrderTx) InsertProgress

func (tx *OrderTx) InsertProgress(adminID, userID int, orderID, label, adminName, userName string) error

InsertProgress 插入订单操作记录

func (*OrderTx) Pay

func (tx *OrderTx) Pay(orderID string) error

Pay 修改订单为已支付

func (*OrderTx) PayPayment

func (tx *OrderTx) PayPayment(orderID, payState, payChannel, bankType, transactionID string) error

PayPayment 保存订单支付信息

func (*OrderTx) RefundItem

func (tx *OrderTx) RefundItem(itemID, refundCount int) error

RefundItem 订单详情改为退款

func (*OrderTx) RefundPayment

func (tx *OrderTx) RefundPayment(orderID, payChannel, outRefundNo, adminName, adminRemark string, refundFee int, adminID int) error

RefundPayment 保存订单退款信息

func (*OrderTx) RejecRefundPayment

func (tx *OrderTx) RejecRefundPayment(orderID, refundRemark, adminName string, adminID int) error

RejecRefundPayment 保存拒绝订单退款请求

func (*OrderTx) RequestRefundPayment

func (tx *OrderTx) RequestRefundPayment(orderID, refundRemark string) error

RequestRefundPayment 订单请求退款信息

func (*OrderTx) UpdateAdminRemark

func (tx *OrderTx) UpdateAdminRemark(orderID, adminRemark string) error

UpdateAdminRemark 更新订单管理员备注

func (*OrderTx) UpdateOrderPayState

func (tx *OrderTx) UpdateOrderPayState(orderID, payState string) error

UpdateOrderPayState 修改订单支付状态

func (*OrderTx) UpdateOrderShipCode

func (tx *OrderTx) UpdateOrderShipCode(orderID, shipType, shipCompany, shipCode string) error

UpdateOrderShipCode 保存发货物流信息

func (*OrderTx) UpdateOrderShipState

func (tx *OrderTx) UpdateOrderShipState(orderID, shipState string) error

UpdateOrderShipState 修改订单发货状态

func (*OrderTx) UpdateOrderState

func (tx *OrderTx) UpdateOrderState(orderID, orderState string) error

UpdateOrderState 修改订单状态

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL