From 5a76c726c423376a27ab2dc0885a0aa901fe8fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 20 Oct 2020 11:02:54 +0800 Subject: [PATCH] wxpay --- business/partner/purchase/jx/localjx/order.go | 140 +++++++----------- routers/router.go | 2 +- 2 files changed, 55 insertions(+), 87 deletions(-) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index d4345a68e..81f8958bc 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -239,86 +239,54 @@ func Pay4Order(ctx *jxcontext.Context, orderID int64, payType int, vendorPayType } func Pay4User(ctx *jxcontext.Context, thingID, payType int, vendorPayType string) (orderPay *model.OrderPay, err error) { - var ( - db = dao.GetDB() - order *model.GoodsOrder - dicountCards []*model.DiscountCard - vendorOrderID string - ) - switch payType { - case model.PayTypeTL_DiscountCard: - if configList, err := dao.QueryConfigs(db, "会员折扣卡", model.ConfigTypeDiscountCard, ""); err == nil { - jxutils.Strings2Objs(configList[0].Value, &dicountCards) - if err != nil { - return nil, err - } - discountCard := findDiscountCard(dicountCards, thingID) - // flag, userMemberOrigin, err := checkMember(db, ctx.GetUserID(), discountCard) - if err != nil { - return nil, err - } - vendorOrderID = utils.Int64ToStr(jxutils.GenOrderNo()) - order = &model.GoodsOrder{ - VendorOrderID: vendorOrderID, - ActualPayPrice: int64(discountCard.Price), - VendorID: model.VendorIDJX, - } - if orderPay, err = pay4OrderByTL(ctx, order, payType, vendorPayType); err == nil && orderPay != nil { - dao.WrapAddIDCULDEntity(orderPay, ctx.GetUserName()) - err = dao.CreateEntity(dao.GetDB(), orderPay) - } - // userMember := &model.UserMember{ - // VendorOrderID: vendorOrderID, - // UserID: ctx.GetUserID(), - // MemberType: model.MemberTypeDiscountCard, - // EndAt: utils.Str2Time(time.Now().AddDate(0, 1, 0).AddDate(0, 0, -1).Format("2006-01-02") + " 23:59:59"), - // MemberTypeID: thingID, - // IsPay: model.NO, - // } - // dao.WrapAddIDCULDEntity(userMember, ctx.GetUserName()) - // if flag == 0 { - // dao.CreateEntity(db, userMember) - // } else if flag == 1 { - // userMemberOrigin.EndAt = userMemberOrigin.EndAt.AddDate(0, 1, 0) - // dao.UpdateEntity(db, userMemberOrigin, "EndAt") - // } - } - default: - err = fmt.Errorf("支付方式:%d当前不支持", payType) - } - return orderPay, err -} - -//flag -//0 正常购买 -//1 续费 -//-1 不能购买 -func checkMember(db *dao.DaoDB, userID string, discountCard *model.DiscountCard) (flag int, userMember *model.UserMember, err error) { - // userMembers, err := dao.GetUserMember(db, userID, "", model.MemberTypeDiscountCard, model.YES) - // if len(userMembers) > 0 { - // userMember = userMembers[0] - // if userMember.ID < discountCard.ID { - // return 0, userMember, err - // } else if userMember.ID == discountCard.ID { - // return 1, userMember, err - // } else { - // return -1, userMember, fmt.Errorf("已购买更高档次的会员,无法继续购买!") - // } + // var ( + // db = dao.GetDB() + // order *model.GoodsOrder + // dicountCards []*model.DiscountCard + // vendorOrderID string + // ) + // switch payType { + // case model.PayTypeTL_DiscountCard: + // if configList, err := dao.QueryConfigs(db, "会员折扣卡", model.ConfigTypeDiscountCard, ""); err == nil { + // jxutils.Strings2Objs(configList[0].Value, &dicountCards) + // if err != nil { + // return nil, err + // } + // discountCard := findDiscountCard(dicountCards, thingID) + // // flag, userMemberOrigin, err := checkMember(db, ctx.GetUserID(), discountCard) + // if err != nil { + // return nil, err + // } + // vendorOrderID = utils.Int64ToStr(jxutils.GenOrderNo()) + // order = &model.GoodsOrder{ + // VendorOrderID: vendorOrderID, + // ActualPayPrice: int64(discountCard.Price), + // VendorID: model.VendorIDJX, + // } + // if orderPay, err = pay4OrderByTL(ctx, order, payType, vendorPayType); err == nil && orderPay != nil { + // dao.WrapAddIDCULDEntity(orderPay, ctx.GetUserName()) + // err = dao.CreateEntity(dao.GetDB(), orderPay) + // } + // userMember := &model.UserMember{ + // VendorOrderID: vendorOrderID, + // UserID: ctx.GetUserID(), + // MemberType: model.MemberTypeDiscountCard, + // EndAt: utils.Str2Time(time.Now().AddDate(0, 1, 0).AddDate(0, 0, -1).Format("2006-01-02") + " 23:59:59"), + // MemberTypeID: thingID, + // IsPay: model.NO, // } - return 0, userMember, err -} - -func time2ShortTimeStr(t time.Time) string { - return t.Format("15:04") -} - -func findDiscountCard(dicountCards []*model.DiscountCard, thingID int) (dicountCard *model.DiscountCard) { - for _, v := range dicountCards { - if v.ID == thingID { - return v - } - } - return dicountCard + // dao.WrapAddIDCULDEntity(userMember, ctx.GetUserName()) + // if flag == 0 { + // dao.CreateEntity(db, userMember) + // } else if flag == 1 { + // userMemberOrigin.EndAt = userMemberOrigin.EndAt.AddDate(0, 1, 0) + // dao.UpdateEntity(db, userMemberOrigin, "EndAt") + // } + // } + // default: + // err = fmt.Errorf("支付方式:%d当前不支持", payType) + // } + return orderPay, err } func OnPayFinished(orderPay *model.OrderPay) (err error) { @@ -345,13 +313,13 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) { } } else { switch orderPay.PayType { - case model.PayTypeTL_DiscountCard: - // userMembers, _ := dao.GetUserMember(dao.GetDB(), "", orderPay.VendorOrderID, model.MemberTypeDiscountCard, model.NO) - // if len(userMembers) > 0 { - // userMembers[0].IsPay = model.YES - // dao.UpdateEntity(dao.GetDB(), userMembers[0], "IsPay") - // err = nil - // } + // case model.PayTypeTL_DiscountCard: + // userMembers, _ := dao.GetUserMember(dao.GetDB(), "", orderPay.VendorOrderID, model.MemberTypeDiscountCard, model.NO) + // if len(userMembers) > 0 { + // userMembers[0].IsPay = model.YES + // dao.UpdateEntity(dao.GetDB(), userMembers[0], "IsPay") + // err = nil + // } default: } diff --git a/routers/router.go b/routers/router.go index 26c6878a1..40d2cede2 100644 --- a/routers/router.go +++ b/routers/router.go @@ -48,7 +48,7 @@ func init() { ), ) beego.AddNamespace(ns) - // beego.AutoRouter(&controllers) + beego.AutoRouter(&controllers.WXPayController{}) beego.AutoRouter(&controllers.TongLianController{}) // 如下都是用于检测存活的空接口