印度包网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.7 KiB

2 months ago
package guser
import (
"fmt"
"server/common"
"server/db"
utils "server/modules/backend/util"
"server/modules/backend/values"
"server/modules/customer/app"
"github.com/gin-gonic/gin"
"github.com/liangdas/mqant/log"
)
func GetGameUserRechargeHistory(c *gin.Context) {
a := app.NewApp(c)
defer func() {
a.Response()
}()
req := new(values.GetGameUserRechargeHistoryReq)
if !a.S(req) {
return
}
resp := values.GetGameUserRechargeHistoryResp{}
var ret []common.RechargeOrder
if req.UID > 0 {
count, err := db.Mysql().QueryPlayerRWHistory(&req.UID, nil, req.Page-1, req.Num, []int{int(common.CurrencyEventReCharge), int(common.CurrencyEventActivityWeekCard),
common.CurrencyEventGMRecharge}, req.Start, req.End, &common.RechargeOrder{}, &ret, req.Status)
2 months ago
if err != nil {
log.Error("err:%v", err)
a.Code = values.CodeRetry
return
}
resp.Count = count
for _, v := range ret {
resp.List = append(resp.List, values.OneRechargeList{UID: v.UID, Time: v.CreateTime, CallbackTime: v.CallbackTime, CurrencyType: v.CurrencyType,
2 months ago
Amount: v.Amount, Status: int(v.Status), MyOrderID: v.OrderID, OrderID: v.APIPayID, PayChannel: v.PayChannel, PaySource: v.PaySource})
}
resp.RechargeCount = db.Mysql().Count(&common.RechargeOrder{}, fmt.Sprintf("uid = %v and (event = %v or event = %v or event = %v)", req.UID, common.CurrencyEventReCharge, common.CurrencyEventGMRecharge, common.CurrencyEventActivityWeekCard))
2 months ago
re := &common.RechargeInfo{UID: req.UID}
err = db.Mysql().Get(re)
if err != nil {
log.Error(err.Error())
}
resp.RechargeTotal = re.TotalRecharge
successCount := db.Mysql().Count(&common.RechargeOrder{}, fmt.Sprintf("uid = %v and (event = %v or event = %v or event = %v) and status = %v", req.UID, common.CurrencyEventReCharge, common.CurrencyEventGMRecharge, common.CurrencyEventActivityWeekCard, common.StatusROrderPay))
2 months ago
resp.RechargeSuccessPer = utils.GetPer(successCount, resp.RechargeCount)
} else if req.OrderID != "" {
resp.Count, _ = db.Mysql().QueryList(req.Page-1, req.Num, fmt.Sprintf(`event = %v or event = %v and (apipayid = "%v" or orderid = "%v")`, common.CurrencyEventReCharge, common.CurrencyEventActivityWeekCard, req.OrderID, req.OrderID), "create_time desc", &common.RechargeOrder{}, &ret)
2 months ago
// log.Debug("ret:%v", ret)
for _, v := range ret {
resp.List = append(resp.List, values.OneRechargeList{UID: v.UID, Time: v.CreateTime, CallbackTime: v.CallbackTime, CurrencyType: v.CurrencyType,
2 months ago
MyOrderID: v.OrderID, OrderID: v.APIPayID, Amount: v.Amount, Status: int(v.Status), PayChannel: v.PayChannel, PaySource: v.PaySource})
}
} else {
a.Code = values.CodeParam
a.Msg = "查询条件有误"
return
}
a.Data = resp
}