Browse Source

Merge branch 'develop' of k.zhang/duoduo into test

k.zhang 1 year ago
parent
commit
6d2af87a9c
2 changed files with 52 additions and 1 deletions
  1. 51 1
      apis/shanghu/merchant.card.go
  2. 1 0
      apis/shanghu/models/card.go

+ 51 - 1
apis/shanghu/merchant.card.go

@@ -1,9 +1,11 @@
 package shanghu
 
 import (
+	"context"
 	"duoduo/apis/common"
 	"duoduo/apis/pdd"
 	"duoduo/apis/shanghu/models"
+	"duoduo/conf"
 	"duoduo/models/shanghu"
 	"duoduo/tools"
 	"duoduo/tools/app"
@@ -12,6 +14,8 @@ import (
 	"errors"
 	"fmt"
 	"github.com/gin-gonic/gin"
+	"github.com/qiniu/go-sdk/v7/auth/qbox"
+	"github.com/qiniu/go-sdk/v7/storage"
 	"github.com/shopspring/decimal"
 	"strconv"
 	"time"
@@ -152,7 +156,13 @@ func GetMerchantCanvasCard(c *gin.Context) {
 	var qr models.QRRequest
 	var getQR models.GetQRRequest
 
-	err := c.ShouldBindJSON(&inData)
+	confIni, err := conf.ConnIni()
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+
+	err = c.ShouldBindJSON(&inData)
 	if err != nil {
 		app.Error(c, 400, err, err.Error())
 		return
@@ -330,6 +340,46 @@ func GetMerchantCanvasCard(c *gin.Context) {
 
 	outData.Base64Img = encoded
 
+	//上传二维码文件
+	timeUnixNano := time.Now().UnixNano() //单位纳秒
+	fileName := fmt.Sprintf("%d.jpg", timeUnixNano)
+
+	//七牛云上传图片
+	bucket := "imgxx"
+	key := "shanghuka/" + "erweima/" + time.Now().Format(time.DateOnly) + "/" + fileName
+
+	putPolicy := storage.PutPolicy{
+		Scope: bucket,
+	}
+
+	mac := qbox.NewMac(confIni.MustValue("ly-qn", "access_key"), confIni.MustValue("ly-qn", "secret_key"))
+	upToken := putPolicy.UploadToken(mac)
+
+	cfg := storage.Config{}
+	// 空间对应的机房
+	cfg.Zone = &storage.ZoneHuanan
+	// 是否使用https域名
+	cfg.UseHTTPS = false
+	// 上传是否使用CDN上传加速
+	cfg.UseCdnDomains = false
+
+	// 构建表单上传的对象
+	baseUploader := storage.NewBase64Uploader(&cfg)
+	ret := storage.PutRet{}
+	//data, err := base64.RawStdEncoding.DecodeString(inData.Pictures[i])
+	//if err != nil {
+	//	app.Error(c, 500, err, "上传图片失败")
+	//	return
+	//}
+
+	err = baseUploader.Put(context.Background(), &ret, upToken, key, []byte(encoded), nil)
+	if err != nil {
+		app.Error(c, 500, err, "上传图片失败")
+		return
+	}
+
+	outData.QRUrl = "http://lingyang.shisanmiao.com/" + key
+
 	//err = json.Unmarshal([]byte(merchantCard.CardProjectData), &project)
 	//if err != nil {
 	//	app.Error(c, 500, err, err.Error())

+ 1 - 0
apis/shanghu/models/card.go

@@ -63,6 +63,7 @@ type GetMerchantCanvasCardReply struct {
 	Inventory              int64           `json:"inventory"`
 	IsShare                bool            `json:"isShare"`
 	InvitationCode         string          `json:"invitationCode"`
+	QRUrl                  string          `json:"qrUrl"`
 }
 type Static struct {
 	Background string `json:"background"`