|
@@ -8,6 +8,7 @@ import (
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"github.com/gin-gonic/gin"
|
|
|
+ "github.com/shopspring/decimal"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -79,3 +80,53 @@ func GetVerificationCode(c *gin.Context) {
|
|
|
|
|
|
app.OK(c, qr, app.Success)
|
|
|
}
|
|
|
+
|
|
|
+func GetMerchantPayTransList(c *gin.Context) {
|
|
|
+ var inData models.MerchantTransRequest
|
|
|
+ var sqlMerchant shanghu.MerchantCard
|
|
|
+ var sqlPay shanghu.ClientPayTrans
|
|
|
+ var outData []models.MerchantTransReply
|
|
|
+ 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
|
|
|
+ }
|
|
|
+
|
|
|
+ sqlMerchant.MerchantOpenID = inData.MerchantOpenId
|
|
|
+ merchantData, err := sqlMerchant.GetMerchantByOpenId()
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mer := make(map[int64]shanghu.MerchantCard, 0)
|
|
|
+ var merIdList []int64
|
|
|
+ for i := 0; i < len(merchantData); i++ {
|
|
|
+ merIdList = append(merIdList, merchantData[i].ID)
|
|
|
+ fmt.Println(merchantData[i])
|
|
|
+ mer[merchantData[i].ID] = merchantData[i]
|
|
|
+ }
|
|
|
+
|
|
|
+ payInfo, count, err := sqlPay.GetPayTransSuccessByMerchantID(pageSize, pageIndex, merIdList)
|
|
|
+ for i := 0; i < len(payInfo); i++ {
|
|
|
+ data := models.MerchantTransReply{}
|
|
|
+ data.TransId = payInfo[i].ID
|
|
|
+ data.MerchantCardTime = tools.TimeToStr(mer[payInfo[i].MerchantCardID].MerchantCardTime)
|
|
|
+ data.MerchantCardName = mer[payInfo[i].MerchantCardID].MerchantCardName
|
|
|
+ data.TotalAmount = payInfo[i].Amount
|
|
|
+ data.SaleAmount = payInfo[i].Amount.Mul(decimal.NewFromInt(mer[payInfo[i].MerchantCardID].RebateRate)).Div(decimal.NewFromInt(100)).Round(2)
|
|
|
+ data.MerchantAmount = data.TotalAmount.Sub(data.SaleAmount)
|
|
|
+ data.MerchantCardID = payInfo[i].MerchantCardID
|
|
|
+ data.PayTime = payInfo[i].PayTime.Format(time.DateTime)
|
|
|
+ outData = append(outData, data)
|
|
|
+ }
|
|
|
+ app.PageOK(c, outData, count, pageIndex, pageSize, app.Success)
|
|
|
+
|
|
|
+}
|