This commit is contained in:
苏尹岚
2020-12-21 10:40:21 +08:00
parent 680e9ba05d
commit 77a4dbbfa3
3 changed files with 49 additions and 33 deletions

View File

@@ -1,9 +1,10 @@
package fnpsapi package fnpsapi
import ( import (
"net/http"
"net/url" "net/url"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
) )
@@ -28,15 +29,26 @@ type WayBillInfo struct {
DetailDescription string `json:"detail_description"` DetailDescription string `json:"detail_description"`
} }
func (a *API) GetOrderCallbackMsg(request *http.Request) (orderMsg *WayBillInfo) { func (a *API) GetOrderCallbackMsg(data []byte) (orderMsg *WayBillInfo) {
err := request.ParseForm() callbackInfo := &CallBackInfo{}
err := utils.UnmarshalUseNumber(data, callbackInfo)
if err != nil {
globals.SugarLogger.Debugf("fn msg faild %v, err : %v", string(data), err)
return nil
}
if err == nil { if err == nil {
params := make(url.Values) if str, err := url.QueryUnescape(callbackInfo.Data); err == nil {
for k := range request.PostForm { orderMsg = &WayBillInfo{}
decodedValue, _ := url.QueryUnescape(request.PostFormValue(k)) if err := utils.UnmarshalUseNumber([]byte(str), orderMsg); err == nil {
params.Set(k, decodedValue) return orderMsg
} else {
globals.SugarLogger.Debugf("fn msg faild3 %v", err)
return nil
}
} else {
globals.SugarLogger.Debugf("fn msg faild2 %v", err)
return nil
} }
utils.Map2StructByJson(params.Get("data"), &orderMsg, false)
} }
return orderMsg return orderMsg
} }

View File

