This commit is contained in:
苏尹岚
2020-10-20 11:02:54 +08:00
parent 5dd72f7b2d
commit 5a76c726c4
2 changed files with 55 additions and 87 deletions

View File

@@ -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:
}

View File

@@ -48,7 +48,7 @@ func init() {
),
)
beego.AddNamespace(ns)
// beego.AutoRouter(&controllers)
beego.AutoRouter(&controllers.WXPayController{})
beego.AutoRouter(&controllers.TongLianController{})
// 如下都是用于检测存活的空接口