From 73b558547b0ffcf3923284e58b64bbfe469d9578 Mon Sep 17 00:00:00 2001 From: huangjiajun <582604932@qq.com> Date: Mon, 22 Jul 2024 16:31:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=94=AF=E5=93=81=E6=9C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/api.go | 8 ++++ didi/api.go | 119 ++++++++++++++++++++++++++++++++++++++++++++++++ didi/order.go | 22 +++++++++ elm/api.go | 31 +++++++++++++ md/wph/goods.go | 78 +++++++++++++++++++++++++++++++ md/wph/order.go | 71 +++++++++++++++++++++++++++++ md/wph/url.go | 14 ++++++ qianzhu/api.go | 5 ++ t3/api.go | 54 ++++++++++++++++++++++ t3/order.go | 20 ++++++++ wph/api.go | 79 ++++++++++++++++++++++++++++++++ wph/goods.go | 103 +++++++++++++++++++++++++++++++++++++++++ wph/order.go | 73 +++++++++++++++++++++++++++++ wph/url.go | 71 +++++++++++++++++++++++++++++ 14 files changed, 748 insertions(+) create mode 100644 didi/api.go create mode 100644 didi/order.go create mode 100644 elm/api.go create mode 100644 md/wph/goods.go create mode 100644 md/wph/order.go create mode 100644 md/wph/url.go create mode 100644 qianzhu/api.go create mode 100644 t3/api.go create mode 100644 t3/order.go create mode 100644 wph/api.go create mode 100644 wph/goods.go create mode 100644 wph/order.go create mode 100644 wph/url.go diff --git a/comm/api.go b/comm/api.go index 5f24b2f..6b7e1f6 100644 --- a/comm/api.go +++ b/comm/api.go @@ -2,6 +2,9 @@ package comm import ( "bytes" + "crypto/hmac" + "crypto/md5" + "encoding/hex" "encoding/json" "sort" "strings" @@ -59,3 +62,8 @@ func GetSortJson(o interface{}) string { marshal := strings.TrimSpace(buffer.String()) // Trim掉末尾的换行符 return marshal } +func HmacMd5(key, data string) string { + h := hmac.New(md5.New, []byte(key)) + h.Write([]byte(data)) + return strings.ToUpper(hex.EncodeToString(h.Sum([]byte("")))) +} diff --git a/didi/api.go b/didi/api.go new file mode 100644 index 0000000..8ca8e90 --- /dev/null +++ b/didi/api.go @@ -0,0 +1,119 @@ +package didi + +import ( + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/comm" + zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" + "crypto/sha1" + "encoding/base64" + "encoding/hex" + "encoding/json" + "fmt" + "github.com/tidwall/gjson" + "io" + "net/url" + "sort" + "strings" + "time" +) + +func GetDidiUrl(key, secret string, param map[string]interface{}) map[string]string { + send, _ := PostSend("/openapi/v1.0/link/generate", key, secret, param) + res := map[string]string{ + "app_id": gjson.Get(send, "data.app_id").String(), + "app_source": gjson.Get(send, "data.app_source").String(), + "dsi": gjson.Get(send, "data.dsi").String(), + "link": gjson.Get(send, "data.link").String(), + } + return res +} +func GetDidiQrcode(key, secret string, param map[string]interface{}) map[string]string { + send, _ := GetSend("/openapi/v1.0/code/generate", key, secret, param) + res := map[string]string{ + "code_link": gjson.Get(send, "data.code_link").String(), + } + return res +} +func GetDidiPoster(key, secret string, param map[string]interface{}) map[string]string { + send, _ := GetSend("/openapi/v1.0/poster/generate", key, secret, param) + res := map[string]string{ + "poster_link": gjson.Get(send, "data.poster_link").String(), + } + return res +} +func GetDidiOrder(key, secret string, param map[string]interface{}) []DidiOrder { + send, _ := GetSend("/openapi/v1.0/order/list", key, secret, param) + list := make([]DidiOrder, 0) + json.Unmarshal([]byte(gjson.Get(send, "data.order_list").String()), &list) + return list +} + +func GetSend(method, key, secret string, param map[string]interface{}) (string, error) { + param["Timestamp"] = zhios_third_party_utils.Int64ToStr(time.Now().Unix()) + param["App-Key"] = key + param["Sign"] = GetSign(param, secret) + headers := map[string]string{ + "Timestamp": zhios_third_party_utils.AnyToString(param["Timestamp"]), + "App-Key": zhios_third_party_utils.AnyToString(param["App-Key"]), + "Sign": zhios_third_party_utils.AnyToString(param["Sign"]), + } + urls := "https://union.didi.cn" + method + + for k, v := range param { + if strings.Contains(urls, "?") == false { + urls += "?" + k + "=" + zhios_third_party_utils.AnyToString(v) + } else { + urls += "&" + k + "=" + zhios_third_party_utils.AnyToString(v) + } + } + fmt.Println(urls) + post, err := zhios_third_party_utils.CurlGet(urls, headers) + fmt.Println(string(post)) + fmt.Println(err) + return string(post), err +} +func PostSend(method, key, secret string, param map[string]interface{}) (string, error) { + paramStr := comm.GetSortJson(param) + param["Timestamp"] = time.Now().Unix() + param["App-Key"] = key + param["Sign"] = GetSign(param, secret) + headers := map[string]string{ + "Timestamp": zhios_third_party_utils.Int64ToStr(zhios_third_party_utils.AnyToInt64(param["Timestamp"])), + "App-Key": zhios_third_party_utils.AnyToString(param["App-Key"]), + "Sign": zhios_third_party_utils.AnyToString(param["Sign"]), + } + urls := "https://union.didi.cn" + method + post, err := zhios_third_party_utils.CurlPost(urls, paramStr, headers) + fmt.Println(string(post)) + fmt.Println(err) + return string(post), err +} + +func GetSign(params map[string]interface{}, accessKey string) string { + // key排序 + arr := sort.StringSlice{} + for k := range params { + if k != "sign" { + arr = append(arr, k) + } + } + arr.Sort() + // 参数拼接 + var build strings.Builder + for idx, k := range arr { + if idx != 0 { + build.WriteString("&") + } + build.WriteString(fmt.Sprintf("%s=%v", k, params[k])) + } + build.WriteString(accessKey) + // URL encode + sourceStr := url.QueryEscape(build.String()) + // sha1加密 + h := sha1.New() + _, _ = io.WriteString(h, sourceStr) + shaStr := hex.EncodeToString(h.Sum([]byte(""))) + // 返回base64字符串 + b64Str := base64.StdEncoding.EncodeToString([]byte(shaStr)) + // base64字符串含有=和/,再一次URL encode + return url.QueryEscape(b64Str) +} diff --git a/didi/order.go b/didi/order.go new file mode 100644 index 0000000..9330f3b --- /dev/null +++ b/didi/order.go @@ -0,0 +1,22 @@ +package didi + +type DidiOrder struct { + ActivityId int64 `json:"activity_id"` + CpaProfit int `json:"cpa_profit"` + CpaType string `json:"cpa_type"` + CpsProfit int `json:"cps_profit"` + FailReason string `json:"fail_reason"` + IsRisk int `json:"is_risk"` + OpenUid string `json:"open_uid"` + OrderId string `json:"order_id"` + OrderStatus int `json:"order_status"` + PayPrice int `json:"pay_price"` + PayTime int `json:"pay_time"` + ProductId int `json:"product_id"` + PromotionId int64 `json:"promotion_id"` + RefundPrice int `json:"refund_price"` + RefundTime int `json:"refund_time"` + SourceId string `json:"source_id"` + Status int `json:"status"` + Title string `json:"title"` +} diff --git a/elm/api.go b/elm/api.go new file mode 100644 index 0000000..7212718 --- /dev/null +++ b/elm/api.go @@ -0,0 +1,31 @@ +package elm + +import ( + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/taobao/topsdk" + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/taobao/topsdk/defaultability" + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/taobao/topsdk/defaultability/request" + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/taobao/topsdk/defaultability/response" + zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" +) + +const ( + ELM_URL = "http://gw.api.taobao.com/router/rest" +) + +func ElemePromotionOrder(ak, sk string, args map[string]string) (*response.AlibabaAlscUnionKbcpxPositiveOrderGetResponse, error) { + client := topsdk.NewDefaultTopClient(ak, sk, ELM_URL, 20000, 20000) + ability := defaultability.NewDefaultability(&client) + + AlibabaAlscUnionKbcpxPositiveOrderGetRequest := request.AlibabaAlscUnionKbcpxPositiveOrderGetRequest{} + AlibabaAlscUnionKbcpxPositiveOrderGetRequest.SetBizUnit(2) + AlibabaAlscUnionKbcpxPositiveOrderGetRequest.SetDateType(4) //时间维度,1-付款时间 2-创建时间 3-结算时间 4-更新时间 + AlibabaAlscUnionKbcpxPositiveOrderGetRequest.SetEndDate(args["end_time"]) + AlibabaAlscUnionKbcpxPositiveOrderGetRequest.SetPageNumber(zhios_third_party_utils.StrToInt64(args["p"])) + AlibabaAlscUnionKbcpxPositiveOrderGetRequest.SetPageSize(zhios_third_party_utils.StrToInt64(args["size"])) + AlibabaAlscUnionKbcpxPositiveOrderGetRequest.SetStartDate(args["start_time"]) + resp, err := ability.AlibabaAlscUnionKbcpxPositiveOrderGet(&AlibabaAlscUnionKbcpxPositiveOrderGetRequest) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/md/wph/goods.go b/md/wph/goods.go new file mode 100644 index 0000000..b171874 --- /dev/null +++ b/md/wph/goods.go @@ -0,0 +1,78 @@ +package wph + +type WphGoods struct { + Gid string `json:"gid"` + AdCode string `json:"adCode"` + GoodsTitle string `json:"goods_title"` + GoodsDesc string `json:"goods_desc"` + GoodsImg string `json:"goods_img"` + ImgList []string `json:"img_list"` + SourceType string `json:"sourceType"` + GoodsPrice string `json:"goods_price"` + GoodsCostPrice string `json:"goods_cost_price"` + Commission string `json:"commission"` + CommissionRate string `json:"commission_rate"` + Discount string `json:"discount"` + YhqPrice string `json:"yhq_price"` + CouponPrice string `json:"coupon_price"` +} +type OfficialGoods struct { + IsAllowanceGoods int `json:"isAllowanceGoods"` + MarketPrice string `json:"marketPrice"` + CommissionRate string `json:"commissionRate"` + WhiteImage string `json:"whiteImage"` + GoodsId string `json:"goodsId"` + GoodsDesc string `json:"goodsDesc"` + Discount string `json:"discount"` + CouponPriceType int `json:"couponPriceType"` + GoodsCarouselPictures []string `json:"goodsCarouselPictures"` + GoodsDetailPictures []string `json:"goodsDetailPictures"` + CategoryName string `json:"categoryName"` + HaiTao int `json:"haiTao"` + Cat2NdName string `json:"cat2ndName"` + IsSubsidyActivityGoods bool `json:"isSubsidyActivityGoods"` + GoodsPromotionInfo struct { + MarketPrice string `json:"marketPrice"` + LowPriceTag string `json:"lowPriceTag"` + SalePriceDesc string `json:"salePriceDesc"` + SalePrice string `json:"salePrice"` + Discount string `json:"discount"` + } `json:"goodsPromotionInfo"` + Cat1StName string `json:"cat1stName"` + DestUrlPc string `json:"destUrlPc"` + AdCode string `json:"adCode"` + VipPrice string `json:"vipPrice"` + Commission string `json:"commission"` + ProductSales string `json:"productSales"` + Sn string `json:"sn"` + Cat1StId int `json:"cat1stId"` + GoodsName string `json:"goodsName"` + BrandName string `json:"brandName"` + BrandLogoFull string `json:"brandLogoFull"` + BrandStoreSn string `json:"brandStoreSn"` + Weight int `json:"weight"` + SellTimeFrom int64 `json:"sellTimeFrom"` + SchemeStartTime int64 `json:"schemeStartTime"` + SchemeEndTime int64 `json:"schemeEndTime"` + SourceType int `json:"sourceType"` + SellTimeTo int64 `json:"sellTimeTo"` + BrandId int `json:"brandId"` + GoodsThumbUrl string `json:"goodsThumbUrl"` + Cat2NdId int `json:"cat2ndId"` + SpuId string `json:"spuId"` + StoreInfo struct { + StoreName string `json:"storeName"` + StoreId string `json:"storeId"` + } `json:"storeInfo"` + EstimatePrice string `json:"estimatePrice"` + GoodsMainPicture string `json:"goodsMainPicture"` + DestUrl string `json:"destUrl"` + CategoryId int `json:"categoryId"` + Status int `json:"status"` + CouponInfo struct { + Fav string `json:"fav"` + } `json:"couponInfo"` + ExclusiveCoupon struct { + Fav string `json:"fav"` + } `json:"exclusiveCoupon"` +} diff --git a/md/wph/order.go b/md/wph/order.go new file mode 100644 index 0000000..a49b475 --- /dev/null +++ b/md/wph/order.go @@ -0,0 +1,71 @@ +package wph + +type GetOrder struct { + OrderType int `json:"orderType"` + OrderSn string `json:"orderSn"` + OpenId string `json:"openId"` + FdsBlackOrder int `json:"fdsBlackOrder"` + EstimateCommissionAfterDeduction string `json:"estimateCommissionAfterDeduction"` + Pid string `json:"pid"` + OrderTrackReason int `json:"orderTrackReason"` + OrderSubStatusName string `json:"orderSubStatusName"` + OrderQuality string `json:"orderQuality"` + StatParam string `json:"statParam"` + OrderTime int64 `json:"orderTime"` + NewCustomer int `json:"newCustomer"` + AdCode string `json:"adCode"` + Commission string `json:"commission"` + AppKey string `json:"appKey"` + IsSplit int `json:"isSplit"` + OrderSource string `json:"orderSource"` + SignTime int64 `json:"signTime"` + Settled int `json:"settled"` + CommissionEnterTime int64 `json:"commissionEnterTime"` + DeductionCommission string `json:"DeductionCommission"` + IsPrepay int `json:"isPrepay"` + BaseCommissionSettleRate string `json:"baseCommissionSettleRate"` + DetailList []struct { + SizeId string `json:"sizeId"` + CommissionRate string `json:"commissionRate"` + GoodsId string `json:"goodsId"` + GoodsFinalPrice string `json:"goodsFinalPrice"` + BrandStoreName string `json:"brandStoreName"` + EstimateCommissionAfterDeduction string `json:"estimateCommissionAfterDeduction"` + Cat2Code string `json:"cat2Code"` + CommCode string `json:"commCode"` + IsSubsidyTaskOrder bool `json:"isSubsidyTaskOrder"` + Commission string `json:"commission"` + Cat3Code string `json:"cat3Code"` + Cat1Name string `json:"cat1Name"` + GoodsName string `json:"goodsName"` + CommissionTotalCost string `json:"commissionTotalCost"` + OrderSource string `json:"orderSource"` + BrandStoreSn string `json:"brandStoreSn"` + DeductionCommission string `json:"DeductionCommission"` + Cat2Name string `json:"cat2Name"` + BaseCommissionSettleRate string `json:"baseCommissionSettleRate"` + GoodsCount int `json:"goodsCount"` + GoodsThumb string `json:"goodsThumb"` + CommName string `json:"commName"` + SpuId string `json:"spuId"` + Cat1Code string `json:"cat1Code"` + Cat3Name string `json:"cat3Name"` + Status int `json:"status"` + AfterSaleInfo []struct { + AfterSaleStatus int `json:"afterSaleStatus"` + AfterSaleSn string `json:"afterSaleSn"` + AfterSaleFinishTime int64 `json:"afterSaleFinishTime"` + AfterSaleType int `json:"afterSaleType"` + } `json:"afterSaleInfo,omitempty"` + } `json:"detailList"` + SettledTime int64 `json:"settledTime"` + ChannelTag string `json:"channelTag"` + SelfBuy int `json:"selfBuy"` + TotalCost string `json:"totalCost"` + Status int `json:"status"` + LastUpdateTime int64 `json:"lastUpdateTime"` +} +type GetRefundOrder struct { + OrderSn string `json:"orderSn"` + AfterSaleStatus int `json:"afterSaleStatus"` +} diff --git a/md/wph/url.go b/md/wph/url.go new file mode 100644 index 0000000..97f53c0 --- /dev/null +++ b/md/wph/url.go @@ -0,0 +1,14 @@ +package wph + +type UrlInfoList struct { + Url string `json:"url"` + DeeplinkUrl string `json:"deeplinkUrl"` + VipWxUrl string `json:"vipWxUrl"` +} +type ParesUrlData struct { + GoodsId string `json:"goodsId"` + LandUrl string `json:"landUrl"` + BrandId string `json:"brandId"` + AdCode string `json:"adCode"` + LinkType string `json:"linkType"` +} diff --git a/qianzhu/api.go b/qianzhu/api.go new file mode 100644 index 0000000..66f05ad --- /dev/null +++ b/qianzhu/api.go @@ -0,0 +1,5 @@ +package qianzhu + +func GetKfcUrl(key, secret string, param map[string]string) { + +} diff --git a/t3/api.go b/t3/api.go new file mode 100644 index 0000000..da6332e --- /dev/null +++ b/t3/api.go @@ -0,0 +1,54 @@ +package t3 + +import ( + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/comm" + zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" + "encoding/json" + "fmt" + "github.com/syyongx/php2go" + "github.com/tidwall/gjson" + "time" +) + +func GetT3Url(key, secret string, param map[string]string) map[string]string { + jsonStr := comm.GetSortJson(param) + send, _ := GetSend("/openapi/marketing/union/v1/generate/link", key, secret, param["sourceId"], jsonStr) + res := map[string]string{ + "link": gjson.Get(send, "data.link").String(), + "appId": gjson.Get(send, "data.appId").String(), + "appSource": gjson.Get(send, "data.appSource").String(), + } + return res +} +func GetT3Order(key, secret string, param map[string]string) []T3Order { + jsonStr := comm.GetSortJson(param) + send, _ := GetSend("/openapi/api/v1/marketing/union/activity/order/page", key, secret, param["sourceId"], jsonStr) + list := make([]T3Order, 0) + json.Unmarshal([]byte(gjson.Get(send, "data.data").String()), &list) + return list +} +func GetSend(method, key, secret, sourceId, jsonStr string) (string, error) { + url := "https://exchange.t3go.cn" + method + now := zhios_third_party_utils.Int64ToStr(time.Now().Unix() * 1000) + tmp := map[string]string{ + "x-t3-nonce": php2go.Md5(sourceId + now), + "x-t3-timestamp": now, + "x-t3-version": "V1", + "x-t3-key": key, + "x-t3-signature-method": "MD5", + } + signStr := "POST" + method + headers := make(map[string]string) + keyList := []string{"x-t3-key", "x-t3-nonce", "x-t3-signature-method", "x-t3-timestamp", "x-t3-version"} + for _, v := range keyList { + headers[v] = tmp[v] + signStr += v + ":" + tmp[v] + } + signStr += php2go.Md5(jsonStr) + secret + headers["x-t3-signature-headers"] = "x-t3-nonce,x-t3-timestamp,x-t3-version,x-t3-key,x-t3-signature-method" + headers["x-t3-signature"] = php2go.Md5(signStr) + post, err := zhios_third_party_utils.CurlPost(url, jsonStr, headers) + fmt.Println(string(post)) + fmt.Println(err) + return string(post), err +} diff --git a/t3/order.go b/t3/order.go new file mode 100644 index 0000000..d0fac7c --- /dev/null +++ b/t3/order.go @@ -0,0 +1,20 @@ +package t3 + +type T3Order struct { + SourceId string `json:"sourceId"` + Amount int `json:"amount"` + BusinessId string `json:"businessId"` + CpaType string `json:"cpaType"` + SpotUuid string `json:"spotUuid"` + Uuid string `json:"uuid"` + OrderAmount float64 `json:"orderAmount"` + PayAmount float64 `json:"payAmount"` + CreateTime int64 `json:"createTime"` + Rate int `json:"rate"` + ParticipationStatus int `json:"participationStatus"` + FailReason string `json:"failReason"` + ActivityUuid string `json:"activityUuid"` + AttributionalFirstOrder bool `json:"attributionalFirstOrder"` + UnionActivityUuid string `json:"unionActivityUuid"` + RefundAmount int `json:"refundAmount"` +} diff --git a/wph/api.go b/wph/api.go new file mode 100644 index 0000000..7d40758 --- /dev/null +++ b/wph/api.go @@ -0,0 +1,79 @@ +package wph + +import ( + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/comm" + zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" + "fmt" + "github.com/syyongx/php2go" + "strings" + "time" +) + +//func SendGet(serviceMethod, method string, serviceParam map[string]string, param string) (string, error) { +// serviceParamNew := map[string]string{ +// "service": serviceMethod, //服务名称 +// "method": method, //方法名称 +// "version": "1.0.0", //版本号 +// "timestamp": zhios_third_party_utils.Int64ToStr(time.Now().Unix()), +// "format": "json", +// "appKey": serviceParam["key"], +// } +// if serviceParam["token"] != "" { +// serviceParamNew["accessToken"] = serviceParam["token"] +// } +// sortParam := comm.KsortToStr(serviceParamNew) +// str := "" +// for _, v := range sortParam { +// str += v + serviceParamNew[v] +// } +// str += param +// serviceParamNew["sign"] = strings.ToUpper(comm.HmacMd5(serviceParam["secret"], str)) +// url := "https://vop.vipapis.com" +// for k, v := range serviceParamNew { +// if strings.Contains(url, "?") == false { +// url += "?" + k + "=" + php2go.URLEncode(v) +// } +// } +// get, err := zhios_third_party_utils.CurlGet(url, nil) +// fmt.Println(string(get)) +// fmt.Println(err) +// return string(get), err +//} +func SendPost(serviceMethod, method string, serviceParam map[string]string, param string) (string, error) { + serviceParamNew := map[string]string{ + "service": serviceMethod, //服务名称 + "method": method, //方法名称 + "version": "1.0.0", //版本号 + "timestamp": zhios_third_party_utils.Int64ToStr(time.Now().Unix()), + "format": "json", + "appKey": serviceParam["key"], + } + if serviceParam["token"] != "" { + serviceParamNew["accessToken"] = serviceParam["token"] + } + sortParam := comm.KsortToStr(serviceParamNew) + str := "" + for _, v := range sortParam { + str += v + serviceParamNew[v] + } + str += param + fmt.Println(str) + serviceParamNew["sign"] = strings.ToUpper(comm.HmacMd5(serviceParam["secret"], str)) + fmt.Println(serviceParamNew["sign"]) + + url := "https://vop.vipapis.com" + for k, v := range serviceParamNew { + if strings.Contains(url, "?") == false { + url += "?" + k + "=" + php2go.URLEncode(v) + } else { + url += "&" + k + "=" + php2go.URLEncode(v) + } + } + fmt.Println(url) + // 读取响应体 + responseData, err := zhios_third_party_utils.CurlPost(url, param, nil) + + fmt.Println(string(responseData)) + fmt.Println(err) + return string(responseData), err +} diff --git a/wph/goods.go b/wph/goods.go new file mode 100644 index 0000000..8dd2760 --- /dev/null +++ b/wph/goods.go @@ -0,0 +1,103 @@ +package wph + +import ( + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md/wph" + zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" + "encoding/json" + "github.com/tidwall/gjson" +) + +//关键字查询 +func QueryWithOauth(serviceParam map[string]string, param string) []wph.WphGoods { + post, _ := SendPost("com.vip.adp.api.open.service.UnionGoodsService", "queryWithOauth", serviceParam, param) + var goods = make([]wph.OfficialGoods, 0) + json.Unmarshal([]byte(gjson.Get(post, "result.goodsInfoList").String()), &goods) + list := make([]wph.WphGoods, 0) + for _, v := range goods { + tmp := wph.WphGoods{ + Gid: v.GoodsId + "adCode" + v.AdCode, + AdCode: v.AdCode, + GoodsTitle: v.GoodsName, + GoodsDesc: v.GoodsDesc, + GoodsImg: v.GoodsMainPicture, + ImgList: v.GoodsCarouselPictures, + SourceType: zhios_third_party_utils.IntToStr(v.SourceType), + GoodsPrice: v.VipPrice, + GoodsCostPrice: v.MarketPrice, + Commission: v.Commission, + CommissionRate: v.CommissionRate, + Discount: v.Discount, + YhqPrice: v.CouponInfo.Fav, + CouponPrice: v.CouponInfo.Fav, + } + if zhios_third_party_utils.StrToFloat64(tmp.YhqPrice) == 0 { + tmp.YhqPrice = v.ExclusiveCoupon.Fav + tmp.CouponPrice = v.ExclusiveCoupon.Fav + } + list = append(list, tmp) + } + return list +} + +//联盟在推商品列表 +func GoodsListWithOauth(serviceParam map[string]string, param string) []wph.WphGoods { + post, _ := SendPost("com.vip.adp.api.open.service.UnionGoodsService", "goodsListWithOauth", serviceParam, param) + var goods = make([]wph.OfficialGoods, 0) + json.Unmarshal([]byte(gjson.Get(post, "result.goodsInfoList").String()), &goods) + list := make([]wph.WphGoods, 0) + for _, v := range goods { + tmp := wph.WphGoods{ + Gid: v.GoodsId + "adCode" + v.AdCode, + AdCode: v.AdCode, + GoodsTitle: v.GoodsName, + GoodsDesc: v.GoodsDesc, + GoodsImg: v.GoodsMainPicture, + ImgList: v.GoodsCarouselPictures, + SourceType: zhios_third_party_utils.IntToStr(v.SourceType), + GoodsPrice: v.VipPrice, + GoodsCostPrice: v.MarketPrice, + Commission: v.Commission, + CommissionRate: v.CommissionRate, + Discount: v.Discount, + YhqPrice: v.CouponInfo.Fav, + CouponPrice: v.CouponInfo.Fav, + } + if zhios_third_party_utils.StrToFloat64(tmp.YhqPrice) == 0 { + tmp.YhqPrice = v.ExclusiveCoupon.Fav + tmp.CouponPrice = v.ExclusiveCoupon.Fav + } + list = append(list, tmp) + } + return list +} + +func GetByGoodsIdsWithOauth(serviceParam map[string]string, param string) []wph.WphGoods { + post, _ := SendPost("com.vip.adp.api.open.service.UnionGoodsService", "getByGoodsIdsWithOauth", serviceParam, param) + var goods = make([]wph.OfficialGoods, 0) + json.Unmarshal([]byte(gjson.Get(post, "result").String()), &goods) + list := make([]wph.WphGoods, 0) + for _, v := range goods { + tmp := wph.WphGoods{ + Gid: v.GoodsId + "adCode" + v.AdCode, + AdCode: v.AdCode, + GoodsTitle: v.GoodsName, + GoodsDesc: v.GoodsDesc, + GoodsImg: v.GoodsMainPicture, + ImgList: v.GoodsCarouselPictures, + SourceType: zhios_third_party_utils.IntToStr(v.SourceType), + GoodsPrice: v.VipPrice, + GoodsCostPrice: v.MarketPrice, + Commission: v.Commission, + CommissionRate: v.CommissionRate, + Discount: v.Discount, + YhqPrice: v.CouponInfo.Fav, + CouponPrice: v.CouponInfo.Fav, + } + if zhios_third_party_utils.StrToFloat64(tmp.YhqPrice) == 0 { + tmp.YhqPrice = v.ExclusiveCoupon.Fav + tmp.CouponPrice = v.ExclusiveCoupon.Fav + } + list = append(list, tmp) + } + return list +} diff --git a/wph/order.go b/wph/order.go new file mode 100644 index 0000000..7c57b3d --- /dev/null +++ b/wph/order.go @@ -0,0 +1,73 @@ +package wph + +import ( + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md/wph" + zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" + "encoding/json" + "fmt" + "github.com/tidwall/gjson" +) + +func GetOrder(serviceParam map[string]string, param string) []map[string]string { + post, _ := SendPost("com.vip.adp.api.open.service.UnionOrderService", "orderListWithOauth", serviceParam, param) + var data []wph.GetOrder + msg := gjson.Get(post, "result.orderInfoList").String() + json.Unmarshal([]byte(msg), &data) + var list = make([]map[string]string, 0) + stateArr := map[string]string{ + "已下单": "待定", "已付款": "订单付款", "已签收": "订单成功", "待结算": "订单成功", "已结算": "已完结", "已失效": "不合格", + } + for _, v := range data { + gid := "" + if len(v.DetailList) > 0 { + gid = v.DetailList[0].GoodsId + } + tmp := map[string]string{ + "oid": v.OrderSn, + "gid": gid, + "commission": "0", + "payment": "0", + "status": stateArr[v.OrderSubStatusName], + "channelTag": v.ChannelTag, + "create_time": zhios_third_party_utils.Int64ToStr(v.OrderTime / 1000), + "newCustomer": zhios_third_party_utils.IntToStr(v.NewCustomer), + "js_time": "", + } + if v.Status == 2 { + tmp["status"] = "已完结" + } + if v.SettledTime > 0 { + tmp["js_time"] = zhios_third_party_utils.Int64ToStr(v.SettledTime / 1000) + } + var commission float64 = 0 + var payment float64 = 0 + for _, v1 := range v.DetailList { + commission += zhios_third_party_utils.StrToFloat64(v1.Commission) + payment += zhios_third_party_utils.StrToFloat64(v1.CommissionTotalCost) + } + tmp["payment"] = zhios_third_party_utils.Float64ToStr(payment) + tmp["commission"] = zhios_third_party_utils.Float64ToStr(commission) + list = append(list, tmp) + } + fmt.Println(zhios_third_party_utils.SerializeStr(list)) + return list +} +func GetRefundOrder(serviceParam map[string]string, param string) []map[string]string { + post, _ := SendPost("com.vip.adp.api.open.service.UnionOrderService", "refundOrderListWithOauth", serviceParam, param) + var data []wph.GetRefundOrder + msg := gjson.Get(post, "result.refundOrderInfoList").String() + json.Unmarshal([]byte(msg), &data) + var list = make([]map[string]string, 0) + for _, v := range data { + + tmp := map[string]string{ + "oid": v.OrderSn, + "status": "", + } + if v.AfterSaleStatus == 2 { + tmp["status"] = "不合格" + } + list = append(list, tmp) + } + return list +} diff --git a/wph/url.go b/wph/url.go new file mode 100644 index 0000000..3ab1dea --- /dev/null +++ b/wph/url.go @@ -0,0 +1,71 @@ +package wph + +import ( + "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md/wph" + zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" + "encoding/json" + "fmt" + "github.com/tidwall/gjson" + "strings" +) + +func GetUrl(serviceParam map[string]string, param string) wph.UrlInfoList { + post, err := SendPost("com.vip.adp.api.open.service.UnionUrlService", "genByGoodsIdWithOauth", serviceParam, param) + fmt.Println(post) + fmt.Println(err) + UrlInfoList := gjson.Get(post, "result.urlInfoList").String() + list := make([]wph.UrlInfoList, 0) + json.Unmarshal([]byte(UrlInfoList), &list) + data := wph.UrlInfoList{} + for _, v := range list { + if strings.Contains(v.Url, "t.vip.com") { + v.Url = strings.ReplaceAll(v.Url, "t.vip.com", "click.union.vip.com") + } + data = wph.UrlInfoList{ + Url: v.Url, + DeeplinkUrl: v.DeeplinkUrl, + VipWxUrl: v.VipWxUrl, + } + } + fmt.Println(zhios_third_party_utils.SerializeStr(data)) + return data +} +func GetActUrl(serviceParam map[string]string, param string) wph.UrlInfoList { + post, err := SendPost("com.vip.adp.api.open.service.UnionUrlService", "genByVIPUrlWithOauth", serviceParam, param) + fmt.Println(post) + fmt.Println(err) + UrlInfoList := gjson.Get(post, "result.urlInfoList").String() + list := make([]wph.UrlInfoList, 0) + json.Unmarshal([]byte(UrlInfoList), &list) + data := wph.UrlInfoList{} + for _, v := range list { + if strings.Contains(v.Url, "t.vip.com") { + v.Url = strings.ReplaceAll(v.Url, "t.vip.com", "click.union.vip.com") + } + data = wph.UrlInfoList{ + Url: v.Url, + DeeplinkUrl: v.DeeplinkUrl, + VipWxUrl: v.VipWxUrl, + } + } + return data +} +func GetParseUrl(serviceParam map[string]string, param string) map[string]interface{} { + post, err := SendPost("com.vip.adp.api.open.service.UnionUrlService", "vipLinkCheckWithOuth", serviceParam, param) + fmt.Println(post) + fmt.Println(err) + successMap := gjson.Get(post, "result.successMap").String() + var list = make(map[string]interface{}) + json.Unmarshal([]byte(successMap), &list) + url := gjson.Get(param, "vipLinkCheckReq.content").String() + _, ok := list[url] + data := map[string]interface{}{} + if ok { + urlData, ok1 := list[url].(map[string]interface{}) + if ok1 { + data = urlData + } + } + fmt.Println(zhios_third_party_utils.SerializeStr(data)) + return data +}