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