| 
					
				 | 
			
			
				@@ -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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |