123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package report
- import (
- "duoduo/models/shanghu"
- "fmt"
- "github.com/shopspring/decimal"
- "time"
- )
- func ClientAccount() {
-
- for true {
-
- var account shanghu.ClientPayTrans
- account.AccountStatus = 1
- account.Status = 2
- clientTrans, err := account.GetPayTransByStatus()
- if err != nil {
- break
- }
- data := make(map[string]interface{})
- data["account_status"] = 3
- data["updated_at"] = time.Now()
- err = clientTrans.UpdateById(data)
- if err != nil {
- break
- }
-
- var cardInfo shanghu.MerchantCard
- cardInfo.ID = clientTrans.MerchantCardID
- merchantCard, err := cardInfo.GetMerchantCard()
- if err != nil {
- dataErr := make(map[string]interface{})
- dataErr["account_status"] = 2
- dataErr["account_err_log"] = err.Error()
- dataErr["updated_at"] = time.Now()
- err = clientTrans.UpdateById(dataErr)
- if err != nil {
- break
- }
- continue
- }
-
-
-
- fmt.Println(merchantCard.RebateRate)
- fmt.Println(clientTrans.Amount)
- clientAmount := clientTrans.Amount.Mul(decimal.NewFromInt(merchantCard.RebateRate)).Div(decimal.NewFromInt(100)).Round(2)
- fmt.Println(clientAmount)
- merchantAmount := clientTrans.Amount.Sub(clientAmount).Round(2)
- fmt.Println(merchantAmount)
-
- err = account.SettleAdd(merchantAmount, clientAmount, merchantCard.MerchantOpenID, clientTrans.ClientOpenID)
- if err != nil {
- dataErr := make(map[string]interface{})
- dataErr["account_status"] = 2
- dataErr["account_err_log"] = err.Error()
- dataErr["updated_at"] = time.Now()
- err = clientTrans.UpdateById(dataErr)
- if err != nil {
- break
- }
- continue
- }
- }
- }
|