增加微信方式充值会员
This commit is contained in:
@@ -270,7 +270,7 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
|
|||||||
}
|
}
|
||||||
//充值会员 增加微信支付处理业务
|
//充值会员 增加微信支付处理业务
|
||||||
if order.OrderType == 2 && call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
|
if order.OrderType == 2 && call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
|
||||||
if err := OnPayFinished(order); err != nil {
|
if err := OnWXPayFinished(order); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ package financial
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
@@ -102,3 +102,41 @@ func OnCashFinished(order *model.Order) (err error) {
|
|||||||
globals.SugarLogger.Debugf("OnCashFinished end modify account ...")
|
globals.SugarLogger.Debugf("OnCashFinished end modify account ...")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//微信支付充值会员
|
||||||
|
func OnWXPayFinished(order *model.Order) (err error) {
|
||||||
|
var (
|
||||||
|
db = dao.GetDB()
|
||||||
|
ctx *jxcontext.Context
|
||||||
|
)
|
||||||
|
globals.SugarLogger.Debugf("OnWXPayFinished begin modify account order: %v", utils.Format4Output(order, false))
|
||||||
|
txDB, _ := dao.Begin(db)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
dao.Rollback(db, txDB)
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
//如果用户没有对应账单信息就给他生成一条
|
||||||
|
userBill, err := dao.GetUserBill(db, order.UserID, "")
|
||||||
|
if userBill == nil {
|
||||||
|
globals.SugarLogger.Debugf("OnPayFinished 未找到该用户的账单 order: %v", utils.Format4Output(order, false))
|
||||||
|
return fmt.Errorf("未找到该用户的账单!%v", order.UserID)
|
||||||
|
}
|
||||||
|
//获取用户会员信息
|
||||||
|
userMember, err := dao.GetUserMember(db, order.UserID, model.UserStatusNormal)
|
||||||
|
//根据订单类型来操作账户
|
||||||
|
switch order.Type {
|
||||||
|
case model.OrderTpyeMember:
|
||||||
|
//微信支付充值会员
|
||||||
|
if _, err = cms.InvestMember(ctx, userMember[0].MemberType, order.UserID, true); err != nil {
|
||||||
|
dao.Rollback(db, txDB)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
globals.SugarLogger.Debugf("OnPayFinished 暂不支持此订单类型 order: %v", utils.Format4Output(order, false))
|
||||||
|
return fmt.Errorf("暂不支持此订单类型!")
|
||||||
|
}
|
||||||
|
dao.Commit(db, txDB)
|
||||||
|
globals.SugarLogger.Debugf("OnWXPayFinished end modify account ...")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user