123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- 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)
- }
|