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
import (
"net/http"
"net/url"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/baseapi/utils"
)
@@ -28,15 +29,26 @@ type WayBillInfo struct {
DetailDescription string `json:"detail_description"`
}
func (a *API) GetOrderCallbackMsg(request *http.Request) (orderMsg *WayBillInfo) {
err := request.ParseForm()
func (a *API) GetOrderCallbackMsg(data []byte) (orderMsg *WayBillInfo) {
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 {
params := make(url.Values)
for k := range request.PostForm {
decodedValue, _ := url.QueryUnescape(request.PostFormValue(k))
params.Set(k, decodedValue)
if str, err := url.QueryUnescape(callbackInfo.Data); err == nil {
orderMsg = &WayBillInfo{}
if err := utils.UnmarshalUseNumber([]byte(str), orderMsg); err == nil {
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
}

View File

@@ -18,7 +18,7 @@ func init() {
sugarLogger = logger.Sugar()
baseapi.Init(sugarLogger)
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) {

View File

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