k.zhang 11 meses atrás
pai
commit
3e505444db

+ 6 - 0
apis/shanghu/merchant.client.ticket.go

@@ -4,6 +4,7 @@ import (
 	"duoduo/apis/shanghu/models"
 	"duoduo/models/shanghu"
 	"duoduo/tools/app"
+	"errors"
 	"github.com/gin-gonic/gin"
 )
 
@@ -23,6 +24,11 @@ func MerchantRecharge(c *gin.Context) {
 	clientOpenId.Code = inData.ClientCode
 	clientInfo, err := clientOpenId.GetUserInfoByCode()
 	if err != nil {
+		if err.Error() == "record not found" {
+			app.Error(c, 400, errors.New("请确认用户ID是否正确"), "请确认用户ID是否正确")
+			return
+		}
+
 		app.Error(c, 400, err, err.Error())
 		return
 	}

+ 18 - 13
models/shanghu/merchant.client.ticket.go

@@ -4,6 +4,7 @@ import (
 	orm "duoduo/database"
 	"duoduo/tools"
 	"encoding/json"
+	"fmt"
 	"github.com/shopspring/decimal"
 	"time"
 )
@@ -45,8 +46,7 @@ func (u *MerchantClientTicket) Recharge(recharge MerchantRecharge, clientOpenId
 	var err error
 	var account MerchantRechargeClientAccount
 	var accountLog MerchantRechargeClientAccountLog
-	var ticket MerchantClientTicket
-	var project MerchantRechargeProject
+	var project []MerchantRechargeProject
 
 	tx := orm.ShMysql.Begin()
 	defer func() {
@@ -137,22 +137,27 @@ func (u *MerchantClientTicket) Recharge(recharge MerchantRecharge, clientOpenId
 		}
 
 	}
-
+	fmt.Println(recharge.CardProjectData)
 	//充卡券
 	err = json.Unmarshal([]byte(recharge.CardProjectData), &project)
 	if err != nil {
 		return err
 	}
-	ticket.RechargeProjectName = project.ProjectName
-	ticket.RechargeProjectQuantity = project.ProjectQuantity
-	ticket.RechargeProjectID = project.ID
-	ticket.MerchantOpenID = project.MerchantOpenID
-	ticket.ClientOpenID = clientOpenId
-	ticket.Operator = operator
-
-	err = tx.Table(ticket.TableName()).Create(&ticket).Error
-	if err != nil {
-		return err
+
+	for _, v := range project {
+		var ticket MerchantClientTicket
+
+		ticket.RechargeProjectName = v.ProjectName
+		ticket.RechargeProjectQuantity = v.ProjectQuantity
+		ticket.RechargeProjectID = v.ID
+		ticket.MerchantOpenID = v.MerchantOpenID
+		ticket.ClientOpenID = clientOpenId
+		ticket.Operator = operator
+
+		err = tx.Table(ticket.TableName()).Create(&ticket).Error
+		if err != nil {
+			return err
+		}
 	}
 
 	return nil