From c335d1d4e0c817104862f6d5ec9463ead85068ea Mon Sep 17 00:00:00 2001
From: tommy <3405129587@qq.com>
Date: Thu, 30 Jul 2020 17:09:33 +0800
Subject: [PATCH] fix;bug

---
 models/reward_history.go |  4 ++--
 services/pay/handle.go   | 18 +++++-------------
 services/pay/order.go    | 13 ++++++-------
 3 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/models/reward_history.go b/models/reward_history.go
index 1e5595f..c3cf01e 100644
--- a/models/reward_history.go
+++ b/models/reward_history.go
@@ -65,8 +65,8 @@ func GetRewardHistoryByIds(ids interface{}) ([]*RewardHistory, error) {
 
 func GetExpireRewardHistory() ([]*RewardHistory, error) {
 	result := make([]*RewardHistory, 0)
-	err := core.GetXormAuto().Where("rehearsal_id = 0 or type <> 0").
-		Where("is_delete=0 and status=0 and expire_time<=?", time.Now().Unix()).Find(&result)
+	err := core.GetXormAuto().Where("is_delete=0 and status=0 and rehearsal_id = 0 or type <> 0 "+
+		" and expire_time <= ?", time.Now().Unix()).Find(&result)
 	return result, err
 }
 
diff --git a/services/pay/handle.go b/services/pay/handle.go
index ba92301..db92cf2 100644
--- a/services/pay/handle.go
+++ b/services/pay/handle.go
@@ -2,7 +2,6 @@ package pay_service
 
 import (
 	"errors"
-	"fmt"
 	"github.com/ouxuanserver/osmanthuswine/src/core"
 	"github.com/xormplus/xorm"
 	"hudongzhuanjia/models"
@@ -173,7 +172,6 @@ func HandleSuccess(order *models.UserOrder) error {
 func HandleGoodOrder() error {
 	orders, err := models.GetExpiredAtLiveCustomerOrder()
 	if err != nil {
-		err = fmt.Errorf("获取过期订单信息错误原因: %v", err)
 		return err
 	}
 	for _, v := range orders {
@@ -182,7 +180,6 @@ func HandleGoodOrder() error {
 		}
 		res, err := OrderQuery(v.OutTradeNo)
 		if err != nil {
-			err = fmt.Errorf("订单查询出现错误: %v, out_trade_no: %v", err, v.OutTradeNo)
 			return err
 		}
 		if res["trade_state"] == define.CODE_TRADE_SUCCESS {
@@ -222,7 +219,6 @@ func HandleGoodOrder() error {
 func HandleReward() error {
 	result, err := models.GetExpireRewardHistory()
 	if err != nil {
-		err = fmt.Errorf("获取过期打赏错误原因: %v", err)
 		return err
 	}
 	for _, v := range result {
@@ -231,13 +227,11 @@ func HandleReward() error {
 		}
 		_, err := Refund("欧轩互动-打赏过期退款", v.OutTradeNo)
 		if err != nil {
-			err = fmt.Errorf("欧轩互动打赏过期退款错误: %v, out_trade_no: %v", err, v.OutTradeNo)
 			return err
 		}
 		v.Status = 4
 		_, err = models.Update(v.Id, v, "status")
 		if err != nil {
-			err = fmt.Errorf("欧轩互动打赏过期状态改变错误: %v, out_trade_no: %v", err, v.OutTradeNo)
 			return err
 		}
 	}
@@ -247,8 +241,7 @@ func HandleReward() error {
 func HandleCancelOrder(outTradeNo string) error {
 	return models.Commit(func(session *xorm.Session) error {
 		order := new(models.CustomerOrder)
-		exist, err := session.Where("is_delete=0 and status=0 and out_trade_no=?",
-			outTradeNo).Get(order)
+		exist, err := session.Where("is_delete=0 and status=0 and out_trade_no=?", outTradeNo).Get(order)
 		if err != nil {
 			return err
 		}
@@ -257,8 +250,8 @@ func HandleCancelOrder(outTradeNo string) error {
 		}
 		order.Status = 9
 		order.CancelTime = time.Now()
-		_, err = session.Where("is_delete=0 and out_trade_no=?",
-			outTradeNo).Cols("status, cancel_time").Update(order)
+		_, err = session.Where("is_delete=0 and out_trade_no=?", outTradeNo).
+			Cols("status, cancel_time").Update(order)
 		if err != nil {
 			return err
 		}
@@ -268,9 +261,8 @@ func HandleCancelOrder(outTradeNo string) error {
 			return err
 		}
 		for _, sub := range subs {
-			_, err = session.Where("id=?", sub.GoodsId).
-				Incr("stock", sub.GoodsNum).Update(&models.CustomerGoods{})
-
+			_, err = session.ID(sub.GoodsId).NoAutoCondition().Incr("stock", sub.GoodsNum).
+				Update(&models.CustomerGoods{})
 			if err != nil {
 				return err
 			}
diff --git a/services/pay/order.go b/services/pay/order.go
index e00adab..1725cd2 100644
--- a/services/pay/order.go
+++ b/services/pay/order.go
@@ -5,6 +5,7 @@ import (
 	"fmt"
 	pay_core "github.com/chanxuehong/wechat/mch/core"
 	"github.com/chanxuehong/wechat/mch/pay"
+	"github.com/syndtr/goleveldb/leveldb/errors"
 	"hudongzhuanjia/logger"
 	"hudongzhuanjia/models"
 	"hudongzhuanjia/utils"
@@ -212,14 +213,14 @@ const CallbackRefundUrl = "https://api.ouxuanhudong.com/PcClient/common/WeChatOa
 func Refund(reason, outTradeNo string) (map[string]string, error) {
 	userOrder := new(models.UserOrder)
 	exist, err := userOrder.GetByOutTradeNo(outTradeNo)
-	if err != nil {
-		return nil, err
+	if err != nil || !exist {
+		return nil, errors.New("订单异常")
 	}
 
-	if !exist {
-		return nil, fmt.Errorf("订单不存在")
-	}
 	client, err := Client()
+	if err != nil {
+		return nil, err
+	}
 
 	outRefundNo := utils.RandomStr(64)
 	nonceStr := utils.RandomStr(32)
@@ -234,7 +235,6 @@ func Refund(reason, outTradeNo string) (map[string]string, error) {
 	body["notify_url"] = CallbackRefundUrl
 
 	res, err := pay.Refund(client, body)
-	//
 	if err != nil {
 		return nil, err
 	}
@@ -244,7 +244,6 @@ func Refund(reason, outTradeNo string) (map[string]string, error) {
 		return nil, err
 	}
 
-	//go PutOrderDelayQueue(userOrder) // 退款查询
 	return res, nil
 }