diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index 92ba48952..9d32267e2 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -3,6 +3,7 @@ package cms import ( "fmt" "reflect" + "regexp" "strconv" "strings" "time" @@ -47,6 +48,8 @@ var ( "mtpsPrice": true, } + regexpMsgContentOpID = regexp.MustCompile(`"openid":"(.*?)"`) + receiveMsgUsersMap = map[string][]string{ SendMsgTypeOpenStoreRequest: []string{ "石锋", @@ -227,6 +230,7 @@ func SendMsg2Somebody(ctx *jxcontext.Context, mobileNum, verifyCode, msgType, ms //获取门店信息 var ( stores []*model.Store + authBinds []*model.AuthBind order *model.GoodsOrder storeName string storeID int @@ -241,6 +245,26 @@ func SendMsg2Somebody(ctx *jxcontext.Context, mobileNum, verifyCode, msgType, ms storeName = stores[0].Name storeID = stores[0].ID } + if storeID == 0 { + results := regexpMsgContentOpID.FindStringSubmatch(msgContent) + if len(results) > 0 { + sql3 := ` + SELECT * FROM auth_bind WHERE auth_id = ? OR auth_id2 = ? + ` + sqlParams3 := []interface{}{results[1]} + err = dao.GetRows(db, &authBinds, sql3, sqlParams3) + if len(authBinds) > 0 { + user, _ := dao.GetUserByID(db, "user_id", authBinds[0].UserID) + mobileNum = *user.Mobile + sqlParams4 := []interface{}{mobileNum} + err = dao.GetRows(db, &stores, sql, sqlParams4) + if len(stores) > 0 { + storeName = stores[0].Name + storeID = stores[0].ID + } + } + } + } sql2 := ` SELECT * FROM goods_order