gm_redis.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package msg
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "net/http"
  6. "rocommon/service"
  7. "rocommon/util"
  8. "roserver/baseserver/model"
  9. dbmodel "roserver/db/model"
  10. "roserver/serverproto"
  11. "strconv"
  12. )
  13. func GmGetDataFromRedis(c *gin.Context) {
  14. uid := c.Param("uid")
  15. t := c.Param("type")
  16. switch t {
  17. case "item":
  18. bag := &serverproto.RoleBag{}
  19. if err := model.GetMessageFromRedis("role_bag_", uid, bag); err != nil && err != service.NIL {
  20. c.JSON(http.StatusBadRequest, fmt.Errorf("err != nil :%+v", err))
  21. return
  22. }
  23. c.JSON(http.StatusOK, bag)
  24. case "base":
  25. base := &serverproto.RoleBase{}
  26. if err := model.GetMessageFromRedis("role_", uid, base); err != nil && err != service.NIL {
  27. c.JSON(http.StatusBadRequest, fmt.Errorf("err != nil :%+v", err))
  28. return
  29. }
  30. c.JSON(http.StatusOK, base)
  31. case "open_time":
  32. ssAckMsg := &serverproto.SSGetServerCompetitionAck{RounInfo: &serverproto.StRecRound{}}
  33. dbmodel.ServerCompetitionGet(ssAckMsg)
  34. c.JSON(http.StatusOK, ssAckMsg)
  35. default:
  36. c.String(http.StatusOK, "参数错误")
  37. }
  38. }
  39. func GetServiceConnByZone(c *gin.Context) {
  40. c.JSON(http.StatusOK, model.ServiceConnByZone)
  41. fmt.Println("aaaaaaa")
  42. }
  43. func GetPayAllMoney(c *gin.Context) {
  44. listStr, err := service.GetRedis().HKeys(model.PayOrderPrefix).Result()
  45. if err != nil {
  46. return
  47. }
  48. var Response = struct {
  49. All float32 `json:"all"`
  50. Goods map[string]float32 `json:"goods"`
  51. }{
  52. All: 0,
  53. Goods: make(map[string]float32),
  54. }
  55. for idx := 0; idx < len(listStr); idx++ {
  56. msgStr, err := service.GetRedis().HGet(model.PayOrderPrefix, listStr[idx]).Result()
  57. if err != nil {
  58. util.ErrorF("GetPayOrderOkListFromRedis ok order not exist orderId=%v err=%v", listStr[idx], err)
  59. continue
  60. }
  61. payInfo := &serverproto.PayOrderSaveInfo{}
  62. err = model.GetDecodeMessage(payInfo, msgStr)
  63. if err != nil {
  64. util.ErrorF("GetPayOrderOkListFromRedis decode order=%v err=%v", listStr[idx], err)
  65. continue
  66. }
  67. if payInfo.OrderState == int32(serverproto.PayOrderState_EPayOrderState_PayOk) {
  68. Response.All += payInfo.Amount
  69. strKey := fmt.Sprintf("%s_%s", strconv.Itoa(int(payInfo.GoodsId)), strconv.Itoa(int(payInfo.GoodsType)))
  70. Response.Goods[strKey] += payInfo.Amount
  71. }
  72. }
  73. c.JSON(http.StatusOK, Response)
  74. }