From 474999b3fb3ed082885fd416a9c15d072287b4e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E4=BF=8A=E6=88=90?= Date: Tue, 26 Sep 2023 16:11:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=B0=BE=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/models/order.go | 7 ++++++- app/admin/models/user.go | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) 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 + } +}