package shanghu import ( "duoduo/apis/shanghu/models" "duoduo/models/shanghu" "duoduo/tools/app" "github.com/gin-gonic/gin" "strconv" "time" ) func GetClientRechargeLog(c *gin.Context) { var inData models.MerchantRechargeClientAccountLogRequest var sqlData shanghu.MerchantRechargeClientAccountLog var outDataList []models.MerchantRechargeClientAccountLogReply var countData int err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } var pageSize = 10 var pageIndex = 1 if inData.PageSize != 0 { pageSize = inData.PageSize } if inData.PageIndex != 0 { pageIndex = inData.PageIndex } if inData.Type == 1 { //充值核销 sqlData.ClientOpenID = inData.ClientOpenId cashOutList, count, err := sqlData.MerchantRechargeClientAccountLogListByClient(pageSize, pageIndex) if err != nil { app.Error(c, 500, err, err.Error()) return } countData = count for _, v := range cashOutList { var merchant shanghu.Merchant var user shanghu.MerchantUser var outData models.MerchantRechargeClientAccountLogReply merchant.OpenId = v.MerchantOpenID merchantData, err := merchant.GetMerchant() if err != nil { app.Error(c, 500, err, err.Error()) return } user.OpenID = v.Operator operator, err := user.GetUserInfo() if err != nil { app.Error(c, 500, err, err.Error()) return } outData.MerchantOpenName = merchantData.MerchantName outData.CancelAmount = v.Amount.String() outData.CancelAmountAfter = v.AmountAfter.String() outData.CancelAmountPre = v.AmountPre.String() outData.Operator = operator.Code outData.CancelTime = v.CreatedAt.Format(time.DateTime) outDataList = append(outDataList, outData) } } else if inData.Type == 2 { //卡券核销 var recharge shanghu.RechargeCancelLog recharge.ClientOpenID = inData.ClientOpenId cashOutList, count, err := recharge.RechargeCancelLogByClientList(pageSize, pageIndex) if err != nil { app.Error(c, 500, err, err.Error()) return } countData = count for _, v := range cashOutList { var merchant shanghu.Merchant var user shanghu.MerchantUser var outData models.MerchantRechargeClientAccountLogReply merchant.OpenId = v.MerchantOpenID merchantData, err := merchant.GetMerchant() if err != nil { app.Error(c, 500, err, err.Error()) return } user.OpenID = v.Operator operator, err := user.GetUserInfo() if err != nil { app.Error(c, 500, err, err.Error()) return } outData.MerchantOpenName = merchantData.MerchantName outData.CancelAmount = strconv.FormatInt(int64(v.Quantity), 10) outData.CancelAmountAfter = strconv.FormatInt(int64(v.QuantityAfter), 10) outData.CancelAmountPre = strconv.FormatInt(int64(v.QuantityPre), 10) outData.Operator = operator.Code outData.CancelTime = v.CreatedAt.Format(time.DateTime) outDataList = append(outDataList, outData) } } app.PageOK(c, outDataList, countData, pageIndex, pageSize, app.Success) } func GetMerchantRechargeLog(c *gin.Context) { var inData models.MerchantRechargeAccountLogRequest var sqlData shanghu.MerchantRechargeClientAccountLog var outDataList []models.MerchantRechargeAccountLogReply var countData int err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } var pageSize = 10 var pageIndex = 1 if inData.PageSize != 0 { pageSize = inData.PageSize } if inData.PageIndex != 0 { pageIndex = inData.PageIndex } if inData.Type == 1 { //充值核销 sqlData.MerchantOpenID = inData.MerchantOpenId cashOutList, count, err := sqlData.MerchantRechargeAccountLogList(pageSize, pageIndex) if err != nil { app.Error(c, 500, err, err.Error()) return } countData = count for _, v := range cashOutList { var client shanghu.MerchantClientUser var user shanghu.MerchantUser //var merchant shanghu.Merchant var outData models.MerchantRechargeAccountLogReply client.ClientOpenID = v.ClientOpenID clientInfo, err := client.GetUserInfo() if err != nil { app.Error(c, 500, err, err.Error()) return } user.OpenID = v.Operator operator, err := user.GetUserInfo() if err != nil { app.Error(c, 500, err, err.Error()) return } outData.ClientCode = clientInfo.Code outData.CancelAmount = v.Amount.String() outData.CancelAmountAfter = v.AmountAfter.String() outData.CancelAmountPre = v.AmountPre.String() outData.Operator = operator.Code outData.CancelTime = v.CreatedAt.Format(time.DateTime) outDataList = append(outDataList, outData) } } else if inData.Type == 2 { //卡券核销 var recharge shanghu.RechargeCancelLog recharge.MerchantOpenID = inData.MerchantOpenId cashOutList, count, err := recharge.RechargeCancelLogByMerchantList(pageSize, pageIndex) if err != nil { app.Error(c, 500, err, err.Error()) return } countData = count for _, v := range cashOutList { var client shanghu.MerchantClientUser var user shanghu.MerchantUser //var merchant shanghu.Merchant var outData models.MerchantRechargeAccountLogReply client.ClientOpenID = v.ClientOpenID clientData, err := client.GetUserInfo() if err != nil { app.Error(c, 500, err, err.Error()) return } user.OpenID = v.Operator operator, err := user.GetUserInfo() if err != nil { app.Error(c, 500, err, err.Error()) return } outData.ClientCode = clientData.Code outData.CancelAmount = strconv.FormatInt(int64(v.Quantity), 10) outData.CancelAmountAfter = strconv.FormatInt(int64(v.QuantityAfter), 10) outData.CancelAmountPre = strconv.FormatInt(int64(v.QuantityPre), 10) outData.Operator = operator.Code outData.CancelTime = v.CreatedAt.Format(time.DateTime) outDataList = append(outDataList, outData) } } app.PageOK(c, outDataList, countData, pageIndex, pageSize, app.Success) }