| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | package petsLyimport (	"context"	"duoduo/conf"	"duoduo/models/mysqlLy"	"duoduo/models/petsLy"	"duoduo/tools"	"duoduo/tools/app"	"encoding/json"	"fmt"	"github.com/gin-gonic/gin"	"github.com/qiniu/go-sdk/v7/auth/qbox"	"github.com/qiniu/go-sdk/v7/storage"	"time")func PetsCreate(c *gin.Context) {	var inData petsLy.PetsCreateRequest	var pets mysqlLy.Pets	var user mysqlLy.User	err := c.ShouldBindJSON(&inData)	if err != nil {		app.Error(c, 400, err, err.Error())		return	}	confIni, err := conf.ConnIni()	if err != nil {		app.Error(c, 400, err, err.Error())		return	}	fmt.Println("%+v", inData)	//校验	user.OpenID = inData.OpenId	userInfo, err := user.Get()	if err != nil {		app.Error(c, 500, err, "用户信息错误")		return	}	var pictures []string	for i := 0; i < len(inData.Pictures); i++ {		//fmt.Println(inData.Pictures[i])		//上传图片		timeUnixNano := time.Now().UnixNano() //单位纳秒		fileName := fmt.Sprintf("%d.jpg", timeUnixNano)		//七牛云上传图片		bucket := "imgxx"		key := "lingyang/" + inData.OpenId + "/" + 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(inData.Pictures[i]), nil)		if err != nil {			app.Error(c, 500, err, "上传图片失败")			return		}		pictures = append(pictures, "http://lingyang.shisanmiao.com/"+key)	}	pets.UpdateTime = time.Now().Local()	pets.CreateTime = time.Now().Local()	pets.Name = inData.Name	pets.Sex = inData.Sex	pets.Status = 1 //待领养	pets.UserID = userInfo.ID	pets.Amount = inData.Amount	pets.AdoptInfo = inData.AdoptInfo	pets.Age = inData.Age	pets.Area = inData.Area	pets.City = inData.City	pets.Deposit = inData.Deposit	pets.OpenId = inData.OpenId	if inData.IsFee == 2 {		pets.DepositDate, err = tools.GetStringToTime(inData.DepositDate)		if err != nil {			app.Error(c, 500, err, "")			return		}	}	pets.IsExpellingParasite = inData.IsExpellingParasite	pets.IsFee = inData.IsFee	pets.IsImmune = inData.IsImmune	pets.IsSterilization = inData.IsSterilization	pets.Pet = inData.Pet	pets.PetDes = inData.PetDes	pets.PetInfo = inData.PetInfo	pets.PetStatus = inData.PetStatus	jsonData, err := json.Marshal(pictures)	if err != nil {		app.Error(c, 500, err, "")		return	}	pets.Pictures = string(jsonData)	pets.Province = inData.Province	_, err = pets.Create()	if err != nil {		app.Error(c, 500, err, "插入数据失败")		return	}	app.OK(c, nil, app.Success)}
 |