fnps
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user