package shanghu import ( "duoduo/apis/common" "duoduo/apis/pdd" "duoduo/apis/shanghu/models" "duoduo/models/shanghu" "duoduo/tools" "duoduo/tools/app" "encoding/base64" "encoding/json" "fmt" "github.com/gin-gonic/gin" "strconv" ) func ClientCardList(c *gin.Context) { var inData models.ClientCardListRequest var sqlData shanghu.MerchantClientCard err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } var pageSize = 10 var pageIndex = 1 if inData.PageSize != 0 { pageSize = inData.PageSize } if inData.PageIndex != 0 { pageIndex = inData.PageIndex } fmt.Println(inData.OpenId) sqlData.OpenID = inData.OpenId merchantCard, count, err := sqlData.GetOpenIdList(pageSize, pageIndex, inData.TypeList) if err != nil { app.Error(c, 500, err, err.Error()) return } app.PageOK(c, merchantCard, count, pageIndex, pageSize, app.Success) } func GetClientCard(c *gin.Context) { var inData models.ClientCardRequest var sqlData shanghu.MerchantClientCard err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } sqlData.ID = inData.ClientCardId clientCard, err := sqlData.GetMerchantCard() if err != nil { app.Error(c, 500, err, err.Error()) return } app.OK(c, clientCard, app.Success) } func GetClientCardQR(c *gin.Context) { var inData models.ClientCardQRRequest var sqlData shanghu.MerchantClientCard var outData models.ClientCardQRReply var qr models.QRRequest var getQR models.GetQRRequest err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } sqlData.ID = inData.MerchantCardId val, err := pdd.DuoDuoGet("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx25357518f710b8ce&secret=83c7dca801a6c93fbfac3c91f57a4eb2") if err != nil { app.Error(c, 500, err, err.Error()) return } err = tools.JsonUnmarshal(val, &outData) if err != nil { app.Error(c, 500, err, err.Error()) return } if outData.AccessToken == "" { app.Error(c, 500, err, "token error") return } url := "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + outData.AccessToken qr.CheckPath = true qr.Page = "pages/home/home" qr.EnvVersion = "release" qr.Scene = strconv.FormatInt(inData.MerchantCardId, 10) data, err := json.Marshal(&qr) if err != nil { app.Error(c, 500, err, err.Error()) return } reply, err := common.Post(data, url) if err != nil { app.Error(c, 500, err, err.Error()) return } //err = json.Unmarshal(reply, &getQR) //if err != nil { // app.Error(c, 500, err, err.Error()) // return //} if getQR.Errcode != 0 { app.Error(c, 500, err, getQR.Errmsg) return } //fmt.Println(string(reply)) encoded := base64.StdEncoding.EncodeToString(reply) app.OK(c, encoded, app.Success) }