wxpay
This commit is contained in:
@@ -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:
|
||||
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ func init() {
|
||||
),
|
||||
)
|
||||
beego.AddNamespace(ns)
|
||||
// beego.AutoRouter(&controllers)
|
||||
beego.AutoRouter(&controllers.WXPayController{})
|
||||
beego.AutoRouter(&controllers.TongLianController{})
|
||||
|
||||
// 如下都是用于检测存活的空接口
|
||||
|
||||
Reference in New Issue
Block a user