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