微商城订单自动修改门店价格时,电话号码匹配时,也要查分组
多于一个门店匹配时,只处理第一个,且不报错
This commit is contained in:
@@ -3,6 +3,7 @@ package cs
|
|||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/baseapi/platformapi/weimobapi"
|
"git.rosy.net.cn/baseapi/platformapi/weimobapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/authz/autils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
@@ -45,8 +46,8 @@ func onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackRespons
|
|||||||
func changeStoreSkusByOrder(order *weimobapi.OrderDetail) {
|
func changeStoreSkusByOrder(order *weimobapi.OrderDetail) {
|
||||||
globals.SugarLogger.Debugf("changeStoreSkusByOrder order:%s", utils.Format4Output(order, true))
|
globals.SugarLogger.Debugf("changeStoreSkusByOrder order:%s", utils.Format4Output(order, true))
|
||||||
receiverMobile := order.DeliveryDetail.LogisticsDeliveryDetail.ReceiverMobile
|
receiverMobile := order.DeliveryDetail.LogisticsDeliveryDetail.ReceiverMobile
|
||||||
if storeList, err := dao.GetStoreList(dao.GetDB(), nil, []string{receiverMobile}, ""); err == nil {
|
if storeList, err := GetStoreList4Mobile(dao.GetDB(), []string{receiverMobile}); err == nil {
|
||||||
if len(storeList) == 1 {
|
if len(storeList) >= 1 {
|
||||||
var skuBindInfos []*cms.StoreSkuBindInfo
|
var skuBindInfos []*cms.StoreSkuBindInfo
|
||||||
storeID := storeList[0].ID
|
storeID := storeList[0].ID
|
||||||
globals.SugarLogger.Debugf("changeStoreSkusByOrder storeID:%d", storeID)
|
globals.SugarLogger.Debugf("changeStoreSkusByOrder storeID:%d", storeID)
|
||||||
@@ -77,3 +78,27 @@ func changeStoreSkusByOrder(order *weimobapi.OrderDetail) {
|
|||||||
globals.SugarLogger.Warnf("changeStoreSkusByOrder receiverMobile:%s failed with err:%v", receiverMobile, err)
|
globals.SugarLogger.Warnf("changeStoreSkusByOrder receiverMobile:%s failed with err:%v", receiverMobile, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetStoreList4Mobile(db *dao.DaoDB, mobileList []string) (storeList []*model.Store, err error) {
|
||||||
|
sql := `
|
||||||
|
SELECT t1.*
|
||||||
|
FROM store t1
|
||||||
|
WHERE t1.deleted_at = ?`
|
||||||
|
sqlParams := []interface{}{
|
||||||
|
utils.DefaultTimeValue,
|
||||||
|
}
|
||||||
|
if len(mobileList) > 0 {
|
||||||
|
questionMarks := dao.GenQuestionMarks(len(mobileList))
|
||||||
|
sql += " AND (t1.tel1 IN (" + questionMarks + ") OR t1.tel2 IN (" + questionMarks + `)
|
||||||
|
OR (SELECT
|
||||||
|
COUNT(*)
|
||||||
|
FROM casbin_rule t2
|
||||||
|
JOIN user t3 ON t3.user_id = t2.v0 AND t3.mobile IN (` + questionMarks + `)
|
||||||
|
WHERE t2.v1 = CONCAT(?, t1.id)
|
||||||
|
) > 0)
|
||||||
|
`
|
||||||
|
sqlParams = append(sqlParams, mobileList, mobileList, mobileList, autils.NewStoreBossRole(-1).GetFullName())
|
||||||
|
}
|
||||||
|
err = dao.GetRows(db, &storeList, sql, sqlParams...)
|
||||||
|
return storeList, err
|
||||||
|
}
|
||||||
|
|||||||
24
business/cs/weimob_order_test.go
Normal file
24
business/cs/weimob_order_test.go
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
package cs
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals/api2"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals/testinit"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
testinit.Init()
|
||||||
|
api2.Init()
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetStoreList4Mobile(t *testing.T) {
|
||||||
|
storeList, err := GetStoreList4Mobile(dao.GetDB(), []string{"18180948107"})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
t.Log(utils.Format4Output(storeList, false))
|
||||||
|
t.Log(len(storeList))
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user