1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 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)
- }
|