From ed5deec4f4129656b236298320fc45549e9e10e9 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 22 Jul 2022 14:05:15 +0800 Subject: [PATCH] add --- business/jxstore/financial/bill.go | 53 +++---------------------- business/jxstore/financial/bill_test.go | 15 +++++++ business/jxstore/financial/pay.go | 8 +--- 3 files changed, 21 insertions(+), 55 deletions(-) create mode 100644 business/jxstore/financial/bill_test.go diff --git a/business/jxstore/financial/bill.go b/business/jxstore/financial/bill.go index 17b479047..efd7eaa82 100644 --- a/business/jxstore/financial/bill.go +++ b/business/jxstore/financial/bill.go @@ -1,9 +1,8 @@ package financial import ( - "fmt" + _ "fmt" "git.rosy.net.cn/baseapi/utils" - "git.rosy.net.cn/jx-callback/business/auth2" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model" @@ -169,42 +168,8 @@ func SettleUnionOrders(ctx *jxcontext.Context, vendorIDs []int) (err error) { } func WXInvestMember(ctx *jxcontext.Context, memberID int, userID string, isFree bool) (errCode string, err error) { - var ( - db = dao.GetDB() - memberCards []*model.MemberCard - memberCard *model.MemberCard - userIDReal string - ) - if !isFree { - userIDReal = ctx.GetUserID() - } else { - userIDReal = userID - } - userMembers, err := dao.GetUserMember(db, userIDReal, model.MemberTypeNormal) - configList, err := dao.QueryConfigs(db, model.ConfigTypeName[model.ConfigTypeMemberCard], model.ConfigTypeMemberCard, "") - userBill, err := dao.GetUserBill(db, userIDReal, "") - if len(configList) <= 0 { - return "", fmt.Errorf("未找到会员卡配置!") - } - config := configList[0] - err = jxutils.Strings2Objs(config.Value, &memberCards) - if err != nil { - return "", err - } - for _, v := range memberCards { - if v.ID == memberID { - memberCard = v - } - } - if !isFree { - //验证微信绑定 - if err = auth2.CheckWeixinminiAuthBind(userIDReal); err != nil { - return "", err - } - if userBill.AccountBalance < memberCard.ActPrice { - return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!") - } - } + var db = dao.GetDB() + userMembers, err := dao.GetUserMember(db, userID, model.MemberTypeNormal) txDB, _ := dao.Begin(db) defer func() { if r := recover(); r != nil { @@ -212,7 +177,7 @@ func WXInvestMember(ctx *jxcontext.Context, memberID int, userID string, isFree panic(r) } }() - //证明已经开了会员了,相当于续费 + //当前状态是否是会员 续费/开通 if len(userMembers) > 0 { userMember := userMembers[0] if memberID == model.MemberCardTypeMonth { @@ -226,7 +191,7 @@ func WXInvestMember(ctx *jxcontext.Context, memberID int, userID string, isFree } } else { userMember2 := &model.UserMember{ - UserID: userIDReal, + UserID: userID, MemberType: model.MemberTypeNormal, MemberTypeID: memberID, } @@ -241,14 +206,6 @@ func WXInvestMember(ctx *jxcontext.Context, memberID int, userID string, isFree return } } - if !isFree { - - //支出明细 - if err = AddExpendUpdateAccount(txDB, userBill, model.BillTypeMember, memberCard.ActPrice, 0); err != nil { - dao.Rollback(db, txDB) - return - } - } dao.Commit(db, txDB) return errCode, err } diff --git a/business/jxstore/financial/bill_test.go b/business/jxstore/financial/bill_test.go new file mode 100644 index 000000000..cefde1fb5 --- /dev/null +++ b/business/jxstore/financial/bill_test.go @@ -0,0 +1,15 @@ +package financial + +import ( + "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" + "testing" +) + +func TestOnWXPayFinished(t *testing.T) { + var ( + ctx *jxcontext.Context + ) + if _, err := WXInvestMember(ctx, 1, "1303D7B2096011ED9A4C525400C36BDA", true); err != nil { + t.Logf("微信购买会员失败") + } +} diff --git a/business/jxstore/financial/pay.go b/business/jxstore/financial/pay.go index a463d936c..f26f6444e 100644 --- a/business/jxstore/financial/pay.go +++ b/business/jxstore/financial/pay.go @@ -116,12 +116,6 @@ func OnWXPayFinished(order *model.Order) (err error) { 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) //根据订单类型来操作账户 @@ -132,7 +126,7 @@ func OnWXPayFinished(order *model.Order) (err error) { dao.Rollback(db, txDB) } default: - globals.SugarLogger.Debugf("OnPayFinished 暂不支持此订单类型 order: %v", utils.Format4Output(order, false)) + globals.SugarLogger.Debugf("OnWXPayFinished 暂不支持此订单类型 order: %v", utils.Format4Output(order, false)) return fmt.Errorf("暂不支持此订单类型!") } dao.Commit(db, txDB)