Procházet zdrojové kódy

查询服务器充值总额

LAPTOP-PC6VHEF0\XIONGHUY před 1 rokem
rodič
revize
e62a99d8eb

+ 1 - 0
RO_Server_Trunk-branch_0.1.39/roserver/gmweb/main.go

@@ -133,6 +133,7 @@ func main() {
 		r1.GET("/redis/:uid/:type", msg.GmGetDataFromRedis)
 
 		r1.GET("serviceConnByZone", msg.GetServiceConnByZone)
+		r1.GET("pay-all-money", msg.GetPayAllMoney)
 
 		router.Run(sConfig.Node.HttpAddr)
 	}()

+ 38 - 0
RO_Server_Trunk-branch_0.1.39/roserver/gmweb/msg/gm_redis.go

@@ -5,9 +5,11 @@ import (
 	"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) {
@@ -43,3 +45,39 @@ func GmGetDataFromRedis(c *gin.Context) {
 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)
+}