|
@@ -0,0 +1,224 @@
|
|
|
+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)
|
|
|
+
|
|
|
+}
|