@@ -18,7 +18,7 @@ func init() {
sugarLogger = logger.Sugar() sugarLogger = logger.Sugar()
baseapi.Init(sugarLogger) baseapi.Init(sugarLogger)
api = New("6a3e2073-1850-413b-9eb7-6c342ec36e1c", "a8248088-a742-4c33-a0db-03aeae00ca7d") api = New("6a3e2073-1850-413b-9eb7-6c342ec36e1c", "a8248088-a742-4c33-a0db-03aeae00ca7d")
api.SetToken("n-c6e3d9e2-8003-4855-ac88-ca8b9042d616-w") // api.SetToken("n-c6e3d9e2-8003-4855-ac88-ca8b9042d616-w")
} }
func TestGetAccessToken(t *testing.T) { func TestGetAccessToken(t *testing.T) {

View File

@@ -2,7 +2,6 @@ package jdapi
import ( import (
"fmt" "fmt"
"strconv"
"strings" "strings"
"testing" "testing"
@@ -281,35 +280,40 @@ func TestGetJdTopSkus(t *testing.T) {
// t.Fatal(err) // t.Fatal(err)
// } // }
// t.Log(utils.Format4Output(result, false)) // t.Log(utils.Format4Output(result, false))
fmt.Println(pp(332)) s1 := "ymbgaraibkfmvocpizdydugvalagaivdbfsfbepeyccqfepzvtpyxtbadkhmwmoswrcxnargtlswqemafandgkmydtimuzvjwxvlfwlhvkrgcsithaqlcvrihrwqkpjdhgfgreqoxzfvhjzojhghfwbvpfzectwwhexthbsndovxejsntmjihchaotbgcysfdaojkjldprwyrnischrgmtvjcorypvopfmegizfkvudubnejzfqffvgdoxohuinkyygbdzmshvyqyhsozwvlhevfepdvafgkqpkmcsikfyxczcovrmwqxxbnhfzcjjcpgzjjfateajnnvlbwhyppdleahgaypxidkpwmfqwqyofwdqgxhjaxvyrzupfwesmxbjszolgwqvfiozofncbohduqgiswuiyddmwlwubetyaummenkdfptjczxemryuotrrymrfdxtrebpbjtpnuhsbnovhectpjhfhahbqrfbyxggobsweefcwxpqsspyssrmdhuelkkvyjxswjwofngpwfxvknkjviiavorwyfzlnktmfwxkvwkrwdcxjfzikdyswsuxegmhtnxjraqrdchaauazfhtklxsksbhwgjphgbasfnlwqwukprgvihntsyymdrfovaszjywuqygpvjtvlsvvqbvzsmgweiayhlubnbsitvfxawhfmfiatxvqrcwjshvovxknnxnyyfexqycrlyksderlqarqhkxyaqwlwoqcribumrqjtelhwdvaiysgjlvksrfvjlcaiwrirtkkxbwgicyhvakxgdjwnwmubkiazdjkfmotglclqndqjxethoutvjchjbkoasnnfbgrnycucfpeovruguzumgmgddqwjgdvaujhyqsqtoexmnfuluaqbxoofvotvfoiexbnprrxptchmlctzgqtkivsilwgwgvpidpvasurraqfkcmxhdapjrlrnkbklwkrvoaziznlpor"
s2 := "qhxepbshlrhoecdaodgpousbzfcqjxulatciapuftffahhlmxbufgjuxstfjvljybfxnenlacmjqoymvamphpxnolwijwcecgwbcjhgdybfffwoygikvoecdggplfohemfypxfsvdrseyhmvkoovxhdvoavsqqbrsqrkqhbtmgwaurgisloqjixfwfvwtszcxwktkwesaxsmhsvlitegrlzkvfqoiiwxbzskzoewbkxtphapavbyvhzvgrrfriddnsrftfowhdanvhjvurhljmpxvpddxmzfgwwpkjrfgqptrmumoemhfpojnxzwlrxkcafvbhlwrapubhveattfifsmiounhqusvhywnxhwrgamgnesxmzliyzisqrwvkiyderyotxhwspqrrkeczjysfujvovsfcfouykcqyjoobfdgnlswfzjmyucaxuaslzwfnetekymrwbvponiaojdqnbmboldvvitamntwnyaeppjaohwkrisrlrgwcjqqgxeqerjrbapfzurcwxhcwzugcgnirkkrxdthtbmdqgvqxilllrsbwjhwqszrjtzyetwubdrlyakzxcveufvhqugyawvkivwonvmrgnchkzdysngqdibhkyboyftxcvvjoggecjsajbuqkjjxfvynrjsnvtfvgpgveycxidhhfauvjovmnbqgoxsafknluyimkczykwdgvqwlvvgdmufxdypwnajkncoynqticfetcdafvtqszuwfmrdggifokwmkgzuxnhncmnsstffqpqbplypapctctfhqpihavligbrutxmmygiyaklqtakdidvnvrjfteazeqmbgklrgrorudayokxptswwkcircwuhcavhdparjfkjypkyxhbgwxbkvpvrtzjaetahmxevmkhdfyidhrdeejapfbafwmdqjqszwnwzgclitdhlnkaiyldwkwwzvhyorgbysyjbxsspnjdewjxbhpsvj"
fmt.Println(string(findTheDifference(s1, s2)))
} }
func pp(N int) (n int) { func findTheDifference(s string, t string) byte {
if N < 10 { var (
return N map1 = make(map[byte]int)
map2 = make(map[byte]int)
)
if s == "" {
return []byte(t)[0]
} }
r := new(strings.Builder) for k, _ := range s {
str := strconv.Itoa(N) map1[s[k]]++
for i := 0; i < len(str)-1; i++ { }
if str[i] > str[i+1] { for k, _ := range t {
if j, err := strconv.Atoi(string(str[i])); err == nil { map2[t[k]]++
r.WriteString(strconv.Itoa(j - 1)) }
for k := 0; k < len(str)-i-1; k++ { for k, v := range map1 {
r.WriteString("9") if map2[k] != v {
} return k
break }
} }
for k, v := range t {
if k == len(t)-1 {
return t[k]
} else { } else {
r.WriteString(string(str[i])) if strings.Index(string(v), string(s[k])) == -1 {
} return t[k]
if i+1 == len(str)-1 { }
r.WriteString(string(str[i+1]))
n, _ = strconv.Atoi(r.String())
return n
} }
} }
n, _ = strconv.Atoi(r.String()) return []byte(t)[0]
return pp(n)
} }
func TestGetJdStoreInfo(t *testing.T) { func TestGetJdStoreInfo(t *testing.T) {