| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package msg
- import (
- "fmt"
- "github.com/gin-gonic/gin"
- "net/http"
- "rocommon/service"
- "rocommon/util"
- "roserver/baseserver/model"
- dbmodel "roserver/db/model"
- "roserver/serverproto"
- "strconv"
- )
- func GmGetDataFromRedis(c *gin.Context) {
- uid := c.Param("uid")
- t := c.Param("type")
- switch t {
- case "item":
- bag := &serverproto.RoleBag{}
- if err := model.GetMessageFromRedis("role_bag_", uid, bag); err != nil && err != service.NIL {
- c.JSON(http.StatusBadRequest, fmt.Errorf("err != nil :%+v", err))
- return
- }
- c.JSON(http.StatusOK, bag)
- case "base":
- base := &serverproto.RoleBase{}
- if err := model.GetMessageFromRedis("role_", uid, base); err != nil && err != service.NIL {
- c.JSON(http.StatusBadRequest, fmt.Errorf("err != nil :%+v", err))
- return
- }
- c.JSON(http.StatusOK, base)
- case "open_time":
- ssAckMsg := &serverproto.SSGetServerCompetitionAck{RounInfo: &serverproto.StRecRound{}}
- dbmodel.ServerCompetitionGet(ssAckMsg)
- c.JSON(http.StatusOK, ssAckMsg)
- default:
- c.String(http.StatusOK, "参数错误")
- }
- }
- func GetServiceConnByZone(c *gin.Context) {
- c.JSON(http.StatusOK, model.ServiceConnByZone)
- }
- func GetPayAllMoney(c *gin.Context) {
- listStr, err := service.GetRedis().HKeys(model.PayOrderPrefix).Result()
- if err != nil {
- return
- }
- var Response = struct {
- All float32 `json:"all"`
- Goods map[string]float32 `json:"goods"`
- }{
- All: 0,
- Goods: make(map[string]float32),
- }
- for idx := 0; idx < len(listStr); idx++ {
- msgStr, err := service.GetRedis().HGet(model.PayOrderPrefix, listStr[idx]).Result()
- if err != nil {
- util.ErrorF("GetPayOrderOkListFromRedis ok order not exist orderId=%v err=%v", listStr[idx], err)
- continue
- }
- payInfo := &serverproto.PayOrderSaveInfo{}
- err = model.GetDecodeMessage(payInfo, msgStr)
- if err != nil {
- util.ErrorF("GetPayOrderOkListFromRedis decode order=%v err=%v", listStr[idx], err)
- continue
- }
- if payInfo.OrderState == int32(serverproto.PayOrderState_EPayOrderState_PayOk) {
- Response.All += payInfo.Amount
- strKey := fmt.Sprintf("%s_%s", strconv.Itoa(int(payInfo.GoodsId)), strconv.Itoa(int(payInfo.GoodsType)))
- Response.Goods[strKey] += payInfo.Amount
- }
- }
- c.JSON(http.StatusOK, Response)
- }
|