diff --git a/app/admin/models/order.go b/app/admin/models/order.go index 2a4dba3..3806022 100644 --- a/app/admin/models/order.go +++ b/app/admin/models/order.go @@ -76,6 +76,8 @@ type Order struct { OrderCards []OrderCard `json:"order_cards" gorm:"-"` DeliverShopperCode string `json:"deliver_shopper_code" gorm:"-"` //发货店员码 RevertShopperCode string `json:"revert_shopper_code" gorm:"-"` + PhoneExt string `json:"phone_ext" gorm:"-"` + User *UserInfo `json:"user" gorm:"foreignKey:uid;references:uid"` } func (*Order) TableName() string { @@ -767,11 +769,14 @@ func (m *Order) Revert() error { OrderJson, _ := json.Marshal(m) fmt.Println("归还订单:", string(OrderJson)) var order Order - err := orm.Eloquent.Table("order").Where("id", m.ID).Find(&order).Error + err := orm.Eloquent.Table("order").Preload("User").Where("id", m.ID).Find(&order).Error if err != nil { logger.Errorf("err:", err) return err } + if m.User != nil && !m.User.CheckPhoneExt(m.PhoneExt, 4) { + return errors.New("手机尾号不正确") + } cardMap, err := order.GetOrderCardMap() if err != nil { logger.Error("err:", err) diff --git a/app/admin/models/user.go b/app/admin/models/user.go index 985081f..785dd24 100644 --- a/app/admin/models/user.go +++ b/app/admin/models/user.go @@ -2424,3 +2424,18 @@ func MarkUser(uid []uint32, mark int8) error { Where("uid in (?)", uid). Update("mark", mark).Error } + +// CheckPhoneExt 检测手机尾号是否一致 +func (m *UserInfo) CheckPhoneExt(ext string, length int) bool { + if ext == "" || m.Tel == "" { + return false + } + + total := len(m.Tel) + if total >= length { + sub := m.Tel[total-4:] + return sub == ext + } else { + return false + } +}