@@ -44,15 +44,15 @@ func UnBindCard(keyArr, param map[string]string) (string, error) { | |||||
return CardPaySend("api/txs/protocol/unBindCard", keyArr, param) | return CardPaySend("api/txs/protocol/unBindCard", keyArr, param) | ||||
} | } | ||||
func Pay(keyArr map[string]string, param map[string]interface{}) (string, error) { | func Pay(keyArr map[string]string, param map[string]interface{}) (string, error) { | ||||
//memberId := "562902003186055" | |||||
//ordId := "11111114" | |||||
//memberId := "562932003186159" | |||||
//ordId := "217021686896757585" | |||||
//amount := "100" | //amount := "100" | ||||
//param = map[string]interface{}{ | //param = map[string]interface{}{ | ||||
// "version": "2.0", | // "version": "2.0", | ||||
// "protocol": "p202306084666779900235", | |||||
// "protocol": "p202306161003031409342", | |||||
// "outTradeNo": ordId, | // "outTradeNo": ordId, | ||||
// "transType": "01", | // "transType": "01", | ||||
// "isSendSmsCode": "2", | |||||
// "isSendSmsCode": "1", | |||||
// "payAmount": amount, | // "payAmount": amount, | ||||
// "payCurrency": "CNY", | // "payCurrency": "CNY", | ||||
// "transactionStartTime": time.Now().Format("20060102150405"), | // "transactionStartTime": time.Now().Format("20060102150405"), | ||||
@@ -79,12 +79,12 @@ func Pay(keyArr map[string]string, param map[string]interface{}) (string, error) | |||||
//param["splitModel"] = "5" | //param["splitModel"] = "5" | ||||
//splitInfoList := []map[string]string{ | //splitInfoList := []map[string]string{ | ||||
// { | // { | ||||
// "amount": "10", | |||||
// "amount": "2", | |||||
// "customerCode": CustomerCode, | // "customerCode": CustomerCode, | ||||
// "isProcedureCustomer": "3", | // "isProcedureCustomer": "3", | ||||
// }, | // }, | ||||
// { | // { | ||||
// "amount": "90", | |||||
// "amount": "98", | |||||
// "customerCode": memberId, | // "customerCode": memberId, | ||||
// "isProcedureCustomer": "0", | // "isProcedureCustomer": "0", | ||||
// }, | // }, | ||||
@@ -27,6 +27,16 @@ func KsortToStr(params map[string]string) []string { | |||||
sort.Strings(keys) | sort.Strings(keys) | ||||
return keys | return keys | ||||
} | } | ||||
func KsortToStrInterface(params map[string]interface{}) []string { | |||||
keys := make([]string, len(params)) | |||||
i := 0 | |||||
for k, _ := range params { | |||||
keys[i] = k | |||||
i++ | |||||
} | |||||
sort.Strings(keys) | |||||
return keys | |||||
} | |||||
// Marshal 序列化参数 | // Marshal 序列化参数 | ||||
func GetSortJson(o interface{}) string { | func GetSortJson(o interface{}) string { | ||||
@@ -0,0 +1,41 @@ | |||||
package dataoke | |||||
import ( | |||||
zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" | |||||
"net/url" | |||||
"sort" | |||||
"strings" | |||||
) | |||||
var ( | |||||
Appkey = "5ce66ae30ff54" | |||||
Appsecret = "07350d1665e55e1950a26ebb3dde23ed" | |||||
) | |||||
// url 地址 params 参数 | |||||
func SendReq(urls string, params map[string]string) ([]byte, error) { | |||||
params["appKey"] = Appkey | |||||
params["sign"] = Sign(params, Appsecret) | |||||
var s url.URL | |||||
q := s.Query() | |||||
for k, v := range params { | |||||
q.Add(k, v) | |||||
} | |||||
urls += "?" + q.Encode() | |||||
return zhios_third_party_utils.CurlGet(urls, nil) | |||||
} | |||||
func Sign(args map[string]string, secret string) string { | |||||
var keys []string | |||||
for k := range args { | |||||
keys = append(keys, k) | |||||
} | |||||
sort.Strings(keys) | |||||
var str = "" | |||||
for _, k := range keys { | |||||
//拼接字符串 | |||||
str += k + "=" + args[k] + "&" | |||||
} | |||||
str += "key=" + secret | |||||
return strings.ToUpper(zhios_third_party_utils.Md5(str)) | |||||
} |
@@ -0,0 +1,76 @@ | |||||
package dataoke | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md" | |||||
zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" | |||||
"encoding/json" | |||||
"github.com/tidwall/gjson" | |||||
"net/url" | |||||
) | |||||
func DataokeFriendsCircleList(params map[string]string) []map[string]string { | |||||
var goods = make([]map[string]string, 0) | |||||
resp, err := SendReq("https://openapi.dataoke.com/api/goods/friends-circle-list", params) | |||||
if err != nil { | |||||
return goods | |||||
} | |||||
data := gjson.Get(string(resp), "data").String() | |||||
if data == "" { | |||||
return goods | |||||
} | |||||
var oldGoods []md.DataokeFriendCircleList | |||||
json.Unmarshal([]byte(data), &oldGoods) | |||||
for _, v := range oldGoods { | |||||
m, _ := url.QueryUnescape(v.CircleText) | |||||
pvd := md.PVD_TB | |||||
if v.ShopType == 1 { | |||||
pvd = md.PVD_TM | |||||
} | |||||
var tmp = map[string]string{ | |||||
"gid": v.GoodsID, | |||||
"title": v.Dtitle, | |||||
"img": v.MainPic, | |||||
"sales": zhios_third_party_utils.IntToStr(v.MonthSales), | |||||
"day_sales": zhios_third_party_utils.IntToStr(v.DailySales), | |||||
"price": zhios_third_party_utils.Float64ToStr(v.ActualPrice), | |||||
"cost_price": zhios_third_party_utils.Float64ToStr(v.OriginalPrice), | |||||
"coupon": zhios_third_party_utils.Float64ToStr(v.CouponPrice), | |||||
"commission_rate": zhios_third_party_utils.Float64ToStr(v.CommissionRate), | |||||
"commission": zhios_third_party_utils.Float64ToStr(v.ActualPrice * (v.CommissionRate / 100)), | |||||
"pvd": pvd, | |||||
"share_content": m, | |||||
} | |||||
goods = append(goods, tmp) | |||||
} | |||||
return goods | |||||
} | |||||
//func DataokeFriendsCircleList(params map[string]string) []map[string]string { | |||||
// var goods = make([]map[string]string, 0) | |||||
// resp, err := SendReq("https://openapi.dataoke.com/api/goods/friends-circle-list", params) | |||||
// if err != nil { | |||||
// return goods | |||||
// } | |||||
// data := gjson.Get(string(resp), "data").String() | |||||
// if data == "" { | |||||
// return goods | |||||
// } | |||||
// var oldGoods []md.HaodankuSelectedItem | |||||
// json.Unmarshal([]byte(data), &oldGoods) | |||||
// for _, v := range oldGoods { | |||||
//var tmp = map[string]string{ | |||||
// "gid": v.Itemid, | |||||
// "title": v.Title, | |||||
// "img": img, | |||||
// "sales": "", | |||||
// "price": v.Itemendprice, | |||||
// "cost_price": v.Itemprice, | |||||
// "coupon": v.Couponmoney, | |||||
// "commission_rate": v.Tkrates, | |||||
// "commission": zhios_third_party_utils.Float64ToStr(zhios_third_party_utils.StrToFloat64(v.Itemendprice) * (zhios_third_party_utils.StrToFloat64(v.Tkrates) / 100)), | |||||
// "pvd": "taobao", | |||||
// "share_content": content, | |||||
//} | |||||
//goods = append(goods, tmp) | |||||
//} | |||||
//} |
@@ -0,0 +1,77 @@ | |||||
package haodanku | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md" | |||||
zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" | |||||
"encoding/json" | |||||
"github.com/tidwall/gjson" | |||||
"strings" | |||||
) | |||||
func HaodankuFriendsCircleItems(params map[string]string) []map[string]string { | |||||
var goods = make([]map[string]string, 0) | |||||
reqNew, err := SendReqNew("http://v3.api.haodanku.com/friends_circle_items", params) | |||||
if err != nil { | |||||
return goods | |||||
} | |||||
data := gjson.Get(string(reqNew), "data").String() | |||||
if data == "" { | |||||
return goods | |||||
} | |||||
var oldGoods []md.HaodankuFriendsCircleItems | |||||
json.Unmarshal([]byte(data), &oldGoods) | |||||
for _, v := range oldGoods { | |||||
v.Comment.CopyContent = strings.ReplaceAll(v.Comment.CopyContent, "<br>", "\r\n") | |||||
var tmp = map[string]string{ | |||||
"gid": v.Items.Itemid, | |||||
"title": v.Items.Itemshorttitle, | |||||
"img": v.Items.Itempic, | |||||
"sales": "", | |||||
"price": v.Items.Itemendprice, | |||||
"cost_price": v.Items.Itemprice, | |||||
"coupon": v.Items.Couponmoney, | |||||
"commission_rate": v.Items.Tkrates, | |||||
"commission": v.Items.Tkmoney, | |||||
"pvd": "taobao", | |||||
"share_content": v.Comment.CopyContent, | |||||
} | |||||
goods = append(goods, tmp) | |||||
} | |||||
return goods | |||||
} | |||||
func HaodankuSelectedItem(params map[string]string) []map[string]string { | |||||
var goods = make([]map[string]string, 0) | |||||
reqNew, err := SendReqNew("http://v2.api.haodanku.com/selected_item", params) | |||||
if err != nil { | |||||
return goods | |||||
} | |||||
data := gjson.Get(string(reqNew), "data").String() | |||||
if data == "" { | |||||
return goods | |||||
} | |||||
var oldGoods []md.HaodankuSelectedItem | |||||
json.Unmarshal([]byte(data), &oldGoods) | |||||
for _, v := range oldGoods { | |||||
content := v.CopyContent | |||||
content = strings.ReplaceAll(content, "<br>", "\r\n") | |||||
img := "" | |||||
if len(v.Itempic) > 0 { | |||||
img = v.Itempic[0] | |||||
} | |||||
var tmp = map[string]string{ | |||||
"gid": v.Itemid, | |||||
"title": v.Title, | |||||
"img": img, | |||||
"sales": "", | |||||
"price": v.Itemendprice, | |||||
"cost_price": v.Itemprice, | |||||
"coupon": v.Couponmoney, | |||||
"commission_rate": v.Tkrates, | |||||
"commission": zhios_third_party_utils.Float64ToStr(zhios_third_party_utils.StrToFloat64(v.Itemendprice) * (zhios_third_party_utils.StrToFloat64(v.Tkrates) / 100)), | |||||
"pvd": "taobao", | |||||
"share_content": content, | |||||
} | |||||
goods = append(goods, tmp) | |||||
} | |||||
return goods | |||||
} |
@@ -0,0 +1,27 @@ | |||||
package jingtuitui | |||||
import ( | |||||
zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" | |||||
"net/url" | |||||
) | |||||
var ( | |||||
//AppId = "1905100947392483" | |||||
//AppKey = "0b01f8443a6045fec070b15ff72f2ade" | |||||
AppId = "1808101621139589" | |||||
AppKey = "4e15dd15dee97340c364ca678703e2d1" | |||||
) | |||||
// url 地址 params 参数 | |||||
func SendReq(urls string, params map[string]string) ([]byte, error) { | |||||
params["appid"] = AppId | |||||
params["appkey"] = AppKey | |||||
var s url.URL | |||||
q := s.Query() | |||||
for k, v := range params { | |||||
q.Add(k, v) | |||||
} | |||||
urls += "?" + q.Encode() | |||||
return zhios_third_party_utils.CurlGet(urls, nil) | |||||
} |
@@ -0,0 +1,39 @@ | |||||
package jingtuitui | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md" | |||||
zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" | |||||
"encoding/json" | |||||
"github.com/tidwall/gjson" | |||||
) | |||||
func JingtuituiGetCircleList(params map[string]string) []map[string]string { | |||||
var goods = make([]map[string]string, 0) | |||||
resp, err := SendReq("http://japi.jingtuitui.com/api/get_circle_list", params) | |||||
if err != nil { | |||||
return goods | |||||
} | |||||
data := gjson.Get(string(resp), "data").String() | |||||
if data == "" { | |||||
return goods | |||||
} | |||||
var oldGoods []md.JingtuituiGetCircleList | |||||
json.Unmarshal([]byte(data), &oldGoods) | |||||
for _, v := range oldGoods { | |||||
var tmp = map[string]string{ | |||||
"gid": zhios_third_party_utils.AnyToString(v.GoodsID), | |||||
"title": v.GoodsInfo.GoodsName, | |||||
"img": v.GoodsInfo.GoodsImg, | |||||
"sales": zhios_third_party_utils.IntToStr(v.GoodsInfo.InOrderCount30Days), | |||||
"price": zhios_third_party_utils.AnyToString(v.GoodsInfo.FinalPrice), | |||||
"cost_price": zhios_third_party_utils.AnyToString(v.GoodsInfo.GoodsPrice), | |||||
"coupon": zhios_third_party_utils.AnyToString(v.GoodsInfo.DiscountPrice), | |||||
"commission_rate": zhios_third_party_utils.AnyToString(v.GoodsInfo.CommissionShare), | |||||
"commission": zhios_third_party_utils.Float64ToStr(zhios_third_party_utils.AnyToFloat64(v.GoodsInfo.FinalPrice) * (zhios_third_party_utils.AnyToFloat64(v.GoodsInfo.CommissionShare) / 100)), | |||||
"pvd": md.PVD_JD, | |||||
"share_content": v.CircleContent[0], | |||||
} | |||||
goods = append(goods, tmp) | |||||
} | |||||
return goods | |||||
} |
@@ -0,0 +1,43 @@ | |||||
package md | |||||
type DataokeFriendCircleList struct { | |||||
QuanMLink int `json:"quanMLink"` | |||||
HzQuanOver int `json:"hzQuanOver"` | |||||
EstimateAmount int `json:"estimateAmount"` | |||||
CircleText string `json:"circleText"` | |||||
FreeshipRemoteDistrict int `json:"freeshipRemoteDistrict"` | |||||
ID int `json:"id"` | |||||
GoodsID string `json:"goodsId"` | |||||
Title string `json:"title"` | |||||
Dtitle string `json:"dtitle"` | |||||
OriginalPrice float64 `json:"originalPrice"` | |||||
ActualPrice float64 `json:"actualPrice"` | |||||
MonthSales int `json:"monthSales"` | |||||
TwoHoursSales int `json:"twoHoursSales"` | |||||
DailySales int `json:"dailySales"` | |||||
CommissionType int `json:"commissionType"` | |||||
Desc string `json:"desc"` | |||||
CouponReceiveNum int `json:"couponReceiveNum"` | |||||
CouponLink string `json:"couponLink"` | |||||
CouponEndTime string `json:"couponEndTime"` | |||||
CouponStartTime string `json:"couponStartTime"` | |||||
CouponPrice float64 `json:"couponPrice"` | |||||
CouponConditions string `json:"couponConditions"` | |||||
CreateTime string `json:"createTime"` | |||||
MainPic string `json:"mainPic"` | |||||
MarketingMainPic string `json:"marketingMainPic"` | |||||
Cid int `json:"cid"` | |||||
Discounts float64 `json:"discounts"` | |||||
CommissionRate float64 `json:"commissionRate"` | |||||
CouponTotalNum int `json:"couponTotalNum"` | |||||
ShopName string `json:"shopName"` | |||||
Brand int `json:"brand"` | |||||
BrandID int `json:"brandId"` | |||||
BrandName string `json:"brandName"` | |||||
ItemLink string `json:"itemLink"` | |||||
ShopType int `json:"shopType"` | |||||
Subcid []interface{} `json:"subcid"` | |||||
ShipaiPic string `json:"shipaiPic"` | |||||
ShangchaoPic string `json:"shangchaoPic"` | |||||
Tbcid int `json:"tbcid"` | |||||
} |
@@ -0,0 +1,52 @@ | |||||
package md | |||||
type HaodankuFriendsCircleItems struct { | |||||
MaterialId string `json:"material_id"` | |||||
CopyWriter string `json:"copy_writer"` | |||||
FriendsComment string `json:"friends_comment"` | |||||
Image []string `json:"image"` | |||||
Itemid string `json:"itemid"` | |||||
FirstComment string `json:"first_comment"` | |||||
ShowTime string `json:"show_time"` | |||||
Items struct { | |||||
Itemdesc string `json:"itemdesc"` | |||||
Couponmoney string `json:"couponmoney"` | |||||
Itemendprice string `json:"itemendprice"` | |||||
Itemid string `json:"itemid"` | |||||
Itempic string `json:"itempic"` | |||||
Itemprice string `json:"itemprice"` | |||||
Itemshorttitle string `json:"itemshorttitle"` | |||||
Tkmoney string `json:"tkmoney"` | |||||
Couponurl string `json:"couponurl"` | |||||
Tkrates string `json:"tkrates"` | |||||
} `json:"items"` | |||||
Comment struct { | |||||
CopyContent string `json:"copy_content"` | |||||
ShowContent string `json:"show_content"` | |||||
TklContent string `json:"tkl_content"` | |||||
} `json:"comment"` | |||||
} | |||||
type HaodankuSelectedItem struct { | |||||
EditID string `json:"edit_id"` | |||||
Itemid string `json:"itemid"` | |||||
Itempic []string `json:"itempic"` | |||||
Title string `json:"title"` | |||||
Couponurl string `json:"couponurl"` | |||||
CopyContent string `json:"copy_content"` | |||||
Comment string `json:"comment"` | |||||
AddTime string `json:"add_time"` | |||||
ShowTime string `json:"show_time"` | |||||
Itemendprice string `json:"itemendprice"` | |||||
Couponmoney string `json:"couponmoney"` | |||||
SolaImage string `json:"sola_image"` | |||||
DummyClickStatistics string `json:"dummy_click_statistics"` | |||||
Tkrates string `json:"tkrates"` | |||||
Itemprice string `json:"itemprice"` | |||||
Content string `json:"content"` | |||||
ShowContent string `json:"show_content"` | |||||
CopyComment string `json:"copy_comment"` | |||||
ShowComment string `json:"show_comment"` | |||||
Itemtitle string `json:"itemtitle"` | |||||
AdviseTime string `json:"advise_time"` | |||||
} |
@@ -0,0 +1,65 @@ | |||||
package md | |||||
type JingtuituiGetCircleList struct { | |||||
ID int `json:"id"` | |||||
JState int `json:"J_state"` | |||||
JID int `json:"JID"` | |||||
GoodsID int64 `json:"goods_id"` | |||||
ImgInfo []string `json:"img_info"` | |||||
NoShowContent string `json:"no_show_content"` | |||||
CircleContent []string `json:"circle_content"` | |||||
Time string `json:"time"` | |||||
ReleaseDate string `json:"release_date"` | |||||
GoodsLink string `json:"goods_link"` | |||||
DiscountLink string `json:"discount_link"` | |||||
GoodsInfo struct { | |||||
ShortName string `json:"short_name"` | |||||
GoodsName string `json:"goods_name"` | |||||
GoodsContent string `json:"goods_content"` | |||||
LinkContent string `json:"link_content"` | |||||
CommissionShare interface{} `json:"commissionShare"` | |||||
BrandID int `json:"brand_id"` | |||||
InOrderCount30Days int `json:"inOrderCount30Days"` | |||||
InOrderComm30Days int `json:"inOrderComm30Days"` | |||||
BrandCode int `json:"brandCode"` | |||||
BrandName string `json:"brandName"` | |||||
IsHot int `json:"isHot"` | |||||
Comments int `json:"comments"` | |||||
GoodCommentsShare int `json:"goodCommentsShare"` | |||||
GoodsPrice interface{} `json:"goods_price"` | |||||
FinalPrice interface{} `json:"final_price"` | |||||
HistoryPriceDay int `json:"historyPriceDay"` | |||||
GoodsImg string `json:"goods_img"` | |||||
ImageList string `json:"imageList"` | |||||
TodayNum int `json:"today_num"` | |||||
DiscountPrice interface{} `json:"discount_price"` | |||||
GetStartTime int64 `json:"get_start_time"` | |||||
GetEndTime int64 `json:"get_end_time"` | |||||
ShopID int `json:"shop_id"` | |||||
ShopName string `json:"shop_name"` | |||||
Score string `json:"score"` | |||||
Owner string `json:"owner"` | |||||
GoodsType int `json:"goods_type"` | |||||
GoodsSecondType int `json:"goods_second_type"` | |||||
SpuID int64 `json:"spu_id"` | |||||
Cid1 int `json:"cid1"` | |||||
Cid1Name string `json:"cid1Name"` | |||||
Cid2 int `json:"cid2"` | |||||
Cid2Name string `json:"cid2Name"` | |||||
Cid3 int `json:"cid3"` | |||||
Cid3Name string `json:"cid3Name"` | |||||
DeliveryType int `json:"deliveryType"` | |||||
JdType int `json:"jd_type"` | |||||
PingouPrice interface{} `json:"pingouPrice"` | |||||
PingouTmCount interface{} `json:"pingouTmCount"` | |||||
PingouURL interface{} `json:"pingouUrl"` | |||||
PingouStartTime interface{} `json:"pingouStartTime"` | |||||
PingouEndTime interface{} `json:"pingouEndTime"` | |||||
JdVideoList interface{} `json:"jd_videoList"` | |||||
PcWareStyle string `json:"pc_ware_style"` | |||||
DiscountCount int `json:"discount_count"` | |||||
IsFlagshipStore int `json:"is_flagship_store"` | |||||
IsGoodShop int `json:"is_good_shop"` | |||||
IsSubsidyGoods int `json:"is_subsidy_goods"` | |||||
} `json:"goods_info"` | |||||
} |
@@ -0,0 +1,7 @@ | |||||
package md | |||||
type MeituanFenXiaoGeoInfo struct { | |||||
CityId int `json:"cityId"` | |||||
Lng string `json:"lng"` | |||||
Lat string `json:"lat"` | |||||
} |
@@ -2,6 +2,7 @@ package md | |||||
const ( | const ( | ||||
PVD_TB = "taobao" | PVD_TB = "taobao" | ||||
PVD_TM = "tmall" | |||||
PVD_TIKTOK = "tikTok" | PVD_TIKTOK = "tikTok" | ||||
PVD_KUAISHOU = "kuaishou" | PVD_KUAISHOU = "kuaishou" | ||||
PVD_TIKTOKLIVE = "tikTok_live" | PVD_TIKTOKLIVE = "tikTok_live" | ||||