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