12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package user
- import (
- "duoduo/models/mysql"
- "duoduo/models/user"
- "duoduo/tools/app"
- "github.com/gin-gonic/gin"
- )
- //更新状态发放提现
- func TransUpdate(c *gin.Context) {
- var inData user.TransUpdateInput
- var trans mysql.TransRecords
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- trans.TransStatus = inData.TransStatus
- trans.PidStatus = inData.PidStatus
- trans.PayName = inData.PayName
- trans.UserId = inData.UserId
- trans.Pay = inData.Pay
- _, err = trans.Update(inData.Id)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- //已体现总金额 = 提现记录求和
- trans.Pid = inData.Pid
- trans.OpenID = inData.OpenId
- transAmount, err := trans.GetTransStatus()
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- //更新钱包 审核成功更新 已体现金额 审核失败 更新可提现金额
- if inData.TransStatus == 3 { //已体现
- var wallet mysql.Wallet
- wallet.WithdrawalAmount = transAmount.Amount
- wallet.OpenID = inData.OpenId
- wallet.Pid = inData.Pid
- wallet.UpdateWithdrawal()
- } else if inData.TransStatus == 2 { //提现失败
- //重新计算可提现金额
- var orderAmount mysql.Order
- var wallet mysql.Wallet
- var trans2 mysql.TransRecords
- orderAmount.OpenId = inData.OpenId
- orderWallet, _ := orderAmount.GetAvailableAmount()
- //总金额减去提现金额
- trans2.OpenID = inData.OpenId
- trans2.Pid = inData.Pid
- trans.PidStatus = inData.PidStatus //拼多多 订单
- transInfo, err := trans.GetTrans()
- if err != nil && err.Error() != "record not found" {
- app.Error(c, 400, err, err.Error())
- return
- }
- //更新钱包 钱包总和为 123级总和减去提现总额
- wallet.AvailableAmount = orderWallet.Amount.Add(orderWallet.Amount1.Add(orderWallet.Amount2)).Sub(transInfo.Amount)
- wallet.OpenID = inData.OpenId
- wallet.Pid = inData.Pid
- wallet.UpdateAvailable()
- }
- app.OK(c, nil, app.Success)
- }
|