|
@@ -0,0 +1,83 @@
|
|
|
+package pdd
|
|
|
+
|
|
|
+import (
|
|
|
+ "duoduo/conf"
|
|
|
+ "duoduo/models/pdd"
|
|
|
+ "duoduo/tools"
|
|
|
+ "duoduo/tools/app"
|
|
|
+ "fmt"
|
|
|
+ "github.com/gin-gonic/gin"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+func PddDdkGoodsPromotionUrlGenerate(c *gin.Context) {
|
|
|
+ var inData pdd.WxDdkGoodsPromotionUrlGenerateRequest
|
|
|
+ var pddInData pdd.PddDdkGoodsPromotionUrlGenerateRequest
|
|
|
+ var outData pdd.PddDdkGoodsPromotionUrlGenerateResponse
|
|
|
+ var pddErr pdd.ErrorPddResponse
|
|
|
+
|
|
|
+ confIni, err := conf.ConnIni()
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 400, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ err = c.ShouldBindJSON(&inData)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Print("err = ", err.Error())
|
|
|
+ app.Error(c, 400, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ pddInData.ClientId = confIni.MustValue("pdd", "client_id")
|
|
|
+ pddInData.Type = "pdd.ddk.goods.promotion.url.generate"
|
|
|
+ pddInData.Timestamp = fmt.Sprintf("%d", time.Now().Unix())
|
|
|
+ pddInData.DataType = "JSON"
|
|
|
+ pddInData.GoodsSignList = "["
|
|
|
+ for i := 0; i < len(inData.GoodsSignList); i++ {
|
|
|
+ if i == (len(inData.GoodsSignList) - 1) {
|
|
|
+ pddInData.GoodsSignList = pddInData.GoodsSignList + "\"" + inData.GoodsSignList[i] + "\""
|
|
|
+ } else {
|
|
|
+ pddInData.GoodsSignList = pddInData.GoodsSignList + "\"" + inData.GoodsSignList[i] + "\","
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ pddInData.GoodsSignList += "]"
|
|
|
+ pddInData.PId = inData.PId
|
|
|
+ pddInData.SearchId = inData.SearchId
|
|
|
+ pddInData.Sign = ""
|
|
|
+
|
|
|
+ fmt.Print("pddInData = ", pddInData)
|
|
|
+
|
|
|
+ sign, err := DDKSign(pddInData)
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 400, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ pddInData.Sign = sign
|
|
|
+ val, err := PostDDk(pddInData, nil)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 400, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ err = tools.JsonUnmarshal(val, &pddErr)
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if pddErr.ErrorResponse.ErrorCode != 0 {
|
|
|
+ app.Error(c, 500, err, pddErr.ErrorResponse.ErrorMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ err = tools.JsonUnmarshal(val, &outData)
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ app.OK(c, outData, app.Success)
|
|
|
+}
|