package user import ( "duoduo/models/mysql" "duoduo/models/user" "duoduo/tools/app" "github.com/shopspring/decimal" "github.com/gin-gonic/gin" ) func AdminOrderAmount(c *gin.Context) { var inData user.AdminOrderAmountRequest var outData user.AdminOrderAmountResponse var user mysql.User var order mysql.Order var adminOrder mysql.AdminTransRecords err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } userNum, err := user.GetTotal() if err != nil { app.Error(c, 400, err, err.Error()) return } orderNum, err := order.GetTotal() if err != nil { app.Error(c, 400, err, err.Error()) return } amount, err := order.GetAdminAmount() if err != nil { app.Error(c, 500, err, err.Error()) return } outData.PlatformAmount, err = order.GetPlatform() if err != nil { app.Error(c, 500, err, err.Error()) return } outData.AdminAmount = decimal.NewFromInt(amount) outData.AdminAmount = outData.AdminAmount.Mul(decimal.NewFromFloat(0.0015)).Round(2) //所有已结算的订单求和 + 订单喝*0.0015 - 已付款金额 //outData.AvailableAmount = //订单结算和 availableAmount, err := order.GetAdminAvailable() if err != nil { app.Error(c, 500, err, err.Error()) return } //已付款金额 adminTrans, err := adminOrder.GetTrans() if err != nil { app.Error(c, 500, err, err.Error()) return } outData.AvailableAmount = availableAmount.Add(availableAmount.Mul(decimal.NewFromFloat(0.15)).Round(2)).Sub(adminTrans) outData.WithdrawalAmount = adminTrans outData.OrderNum = orderNum outData.UserNum = userNum app.OK(c, outData, app.Success) }