package redpacket import ( "app/commons/constant" "github.com/gin-gonic/gin" ) // GetDetail 获取红包详情 func (s *Server) GetDetail(ctx *gin.Context) { c := s.FromContext(ctx) packetNo := ctx.Param("packetNo") if packetNo == "" { c.Fail(constant.ErrorParams) return } packet, records, err := s.RedPacketService.GetRedPacketDetail(packetNo) if err != nil { c.Fail("红包不存在") return } c.Resp(gin.H{ "packet": packet, "records": records, }) } // GetRecords 获取我的红包记录 func (s *Server) GetRecords(ctx *gin.Context) { c := s.FromContext(ctx) type request struct { Page int `form:"page"` PageSize int `form:"pageSize"` } req := new(request) if err := c.ShouldBindQuery(req); err != nil { c.Fail(constant.ErrorParams) return } // 默认值 if req.Page <= 0 { req.Page = 1 } if req.PageSize <= 0 || req.PageSize > 100 { req.PageSize = 20 } records, total, err := s.RedPacketService.GetUserRedPacketRecords( c.UserId(), req.Page, req.PageSize, ) if err != nil { c.Fail("查询失败") return } c.Resp(gin.H{ "records": records, "total": total, "page": req.Page, "pageSize": req.PageSize, }) }