Browse Source

fix;bug

token_replace
黄梓健 5 years ago
parent
commit
c335d1d4e0
  1. 4
      models/reward_history.go
  2. 18
      services/pay/handle.go
  3. 13
      services/pay/order.go

4
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
}

18
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
}

13
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
}

Loading…
Cancel
Save