新增混合支付+完善新会员充值
This commit is contained in:
@@ -7,7 +7,6 @@ import (
|
||||
"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/dao"
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
"github.com/astaxie/beego/client/orm"
|
||||
"time"
|
||||
)
|
||||
@@ -168,6 +167,7 @@ func SettleUnionOrders(ctx *jxcontext.Context, vendorIDs []int) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
//微信 老会员续费
|
||||
func WXInvestMember(ctx *jxcontext.Context, memberID int, userID string) (errCode string, err error) {
|
||||
var db = dao.GetDB()
|
||||
//获取用户 当前会员信息
|
||||
@@ -176,12 +176,10 @@ func WXInvestMember(ctx *jxcontext.Context, memberID int, userID string) (errCod
|
||||
return "获取用户会员信息失败", err
|
||||
}
|
||||
//当前状态是否是会员 续费/开通
|
||||
var cnt = 0
|
||||
if len(userMembers) > 0 {
|
||||
userMember := userMembers[0]
|
||||
if memberID == model.OrderTypeMember {
|
||||
userMember.EndAt = userMember.EndAt.AddDate(0, 1, 0)
|
||||
cnt++
|
||||
} else {
|
||||
userMember.EndAt = userMember.EndAt.AddDate(1, 0, 0)
|
||||
}
|
||||
@@ -204,6 +202,25 @@ func WXInvestMember(ctx *jxcontext.Context, memberID int, userID string) (errCod
|
||||
return "开通会员失败", err
|
||||
}
|
||||
}
|
||||
globals.SugarLogger.Debugf("==================== %d", cnt)
|
||||
return errCode, err
|
||||
}
|
||||
|
||||
//微信 新充值会员
|
||||
func WXInvestMemberNew(ctx *jxcontext.Context, memberID int, userID string) (errCode string, err error) {
|
||||
var db = dao.GetDB()
|
||||
userMember2 := &model.UserMember{
|
||||
UserID: userID,
|
||||
MemberType: model.MemberTypeNormal,
|
||||
MemberTypeID: memberID,
|
||||
}
|
||||
if memberID == model.OrderTypeMember {
|
||||
userMember2.EndAt = time.Now().AddDate(0, 1, 0)
|
||||
} else {
|
||||
userMember2.EndAt = time.Now().AddDate(1, 0, 0)
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(userMember2, ctx.GetUserName())
|
||||
if err = dao.CreateEntity(db, userMember2); err != nil {
|
||||
return "开通会员失败", err
|
||||
}
|
||||
return errCode, err
|
||||
}
|
||||
|
||||
@@ -296,13 +296,9 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
|
||||
if call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
|
||||
switch order.OrderType {
|
||||
case model.PayType4Express:
|
||||
<<<<<<< HEAD
|
||||
err = q_bida.CreateOrder2QBiDa(&userOrder)
|
||||
=======
|
||||
err = q_bida.CreateOrder2QBiDa(&userOrder, order.OrderID)
|
||||
case model.PayType4Member, model.PayType4Recharge:
|
||||
err = OnPayFinished(order)
|
||||
>>>>>>> 273aa3164fbc887ac30837bd4ce1b25410ca498c
|
||||
}
|
||||
}
|
||||
return err
|
||||
|
||||
@@ -105,12 +105,27 @@ func OnCashFinished(order *model.Order) (err error) {
|
||||
//微信支付充值会员
|
||||
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))
|
||||
//判断是新会员充值还是老会员续费
|
||||
userMembers, err := dao.GetUserMember(db, order.UserID, model.MemberTypeNormal)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//根据订单类型来操作账户
|
||||
if order.Type == model.OrderTypePay {
|
||||
_, err = WXInvestMember(ctx, order.OrderType, order.UserID)
|
||||
//为新会员生成会员信息并充值
|
||||
if len(userMembers) > 0 {
|
||||
if _, err := WXInvestMember(ctx, order.OrderType, order.UserID); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
if _, err := WXInvestMemberNew(ctx, order.OrderType, order.UserID); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
globals.SugarLogger.Debugf("OnWXPayFinished 暂不支持此订单类型 order: %v", utils.Format4Output(order, false))
|
||||
return fmt.Errorf("暂不支持此订单类型!")
|
||||
|
||||
Reference in New Issue
Block a user