订单发货
This commit is contained in:
parent
957fcc4df0
commit
1397d7098a
|
@ -78,6 +78,12 @@ func DeliverGoods(c *gin.Context) {
|
||||||
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if m.DeliverShopperCode != "" && !models.CheckCode(m.DeliverShopperCode) {
|
||||||
|
app.Error(c, http.StatusBadRequest, errors.New("deliver_shopper_code err"), "店员码错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 更新卡的状态
|
// 更新卡的状态
|
||||||
if len(m.GameCardSerialNumbers) == 0 {
|
if len(m.GameCardSerialNumbers) == 0 {
|
||||||
logger.Errorf("err:")
|
logger.Errorf("err:")
|
||||||
|
|
|
@ -41,37 +41,41 @@ const (
|
||||||
type Order struct {
|
type Order struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
Uid uint64 `json:"uid" gorm:"index"`
|
Uid uint64 `json:"uid" gorm:"index"`
|
||||||
GameCardId uint64 `json:"game_card_id" gorm:"index"` // 游戏id
|
GameCardId uint64 `json:"game_card_id" gorm:"index"` // 游戏id
|
||||||
GameCardGoodsId uint64 `json:"game_card_goods_id" gorm:"index"` // 游戏卡id
|
GameCardGoodsId uint64 `json:"game_card_goods_id" gorm:"index"` // 游戏卡id
|
||||||
GameCardSerialNumber string `json:"game_card_serial_number" gorm:"index"` // 游戏卡编号
|
GameCardSerialNumber string `json:"game_card_serial_number" gorm:"index"` // 游戏卡编号
|
||||||
StoreId uint64 `json:"store_id" gorm:"index"` // 门店id
|
StoreId uint64 `json:"store_id" gorm:"index"` // 门店id
|
||||||
UserAddressId uint64 `json:"user_address_id"` // 地址id
|
UserAddressId uint64 `json:"user_address_id"` // 地址id
|
||||||
DeliveryType uint8 `json:"delivery_type"` // 取货类型 1-门店自取 2-快递
|
DeliveryType uint8 `json:"delivery_type"` // 取货类型 1-门店自取 2-快递
|
||||||
Count uint32 `json:"count"` // 数量
|
Count uint32 `json:"count"` // 数量
|
||||||
PickupCode string `json:"pickup_code"` // 取货码
|
PickupCode string `json:"pickup_code"` // 取货码
|
||||||
CardStatus uint8 `json:"card_status"` // 1-待取货中 2-游玩中 3-归还中 4-已完成 5-已取消
|
CardStatus uint8 `json:"card_status"` // 1-待取货中 2-游玩中 3-归还中 4-已完成 5-已取消
|
||||||
DeliveryTime time.Time `json:"delivery_time"` // 发货时间
|
DeliveryTime time.Time `json:"delivery_time"` // 发货时间
|
||||||
ReceiptTime time.Time `json:"receipt_time"` // 收货时间 签收时间
|
ReceiptTime time.Time `json:"receipt_time"` // 收货时间 签收时间
|
||||||
PayTime time.Time `json:"pay_time"` // 支付时间
|
PayTime time.Time `json:"pay_time"` // 支付时间
|
||||||
PayStatus uint8 `json:"pay_status"` // 支付状态 1-未支付 2-已支付
|
PayStatus uint8 `json:"pay_status"` // 支付状态 1-未支付 2-已支付
|
||||||
OrderSn string `json:"order_sn" gorm:"type:varchar(255);not null;COMMENT:'订单编号'"` // 订单编号
|
OrderSn string `json:"order_sn" gorm:"type:varchar(255);not null;COMMENT:'订单编号'"` // 订单编号
|
||||||
PayPrice uint32 `json:"pay_price"` // 实际付款金额(包含运费)
|
PayPrice uint32 `json:"pay_price"` // 实际付款金额(包含运费)
|
||||||
Postage uint32 `json:"postage"` // 邮费
|
Postage uint32 `json:"postage"` // 邮费
|
||||||
ExpressCompany string `json:"express_company"` // 物流公司
|
ExpressCompany string `json:"express_company"` // 物流公司
|
||||||
ExpressCompanyNo string `json:"express_company_no"` // 物流公司编号
|
ExpressCompanyNo string `json:"express_company_no"` // 物流公司编号
|
||||||
ExpressNo string `json:"express_no"` // 物流单号
|
ExpressNo string `json:"express_no"` // 物流单号
|
||||||
ExpressDuration uint64 `json:"express_duration"` // 物流时长
|
ExpressDuration uint64 `json:"express_duration"` // 物流时长
|
||||||
RevertStoreId uint64 `json:"revert_store_id"` // 归还门店id
|
RevertStoreId uint64 `json:"revert_store_id"` // 归还门店id
|
||||||
RevertTime time.Time `json:"revert_time"` // 归还时间
|
RevertTime time.Time `json:"revert_time"` // 归还时间
|
||||||
RevertExpressCompany string `json:"revert_express_company"` // 归还物流公司
|
RevertExpressCompany string `json:"revert_express_company"` // 归还物流公司
|
||||||
RevertExpressCompanyNo string `json:"revert_express_company_no"` // 归还物流公司编号
|
RevertExpressCompanyNo string `json:"revert_express_company_no"` // 归还物流公司编号
|
||||||
RevertExpressNo string `json:"revert_express_no"` // 归还物流单号
|
RevertExpressNo string `json:"revert_express_no"` // 归还物流单号
|
||||||
RevertExpressDuration uint64 `json:"revert_express_duration"` // 归还物流时长
|
RevertExpressDuration uint64 `json:"revert_express_duration"` // 归还物流时长
|
||||||
CooperativeBusinessId uint32 `json:"cooperative_business_id"` // 合作商id
|
CooperativeBusinessId uint32 `json:"cooperative_business_id"` // 合作商id
|
||||||
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
CooperativeName string `json:"cooperative_name"` // 合作商名称
|
||||||
GameCardSerialNumbers []string `json:"game_card_serial_numbers" gorm:"-"`
|
//收货店员码
|
||||||
OrderCards []OrderCard `json:"order_cards" gorm:"-"`
|
|
||||||
|
GameCardSerialNumbers []string `json:"game_card_serial_numbers" gorm:"-"`
|
||||||
|
OrderCards []OrderCard `json:"order_cards" gorm:"-"`
|
||||||
|
DeliverShopperCode string `json:"deliver_shopper_code" gorm:"-"` //发货店员码
|
||||||
|
RevertShopperCode string `json:"revert_shopper_code" gorm:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*Order) TableName() string {
|
func (*Order) TableName() string {
|
||||||
|
@ -112,6 +116,11 @@ type OrderCard struct {
|
||||||
GameCoverImg string `json:"cover_img" gorm:"-"` // 封面
|
GameCoverImg string `json:"cover_img" gorm:"-"` // 封面
|
||||||
Order *Order `json:"order" gorm:"-"` // 订单
|
Order *Order `json:"order" gorm:"-"` // 订单
|
||||||
RevertStore *Store `json:"revert_store" gorm:"-"` // 归还门店
|
RevertStore *Store `json:"revert_store" gorm:"-"` // 归还门店
|
||||||
|
|
||||||
|
DeliverShopperCode string `json:"deliver_shopper_code"` //发货店员码
|
||||||
|
RevertShopperCode string `json:"revert_shopper_code"` //收货识别码
|
||||||
|
DeliverShopper *ShopperPromotionCode `json:"deliver_shopper" gorm:"foreignKey:deliver_shopper_code;references:code"` //发货店员
|
||||||
|
RevertShopper *ShopperPromotionCode `json:"revert_shopper" gorm:"foreignKey:revert_shopper_code;references:code"` //收货店员
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*OrderCard) TableName() string {
|
func (*OrderCard) TableName() string {
|
||||||
|
@ -350,7 +359,14 @@ func (m *Order) Info() (map[string]interface{}, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var orderCards []OrderCard
|
var orderCards []OrderCard
|
||||||
err = orm.Eloquent.Table("order_card").Where("order_id=?", m.ID).Find(&orderCards).Error
|
err = orm.Eloquent.Table("order_card").
|
||||||
|
Preload("DeliverShopper").
|
||||||
|
Preload("DeliverShopper.User").
|
||||||
|
Preload("RevertShopper").
|
||||||
|
Preload("RevertShopper.User").
|
||||||
|
Where("order_id=?", m.ID).
|
||||||
|
Find(&orderCards).
|
||||||
|
Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return ret, err
|
return ret, err
|
||||||
|
@ -671,12 +687,13 @@ func (m *Order) Deliver() (error, string) {
|
||||||
//}).Error
|
//}).Error
|
||||||
|
|
||||||
err = begin.Table("order_card").Where("id=?", orderCard.ID).Updates(&map[string]interface{}{
|
err = begin.Table("order_card").Where("id=?", orderCard.ID).Updates(&map[string]interface{}{
|
||||||
"store_id": m.StoreId,
|
"store_id": m.StoreId,
|
||||||
"delivery_time": time.Now(),
|
"delivery_time": time.Now(),
|
||||||
"game_card_goods_id": gameCardGoods.ID,
|
"game_card_goods_id": gameCardGoods.ID,
|
||||||
"serial_number": gameCardGoods.SerialNumber,
|
"serial_number": gameCardGoods.SerialNumber,
|
||||||
"card_status": 2,
|
"card_status": 2,
|
||||||
"receipt_time": receiptTime,
|
"receipt_time": receiptTime,
|
||||||
|
"deliver_shopper_code": m.DeliverShopperCode,
|
||||||
}).Error
|
}).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
begin.Rollback()
|
begin.Rollback()
|
||||||
|
@ -936,9 +953,10 @@ func (m *Order) Revert() error {
|
||||||
eg.Go(func() error {
|
eg.Go(func() error {
|
||||||
err := begin.Table("order_card").Where("id=?", orderCard.ID).Updates(&map[string]interface{}{
|
err := begin.Table("order_card").Where("id=?", orderCard.ID).Updates(&map[string]interface{}{
|
||||||
//"store_id": m.StoreId,
|
//"store_id": m.StoreId,
|
||||||
"card_status": OrderCardStatusCompleted,
|
"card_status": OrderCardStatusCompleted,
|
||||||
"revert_store_id": m.RevertStoreId,
|
"revert_store_id": m.RevertStoreId,
|
||||||
"revert_time": time.Now(),
|
"revert_time": time.Now(),
|
||||||
|
"revert_shopper_code": m.RevertShopperCode,
|
||||||
}).Error
|
}).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("err:", err)
|
logger.Errorf("err:", err)
|
||||||
|
|
35
app/admin/models/shopper_promotion_code.go
Normal file
35
app/admin/models/shopper_promotion_code.go
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import (
|
||||||
|
orm "go-admin/common/global"
|
||||||
|
"go-admin/logger"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ShopperPromotionCode struct {
|
||||||
|
Model
|
||||||
|
|
||||||
|
Uid uint32 `json:"uid"`
|
||||||
|
State int8 `json:"state"`
|
||||||
|
Code string `json:"code"`
|
||||||
|
StoreId uint32 `json:"store_id"`
|
||||||
|
|
||||||
|
User *UserInfo `json:"user" gorm:"foreignKey:uid;references:uid"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s ShopperPromotionCode) TableName() string {
|
||||||
|
return "shopper_promotion_code"
|
||||||
|
}
|
||||||
|
|
||||||
|
func CheckCode(code string) bool {
|
||||||
|
var c int64
|
||||||
|
err := orm.Eloquent.
|
||||||
|
Table("shopper_promotion_code").
|
||||||
|
Where("code = ?", code).
|
||||||
|
Count(&c).
|
||||||
|
Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("check code err", err)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return c > 0
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user