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.GenerateAuthorityUrl = "true" 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 = "sign" pddInData.GenerateWeApp = inData.GenerateWeApp fmt.Print("indata = ", inData) 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) }