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 }