| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package redpacket
- import (
- "app/commons/constant"
- "fmt"
- "github.com/gin-gonic/gin"
- )
- // GrabRedPacket 抢红包
- func (s *Server) GrabRedPacket(ctx *gin.Context) {
- c := s.FromContext(ctx)
- type request struct {
- PacketNo string `json:"packetNo" binding:"required"` // 红包编号
- TelegramId int64 `json:"telegramId" binding:"required"` // Telegram用户ID
- TelegramUsername string `json:"telegramUsername"` // Telegram用户名
- }
- req := new(request)
- if err := c.ShouldBindBodyWithJSON(req); err != nil {
- c.Fail(constant.ErrorParams)
- return
- }
- // 抢红包
- record, err := s.RedPacketService.GrabRedPacket(
- req.PacketNo,
- c.UserId(),
- req.TelegramId,
- req.TelegramUsername,
- )
- if err != nil {
- c.Fail(err.Error())
- return
- }
- c.Resp(gin.H{
- "amount": record.Amount,
- "sequence": record.Sequence,
- "message": fmt.Sprintf("恭喜你抢到 %s VND!", record.Amount.String()),
- })
- }
|