- refactor auto accept order, explicit refuse added.

This commit is contained in:
gazebo
2018-07-02 22:39:16 +08:00
parent 009f67fff5
commit 8a75fb9beb
4 changed files with 54 additions and 41 deletions

View File

@@ -6,19 +6,41 @@ import (
"github.com/astaxie/beego/orm"
)
func IsAutoAcceptOrder(userMobile string, db orm.Ormer) bool {
if db == nil {
db = orm.NewOrm()
}
user := &models.BlackClient{
Mobile: userMobile,
}
if err := db.Read(user, "Mobile"); err != nil {
if err != orm.ErrNoRows {
globals.SugarLogger.Errorf("read data error:%v, data:%v", err, user)
const (
JD_VENDERID = 0
ELM_VENDERID = 2
)
func OnNewOrder(orderID string, venderID int, userMobile string, jxStoreID int, db orm.Ormer, handler func(accepted bool)) int {
handleType := 0
if userMobile != "" {
if db == nil {
db = orm.NewOrm()
}
// 在访问数据库出错的情况下,也需要自动接单
return true
user := &models.BlackClient{
Mobile: userMobile,
}
if err := db.Read(user, "Mobile"); err != nil {
if err != orm.ErrNoRows {
globals.SugarLogger.Errorf("read data error:%v, data:%v, venderID:%d", err, user, venderID)
}
// 在访问数据库出错的情况下,也需要自动接单
handleType = 1
} else {
// 强制拒单
globals.SugarLogger.Infof("force reject order:%s, venderID:%d", orderID, venderID)
handleType = -1
}
} else {
globals.SugarLogger.Infof("order:%s, venderID:%d, mobile is empty, should accept it", orderID, venderID)
handleType = 1
}
return false
if handleType == 1 {
handler(true)
} else if handleType == -1 {
handler(false)
}
return handleType
}