|
@@ -1 +1,132 @@
|
|
|
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/index/index"
|
|
|
+ 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)
|
|
|
+
|
|
|
+}
|