package report import "duoduo/models/mysql" //定时任务查询数据库 //计算可体现金额 //10分钟一次 func AvailableAmount() { var orderInfoList mysql.Order orderInfo, _, err := orderInfoList.GetOrderInfoList() if err != nil { return } //遍历 计算结算金额 用户钱包重新计算 结款 一级 二级 三级 for i := 0; i < len(orderInfo); i++ { //一级 if orderInfo[i].OpenId != "" && orderInfo[i].PID != "" { //open id 不为0 进行计算并且更新用户钱包 var orderAmount mysql.Order var wallet mysql.Wallet var trans mysql.TransRecords orderAmount.OpenId = orderInfo[i].OpenId orderWallet, _ := orderAmount.GetAvailableAmount() //总金额减去提现金额 trans.OpenID = orderInfo[i].OpenId trans.Pid = orderInfo[i].PID trans.PidStatus = 1 //拼多多 订单 transInfo, err := trans.GetTrans() if err != nil && err.Error() != "record not found" { continue } //更新钱包 钱包总和为 123级总和减去提现总额 wallet.AvailableAmount = orderWallet.Amount.Add(orderWallet.Amount1.Add(orderWallet.Amount2)).Sub(transInfo.Amount) wallet.OpenID = orderInfo[i].OpenId wallet.Pid = orderInfo[i].PID wallet.UpdateAvailable() } //二级 if orderInfo[i].OpenId1 != "" { // var orderAmount mysql.Order var wallet mysql.Wallet var pid mysql.Pid var trans mysql.TransRecords pid.OpenID = orderInfo[i].OpenId1 pid.PidStatus = 1 //拼多多用户 pidInfo, err := pid.Get() if err != nil { continue } trans.OpenID = orderInfo[i].OpenId1 trans.Pid = pidInfo.Pid trans.PidStatus = 1 //拼多多 订单 transInfo, err := trans.GetTrans() if err != nil && err.Error() != "record not found" { continue } orderAmount.OpenId = orderInfo[i].OpenId1 orderWallet, _ := orderAmount.GetAvailableAmount() //更新钱包 wallet.AvailableAmount = orderWallet.Amount.Add(orderWallet.Amount1.Add(orderWallet.Amount2)).Sub(transInfo.Amount) wallet.OpenID = orderInfo[i].OpenId1 wallet.Pid = pidInfo.Pid wallet.UpdateAvailable() } //三级 if orderInfo[i].OpenId2 != "" { // var orderAmount mysql.Order var wallet mysql.Wallet var pid mysql.Pid var trans mysql.TransRecords pid.OpenID = orderInfo[i].OpenId2 pid.PidStatus = 1 //拼多多用户 pidInfo, err := pid.Get() if err != nil { continue } trans.OpenID = orderInfo[i].OpenId2 trans.Pid = pidInfo.Pid trans.PidStatus = 1 //拼多多 订单 transInfo, err := trans.GetTrans() if err != nil && err.Error() != "record not found" { continue } orderAmount.OpenId = orderInfo[i].OpenId2 orderWallet, _ := orderAmount.GetAvailableAmount() //更新钱包 wallet.AvailableAmount = orderWallet.Amount.Add(orderWallet.Amount1.Add(orderWallet.Amount2)).Sub(transInfo.Amount) wallet.OpenID = orderInfo[i].OpenId2 wallet.Pid = pidInfo.Pid wallet.UpdateAvailable() } } }