|
|
@@ -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)
|
|
|
+}
|