|
@@ -1,10 +1,13 @@
|
|
|
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"
|
|
@@ -131,6 +134,214 @@ func GetMerchantCard(c *gin.Context) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+func GetMerchantCanvasCard(c *gin.Context) {
|
|
|
+ var inData models.GetMerchantCardRequest
|
|
|
+ var outData models.GetMerchantCanvasCardReply
|
|
|
+ var sqlData shanghu.MerchantCard
|
|
|
+ var project []int64
|
|
|
+ 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.MerchantId
|
|
|
+
|
|
|
+ merchantCard, err := sqlData.GetMerchantCard()
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ outData.Static.Background = "/images/背景.jpg"
|
|
|
+ var swiperList []models.SwiperList
|
|
|
+ var rightButton models.RightButton
|
|
|
+ var swiper models.SwiperList
|
|
|
+
|
|
|
+ swiper.ID = 0
|
|
|
+ swiper.URL = merchantCard.Picture
|
|
|
+ swiperList = append(swiperList, swiper)
|
|
|
+ //err = json.Unmarshal([]byte(merchantCard.Picture), &swiperList)
|
|
|
+ //if err != nil {
|
|
|
+ // fmt.Println("picture")
|
|
|
+ // app.Error(c, 500, err, err.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
+ outData.Inventory = merchantCard.Inventory
|
|
|
+ outData.SwiperList = swiperList
|
|
|
+
|
|
|
+ rightButton.ImageURL = "/images/资源 24.png"
|
|
|
+ outData.RightButton = append(outData.RightButton, rightButton)
|
|
|
+ rightButton.ImageURL = "/images/资源 25.png"
|
|
|
+ outData.RightButton = append(outData.RightButton, rightButton)
|
|
|
+ rightButton.ImageURL = "/images/资源 26.png"
|
|
|
+ outData.RightButton = append(outData.RightButton, rightButton)
|
|
|
+ rightButton.ImageURL = "/images/资源 28.png"
|
|
|
+ outData.RightButton = append(outData.RightButton, rightButton)
|
|
|
+
|
|
|
+ var dataList models.DataList
|
|
|
+
|
|
|
+ err = json.Unmarshal([]byte(merchantCard.CardProjectData), &project)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("picture2")
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //merchantCard.CardProjectData = ""
|
|
|
+ for i := 0; i < len(project); i++ {
|
|
|
+ var cardProject shanghu.MerchantCardProject
|
|
|
+ cardProject.ID = project[i]
|
|
|
+ projectInfo, err := cardProject.GetMerchantCardProject()
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ dataList.Name = projectInfo.ProjectName
|
|
|
+ dataList.Count = 1
|
|
|
+ dataList.Price = projectInfo.ProjectUnitPrice
|
|
|
+ outData.DataList = append(outData.DataList, dataList)
|
|
|
+ }
|
|
|
+ var buy models.BuyKnowList
|
|
|
+
|
|
|
+ buy.Icon = "/images/资源 46.png"
|
|
|
+ buy.Title = "有效期"
|
|
|
+ buy.Text = "至" + tools.TimeToStr(merchantCard.MerchantCardTime)
|
|
|
+ outData.BuyKnowList = append(outData.BuyKnowList, buy)
|
|
|
+ buy.Icon = "/images/资源 48.png"
|
|
|
+ buy.Title = "限购数量"
|
|
|
+ buy.Text = "每位用户限购1张"
|
|
|
+ outData.BuyKnowList = append(outData.BuyKnowList, buy)
|
|
|
+ buy.Icon = "/images/资源 49.png"
|
|
|
+ buy.Title = "使用规则"
|
|
|
+ buy.Text = merchantCard.UseRule
|
|
|
+ outData.BuyKnowList = append(outData.BuyKnowList, buy)
|
|
|
+
|
|
|
+ var shopData models.ShopData
|
|
|
+ var merchant shanghu.Merchant
|
|
|
+ merchant.OpenId = merchantCard.MerchantOpenID
|
|
|
+ merchantInfo, err := merchant.GetMerchant()
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ shopData.Name = merchantInfo.MerchantName
|
|
|
+ shopData.Address = merchantInfo.Address
|
|
|
+ outData.ShopData = shopData
|
|
|
+
|
|
|
+ outData.FenxiangShow = false
|
|
|
+
|
|
|
+ outData.MerchantAmount, err = decimal.NewFromString(merchantCard.CardPrice)
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ outData.MerchantOriginalAmount = outData.MerchantAmount.Add(decimal.NewFromInt(50))
|
|
|
+
|
|
|
+ var outQRData models.ClientCardQRReply
|
|
|
+
|
|
|
+ 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, &outQRData)
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if outQRData.AccessToken == "" {
|
|
|
+ app.Error(c, 500, err, "token error")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ url := "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + outQRData.AccessToken
|
|
|
+
|
|
|
+ //1.原始码 不需要购买直接分享 ==原生码直接分享
|
|
|
+ //2.code 本人openid 需要购买才能分享
|
|
|
+ //3.空的 官方邀请码
|
|
|
+
|
|
|
+ //返回邀请码
|
|
|
+
|
|
|
+ if inData.Code == "yuanshima" { //可以分享
|
|
|
+ outData.IsShare = true
|
|
|
+ outData.InvitationCode = "7jb6"
|
|
|
+ } else { //查询购买记录,没有购买过不让分享
|
|
|
+ var payTrans shanghu.ClientPayTrans
|
|
|
+ var userInfo shanghu.MerchantClientUser
|
|
|
+
|
|
|
+ payTrans.MerchantCardID = inData.MerchantId
|
|
|
+ payTrans.ClientOpenID = inData.Code
|
|
|
+ payInfo, _ := payTrans.GetPayTransByOpenid()
|
|
|
+ if payInfo.ID <= 0 {
|
|
|
+ outData.IsShare = false
|
|
|
+ } else {
|
|
|
+ outData.IsShare = true
|
|
|
+ }
|
|
|
+
|
|
|
+ userInfo.ClientOpenID = inData.Code
|
|
|
+ userInfoReply, _ := userInfo.GetUserInfo()
|
|
|
+
|
|
|
+ outData.InvitationCode = userInfoReply.Code
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //点击购买的时候把code给进去把 原始码购买属于平台
|
|
|
+
|
|
|
+ qr.CheckPath = true
|
|
|
+ qr.Page = "pages/home/home"
|
|
|
+ qr.EnvVersion = "release"
|
|
|
+ qr.Scene = "id-" + strconv.FormatInt(inData.MerchantId, 10) + "-c-" + outData.InvitationCode
|
|
|
+
|
|
|
+ fmt.Println(qr.Scene)
|
|
|
+ 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
|
|
|
+ }
|
|
|
+
|
|
|
+ if getQR.Errcode != 0 {
|
|
|
+ app.Error(c, 500, err, getQR.Errmsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ encoded := base64.StdEncoding.EncodeToString(reply)
|
|
|
+
|
|
|
+ outData.Base64Img = encoded
|
|
|
+
|
|
|
+ //err = json.Unmarshal([]byte(merchantCard.CardProjectData), &project)
|
|
|
+ //if err != nil {
|
|
|
+ // app.Error(c, 500, err, err.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //merchantCard.CardProjectData = ""
|
|
|
+ //for i := 0; i < len(project); i++ {
|
|
|
+ // var cardProject shanghu.MerchantCardProject
|
|
|
+ // cardProject.ID = project[i]
|
|
|
+ // projectInfo, err := cardProject.GetMerchantCardProject()
|
|
|
+ // if err != nil {
|
|
|
+ // app.Error(c, 500, err, err.Error())
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // merchantCard.CardProjectData = merchantCard.CardProjectData + projectInfo.ProjectName + "x1 "
|
|
|
+ //}
|
|
|
+
|
|
|
+ app.OK(c, outData, app.Success)
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
func MerchantCardList(c *gin.Context) {
|
|
|
var inData models.MerchantCardListRequest
|
|
|
var sqlData shanghu.MerchantCard
|