mh_server/controller/game_card.go

700 lines
18 KiB
Go
Raw Normal View History

2021-06-30 02:12:05 +00:00
package controller
import (
"crypto/md5"
"encoding/json"
"encoding/xml"
2022-01-29 02:21:38 +00:00
"errors"
2021-06-30 02:12:05 +00:00
"fmt"
"github.com/codinl/go-logger"
"github.com/gin-gonic/gin"
"github.com/rs/zerolog/log"
2021-11-01 03:32:23 +00:00
"io/ioutil"
2021-06-30 02:12:05 +00:00
"mh-server/config"
aliyun "mh-server/lib/ali"
"mh-server/lib/auth"
"mh-server/lib/status"
"mh-server/lib/wxpay"
"mh-server/model"
"sort"
"strings"
"time"
)
func GameCardList(c *gin.Context) {
req := struct {
2021-11-01 03:32:23 +00:00
Page int `json:"cur_page"`
2021-06-30 02:12:05 +00:00
PageSize int `json:"page_size"`
SortType int `json:"sort_type"` // 排序类型 1-默认 2-新品 3-销量 4-价格 大到小 5-价格 小到大
GameTypeIds []uint64 `json:"game_type_id"` // 游戏类型id
2021-11-01 03:32:23 +00:00
StoreId uint32 `json:"store_id"`
2021-06-30 02:12:05 +00:00
}{
Page: 1,
PageSize: 10,
}
if c.ShouldBindJSON(&req) != nil {
RespJson(c, status.BadRequest, nil)
return
}
fmt.Println("游戏类型:GameTypeIds:", req.GameTypeIds)
2021-11-01 03:32:23 +00:00
cardList, totalPage, err := model.GetGameCardList(req.SortType, req.Page, req.PageSize, req.GameTypeIds, req.StoreId)
2021-06-30 02:12:05 +00:00
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
ret := map[string]interface{}{
"card_list": cardList,
"cur_page": req.Page,
"total_page": totalPage,
}
RespOK(c, ret)
}
func GameCardInfo(c *gin.Context) {
req := struct {
GameId uint64 `json:"game_id"`
}{}
if c.ShouldBindJSON(&req) != nil {
RespJson(c, status.BadRequest, nil)
return
}
uc := auth.GetCurrentUser(c)
if uc == nil {
RespJson(c, status.Unauthorized, nil)
return
}
2021-11-01 03:32:23 +00:00
go model.HistoryBrowsingAdd(uint64(uc.Uid), req.GameId)
2021-06-30 02:12:05 +00:00
info, err := model.GetGameCardInfo(req.GameId)
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
userCollection := model.GameCardUserCollection(uint64(uc.Uid), req.GameId)
ret := map[string]interface{}{
"card_info": info,
"is_collection": userCollection,
}
RespOK(c, ret)
}
func GameCardSearch(c *gin.Context) {
req := struct {
Page int `json:"page"`
PageSize int `json:"page_size"`
Name string `json:"name"` // 搜索
2021-11-01 03:32:23 +00:00
StoreId uint32 `json:"store_id"`
2021-06-30 02:12:05 +00:00
}{
Page: 1,
PageSize: 10,
}
if c.ShouldBindJSON(&req) != nil {
RespJson(c, status.BadRequest, nil)
return
}
uc := auth.GetCurrentUser(c)
if uc == nil {
RespJson(c, status.Unauthorized, nil)
return
}
2021-12-25 08:38:30 +00:00
cardList, totalPage, err := model.GetGameCardSearch(req.Name, req.Page, req.PageSize, req.StoreId)
2021-06-30 02:12:05 +00:00
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
err = model.SearchHistoryAdd(uc.Uid, req.Name)
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
ret := map[string]interface{}{
"card_list": cardList,
"cur_page": req.Page,
"total_page": totalPage,
}
RespOK(c, ret)
}
func GameCardSearchHistory(c *gin.Context) {
uc := auth.GetCurrentUser(c)
if uc == nil {
RespJson(c, status.Unauthorized, nil)
return
}
historyList, err := model.GetSearchHistoryList(uc.Uid)
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
RespOK(c, historyList)
}
func GameCardHotSearch(c *gin.Context) {
searchList, err := model.HotSearchList()
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
RespOK(c, searchList)
}
func HomeCarouselList(c *gin.Context) {
carouselList, err := model.GetHomeCarouselList()
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
RespOK(c, carouselList)
}
func GameCardTypeList(c *gin.Context) {
gameTypes, err := model.GetGameCardTypeList()
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
RespOK(c, gameTypes)
return
}
func GameCardTypes(c *gin.Context) {
req := struct {
GameId uint64 `json:"game_id"`
}{}
if c.ShouldBindJSON(&req) != nil {
RespJson(c, status.BadRequest, nil)
return
}
gameCard := model.GameCard{}
gameCard.ID = uint32(req.GameId)
gameTypes, err := gameCard.GetGameType()
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
RespOK(c, gameTypes)
return
}
type (
PushTemplateMessageTarget struct {
Uid uint32 `json:"uid"`
WxName string `json:"wx_name"`
WxOpenID string `json:"wx_open_id"`
FormIdID uint32 `json:"form_id_id"`
FormId string `json:"form_id"`
}
WXPayNoticeResp struct {
XMLName xml.Name `xml:"xml"`
ReturnCode string `xml:"return_code" json:"return_code"`
}
)
const (
PRIZE_WX_PAY_TYPE = "pwxpt"
FB_WX_PAY_TYPE = "fbwxpt"
)
// 0 元购 微信推送支付通知
func PushWXPayNotice(c *gin.Context) {
fmt.Println("微信推送支付通知")
body, err := ioutil.ReadAll(c.Request.Body)
if err != nil {
logger.Error(err)
}
logger.Error("xml Request.Body1:", string(body))
var notify wxpay.WechatNotifyInfo
//if err := c.ShouldBindXML(&notify); err != nil {
// logger.Error(err)
// RespBodyXML(c, map[string]string{
// "return_code": "FAIL",
// })
// return
//}
err = xml.Unmarshal(body, &notify)
if err != nil {
logger.Error(err)
}
ret := WXPayNoticeResp{
ReturnCode: "FAIL",
}
correctSign, err := PayCallBackHandle(notify, config.AppConfig.WxMchSecret)
if err != nil {
logger.Error("PushWXPayNotice sign create fail")
RespBodyXML(c, ret)
return
}
if notify.Sign != correctSign {
logger.Error("PushWXPayNotice sign verification fail")
RespBodyXML(c, ret)
return
}
if notify.Attach == wxpay.WxPayRentCard {
logger.Info("租借游戏卡 支付成功:")
2022-01-26 08:02:21 +00:00
var order model.Order
2022-02-26 06:29:39 +00:00
err := model.NewOrderQuerySet(model.DB).OrderSnEq(notify.OutTradeNo).PayStatusEq(PayStatusUnPay).CardStatusNe(OrderCardStatusCancel).One(&order)
2022-01-26 08:02:21 +00:00
if err != nil {
logger.Error("err:", err)
return
}
2022-01-27 14:24:29 +00:00
//orderJson, _ := json.Marshal(&order)
//fmt.Println("orderJson:", string(orderJson))
2021-11-01 03:32:23 +00:00
2022-01-26 08:02:21 +00:00
begin := model.DB.Begin()
err = model.NewOrderQuerySet(begin).IDEq(order.ID).GetUpdater().
2021-11-01 03:32:23 +00:00
SetPayStatus(model.PayStatusPaid).SetPayTime(time.Now()).Update()
2021-06-30 02:12:05 +00:00
if err != nil {
2022-01-26 08:02:21 +00:00
begin.Rollback()
2021-06-30 02:12:05 +00:00
logger.Error("err:", err)
2022-01-26 08:02:21 +00:00
return
2021-06-30 02:12:05 +00:00
}
2022-01-26 08:02:21 +00:00
//model.OrderCard{}
_, err = model.NewOrderCardQuerySet(begin).OrderIdEq(order.ID).GetUpdater().
SetPayStatus(model.PayStatusPaid).UpdateNum()
if err != nil {
begin.Rollback()
2021-06-30 02:12:05 +00:00
logger.Error("err:", err)
2022-01-26 08:02:21 +00:00
return
}
err = order.InventoryReduction(begin)
if err != nil {
begin.Rollback()
logger.Error("err:", err)
2022-01-29 02:21:38 +00:00
// 库存不足取消订单
orderSn := model.GetOrderSn()
err = model.UserOpenMemberRecord{Uid: uint32(order.Uid), OpenNo: orderSn, OrderId: order.ID, OrderType: 2}.Insert()
if err != nil {
logger.Error(errors.New("WebPay err"))
//RespJson(c, status.InternalServerError, nil)
return
}
2021-06-30 02:12:05 +00:00
2022-01-29 02:21:38 +00:00
orderRefund := wxpay.OrderRefund{
//OutTradeNo: outTradeNo,
OutTradeNo: notify.OutTradeNo,
OutRefundNo: orderSn,
NotifyUrl: "",
Amount: wxpay.OrderRefundAmount{
Refund: order.PayPrice,
Total: order.PayPrice,
Currency: "CNY",
},
}
bytes, _ := json.Marshal(order)
fmt.Println("订单取消:", string(bytes))
orderRefundJson, _ := json.Marshal(&orderRefund)
fmt.Println("订单取消 orderRefundJson:", string(orderRefundJson))
//err = wxpay.WxPayOrderRefund(orderRefund)
err = wxpay.TransactionOrderRefund(orderRefund)
if err != nil {
logger.Error("err:", err)
//RespJson(c, status.InternalServerError, nil)
return
}
_, err := model.NewOrderQuerySet(model.DB).IDEq(order.ID).GetUpdater().SetCardStatus(OrderCardStatusCancel).UpdateNum()
if err != nil {
logger.Error("err:", err)
return
}
_, err = model.NewOrderCardQuerySet(model.DB).OrderIdEq(order.ID).GetUpdater().SetCardStatus(OrderCardStatusCancel).UpdateNum()
if err != nil {
logger.Error("err:", err)
return
}
2022-01-26 08:02:21 +00:00
return
}
err = begin.Commit().Error
if err != nil {
begin.Rollback()
logger.Error("err:", err)
return
}
2022-02-26 06:29:39 +00:00
go model.ShoppingCartCreateOrderByOrder(order)
2022-01-27 14:24:29 +00:00
//count, err := model.NewOrderQuerySet(model.DB).UidEq(order.Uid).IDEq(order.ID).Count()
//if err != nil {
// logger.Error("err:", err)
// return
//}
2021-06-30 02:12:05 +00:00
2022-01-27 14:24:29 +00:00
//go model.OrderCardUserRentCard(uint32(order.Uid), uint32(count), nil)
2021-06-30 02:12:05 +00:00
} else if notify.Attach == wxpay.WxPayMember {
logger.Info("开通会员 支付成功:")
logger.Info("用户uid:", notify.OutTradeNo)
//uid, err := strconv.Atoi(notify.OutTradeNo)
//if err != nil {
// logger.Error("err:", err)
// return
//}
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
err := record.GetByOpenNo()
if err != nil {
logger.Error("err:", err)
}
var user model.User
err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user)
if err != nil {
logger.Error("err:", err)
} else {
2021-12-25 08:38:30 +00:00
//expireTime := user.MemberExpire.AddDate(1, 0, 0)
//if user.MemberLevel == 1 {
// expireTime = time.Now().AddDate(1, 0, 0)
//}
expireTime := time.Now().AddDate(1, 0, 0)
if user.MemberExpire.After(time.Now()) {
expireTime = user.MemberExpire.AddDate(1, 0, 0)
2021-06-30 02:12:05 +00:00
}
2022-01-16 08:56:20 +00:00
//configInfo, err := model.PayConfigInfo()
//if err != nil {
// logger.Error("err:", err)
// return
//}
memberConfig, err := model.GetMemberConfig(record.MemberLevel)
2021-06-30 02:12:05 +00:00
if err != nil {
2022-01-16 08:56:20 +00:00
logger.Error("GetMemberConfig err:", err)
2021-12-25 08:38:30 +00:00
return
2021-06-30 02:12:05 +00:00
}
2022-01-27 14:24:29 +00:00
openMemberTime := time.Now()
if !user.OpenMemberTime.IsZero() {
openMemberTime = user.OpenMemberTime
}
_, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).SetMemberExpire(expireTime).
SetDeposit(memberConfig.MemberDeposit).SetOpenMemberTime(openMemberTime).UpdateNum()
//err = model.UserUpdate(&model.User{Uid: uint32(record.Uid), MemberLevel: record.MemberLevel, MemberExpire: expireTime, Deposit: memberConfig.MemberDeposit})
2021-11-01 03:32:23 +00:00
if err != nil {
logger.Error("err:", err)
2022-01-27 14:24:29 +00:00
return
2021-12-25 08:38:30 +00:00
}
var invite model.UserInvite
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).One(&invite)
if err != nil && err != model.RecordNotFound {
logger.Error("err:", err)
2021-11-01 03:32:23 +00:00
} else {
2021-12-25 08:38:30 +00:00
if err == model.RecordNotFound {
2021-11-01 03:32:23 +00:00
userInvite := &model.UserInvite{
FromUid: 0,
UserType: 0,
StoreId: 0,
MemberOpenTime: time.Now(),
MemberType: 2,
ToUid: record.Uid,
MemberStatus: 2,
2022-01-16 08:56:20 +00:00
MemberLevel: record.MemberLevel,
2021-11-01 03:32:23 +00:00
}
err := userInvite.Create(model.DB)
if err != nil {
logger.Error("err:", err)
}
2022-03-14 06:57:34 +00:00
err = model.SendUserVm(record.Uid, record.MemberLevel, 100)
if err != nil {
logger.Error("send user vm err:", err)
}
2021-11-01 03:32:23 +00:00
} else {
2021-12-25 08:38:30 +00:00
qs := model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).GetUpdater()
if user.MemberLevel != 2 {
2022-01-16 08:56:20 +00:00
qs = qs.SetMemberOpenTime(time.Now()).SetMemberLevel(record.MemberLevel)
2021-12-25 08:38:30 +00:00
}
num, err := qs.SetMemberType(2).SetMemberStatus(2).UpdateNum()
2021-11-01 03:32:23 +00:00
if err != nil {
logger.Error("err:", err)
}
if num == 0 {
logger.Error("更新错误")
}
2021-12-25 08:38:30 +00:00
if invite.FromUid != 0 {
inviteUser := model.GetUserByUid(invite.FromUid)
2022-03-14 06:57:34 +00:00
if inviteUser.UserType != 2 /*不是店员*/ && user.MemberLevel != 2 { // 邀请 新用户推送一次
2022-03-20 11:43:05 +00:00
//err := model.CodeSendToUser(invite.FromUid, model.CodeTypeMemberCard30, model.RedeemCodeActivityTypeUserInvite)
//if err != nil {
// logger.Error("err:", err)
//}
2022-03-14 06:57:34 +00:00
err = model.SendUserVm(inviteUser.Uid, record.MemberLevel, 1)
if err != nil {
logger.Error("send user vm err:", err)
}
}
err = model.SendUserVm(user.Uid, record.MemberLevel, 0)
if err != nil {
logger.Error("send user vm err:", err)
2021-12-25 08:38:30 +00:00
}
}
2021-11-01 03:32:23 +00:00
}
}
2022-01-15 13:10:00 +00:00
if user.MemberLevel != 2 {
2022-03-20 11:43:05 +00:00
//err = model.CodeSendToUser(user.Uid, model.CodeTypeMemberCard30, model.RedeemCodeActivityTypeStore)
//if err != nil {
// logger.Error("code send to user err:", err)
//}
2022-01-15 13:10:00 +00:00
}
2022-03-14 06:57:34 +00:00
model.CreateUserRentCardByMemberLevel(record.Uid, record.MemberLevel, memberConfig.CardMax)
2022-02-26 06:29:39 +00:00
2021-06-30 02:12:05 +00:00
}
fmt.Println("notify.TotalFee:", notify.TotalFee)
fmt.Println("notify.OutTradeNo:", notify.OutTradeNo)
2021-12-25 08:38:30 +00:00
} else if notify.Attach == wxpay.WxPayDeposit {
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
err := record.GetByOpenNo()
if err != nil {
logger.Error("err:", err)
2022-01-26 08:02:21 +00:00
return
2021-12-25 08:38:30 +00:00
}
2022-01-26 08:02:21 +00:00
//configInfo, err := model.PayConfigInfo()
//if err != nil {
// logger.Error("err:", err)
// return
//}
user := model.GetUserByUid(record.Uid)
if user == nil {
logger.Error("user nil")
return
}
memberConfig, err := model.GetMemberConfig(user.MemberLevel)
2021-12-25 08:38:30 +00:00
if err != nil {
logger.Error("err:", err)
return
}
2022-01-26 08:02:21 +00:00
num, err := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetDeposit(memberConfig.MemberDeposit).UpdateNum()
2021-12-25 08:38:30 +00:00
if err != nil {
logger.Error("update deposit err:", err)
}
if num == 0 {
logger.Error("update deposit num is 0")
}
2022-03-07 06:14:05 +00:00
} else if notify.Attach == wxpay.WxPayExchangeGoods {
_, err := model.NewGoodsOrderQuerySet(model.DB).SerialNoEq(notify.OutTradeNo).GetUpdater().
SetPayTime(time.Now()).
SetPayStatus(model.PayStatusOK).UpdateNum()
if err != nil {
logger.Error("err:", err)
}
var goodsOrder model.GoodsOrder
err = model.NewGoodsOrderQuerySet(model.DB).SerialNoEq(notify.OutTradeNo).One(&goodsOrder)
if err != nil {
logger.Error("err:", err)
}
2022-03-14 06:57:34 +00:00
2022-03-07 06:14:05 +00:00
err = model.OrderUpdateGoodsStock(goodsOrder.GoodsId, goodsOrder.Quantity, model.DB)
2022-03-14 06:57:34 +00:00
if err != nil {
logger.Error("err:", err)
}
err = model.UserVmUpdate(goodsOrder.Uid, int(goodsOrder.Amount)*-1, model.VmEventExchangeGoods, "兑换奖品")
if err != nil {
logger.Error("err:", err)
}
2022-01-27 14:24:29 +00:00
} else if notify.Attach == wxpay.WxPayUpgradeMember {
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
err := record.GetByOpenNo()
if err != nil {
logger.Error("err:", err)
}
fmt.Println("UpgradeMember:", record.Uid)
var user model.User
err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user)
2022-03-07 06:14:05 +00:00
if err != nil {
logger.Error("err:", err)
return
}
2022-01-27 14:24:29 +00:00
memberConfig, err := model.GetMemberConfig(record.MemberLevel)
if err != nil {
logger.Error("GetMemberConfig err:", err)
return
}
_, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).SetMemberExpire(record.MemberExpire).
SetDeposit(memberConfig.MemberDeposit).UpdateNum()
//err = model.UserUpdate(&model.User{Uid: uint32(record.Uid), MemberLevel: record.MemberLevel, MemberExpire: expireTime, Deposit: memberConfig.MemberDeposit})
if err != nil {
logger.Error("err:", err)
return
}
// 添加会员时长 等级 借卡数量
var userRentCard model.UserRentCard
err = model.NewUserRentCardQuerySet(model.DB).UidEq(record.Uid).One(&userRentCard)
if err != nil {
logger.Error("err:", err)
return
}
_, err = model.NewUserRentCardQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).
SetLevelRentCount(memberConfig.CardMax).SetCanRentCount(memberConfig.CardMax - userRentCard.HaveRentCount).UpdateNum()
if err != nil {
logger.Error("err:", err)
return
}
2022-03-14 06:57:34 +00:00
model.CreateUserRentCardByMemberLevel(record.Uid, record.MemberLevel, memberConfig.CardMax)
2022-03-26 03:25:15 +00:00
} else if notify.Attach == wxpay.WxPayMemberExpireDelay {
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
err := record.GetByOpenNo()
if err != nil {
logger.Error("err:", err)
return
}
var user model.User
err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user)
if err != nil {
logger.Error("err:", err)
return
}
_, err = model.NewUserMemberExpireDelayQuerySet(model.DB).UidEq(record.Uid).MemberExpireEq(user.MemberExpire).GetUpdater().
SetIsPay(1).UpdateNum()
if err != nil {
logger.Error("err:", err)
return
}
2022-04-04 11:03:22 +00:00
} else if notify.Attach == wxpay.WxPayShareCardRetrieve {
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
err := record.GetByOpenNo()
if err != nil {
logger.Error("err:", err)
}
fmt.Println("UpgradeMember:", record.Uid)
//var user model.User
//err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user)
//if err != nil {
// logger.Error("err:", err)
// return
//}
_, err = model.NewShareCardRetrieveQuerySet(model.DB).IDEq(record.OrderId).
GetUpdater().SetPayState(2).UpdateNum()
if err != nil {
logger.Error("update pay state err:", err)
}
2022-04-21 09:03:33 +00:00
_, err = model.NewShareCardRetrieveCardQuerySet(model.DB).ShareCardRetrieveIdEq(record.OrderId).GetUpdater().
SetPayState(2).UpdateNum()
if err != nil {
logger.Error("update pay state err:", err)
}
2021-06-30 02:12:05 +00:00
}
logger.Debug("微信推动支付通知")
ret.ReturnCode = "SUCCESS"
RespBodyXML(c, ret)
}
func PayCallBackHandle(notify wxpay.WechatNotifyInfo, payKey string) (string, error) {
m, err := struct2Map(notify)
if err != nil {
return "", err
}
sign, err := GenWechatPaySign(m, payKey)
if err != nil {
return "", err
}
sign = strings.ToUpper(sign)
logger.Error("微信推送支付通知 sign : payKey", sign, payKey)
return sign, err
}
func GenWechatPaySign(m map[string]string, payKey string) (string, error) {
delete(m, "sign")
var signData []string
for k, v := range m {
if v != "" && v != "0" {
signData = append(signData, fmt.Sprintf("%s=%s", k, v))
}
}
sort.Strings(signData)
signStr := strings.Join(signData, "&")
signStr = signStr + "&key=" + payKey
logger.Error("签字符串1 :", signStr)
c := md5.New()
_, err := c.Write([]byte(signStr))
if err != nil {
return "", err
}
signByte := c.Sum(nil)
if err != nil {
return "", err
}
return fmt.Sprintf("%x", signByte), nil
}
func struct2Map(r interface{}) (s map[string]string, err error) {
var temp map[string]interface{}
var result = make(map[string]string)
bin, err := json.Marshal(r)
if err != nil {
return result, err
}
if err := json.Unmarshal(bin, &temp); err != nil {
return nil, err
}
for k, v := range temp {
switch v2 := v.(type) {
case string:
result[k] = v2
case uint, int8, uint8, int, int16, uint16, int32, uint32, int64, uint64:
result[k] = fmt.Sprintf("%d", v2)
case float32, float64:
result[k] = fmt.Sprintf("%.0f", v2)
}
}
return result, nil
}
func AliyunStsTokenGet(c *gin.Context) {
uploadInfo, err := aliyun.GenStsToken("21000505")
if err != nil {
log.Error().Msgf("err=%v", err)
return
}
stsToken := model.RspAliyunStsToken{
AccessKeyId: uploadInfo.AccessKeyId,
AccessKeySecret: uploadInfo.AccessKeySecret,
SecurityToken: uploadInfo.SecurityToken,
BucketName: uploadInfo.BucketName,
Expiration: uint64(uploadInfo.Expiration),
}
RespOK(c, stsToken)
}