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) { func Pay4User(ctx *jxcontext.Context, thingID, payType int, vendorPayType string) (orderPay *model.OrderPay, err error) {
var ( // var (
db = dao.GetDB() // db = dao.GetDB()
order *model.GoodsOrder // order *model.GoodsOrder
dicountCards []*model.DiscountCard // dicountCards []*model.DiscountCard
vendorOrderID string // vendorOrderID string
) // )
switch payType { // switch payType {
case model.PayTypeTL_DiscountCard: // case model.PayTypeTL_DiscountCard:
if configList, err := dao.QueryConfigs(db, "会员折扣卡", model.ConfigTypeDiscountCard, ""); err == nil { // if configList, err := dao.QueryConfigs(db, "会员折扣卡", model.ConfigTypeDiscountCard, ""); err == nil {
jxutils.Strings2Objs(configList[0].Value, &dicountCards) // jxutils.Strings2Objs(configList[0].Value, &dicountCards)
if err != nil { // if err != nil {
return nil, err // return nil, err
} // }
discountCard := findDiscountCard(dicountCards, thingID) // discountCard := findDiscountCard(dicountCards, thingID)
// flag, userMemberOrigin, err := checkMember(db, ctx.GetUserID(), discountCard) // // flag, userMemberOrigin, err := checkMember(db, ctx.GetUserID(), discountCard)
if err != nil { // if err != nil {
return nil, err // return nil, err
} // }
vendorOrderID = utils.Int64ToStr(jxutils.GenOrderNo()) // vendorOrderID = utils.Int64ToStr(jxutils.GenOrderNo())
order = &model.GoodsOrder{ // order = &model.GoodsOrder{
VendorOrderID: vendorOrderID, // VendorOrderID: vendorOrderID,
ActualPayPrice: int64(discountCard.Price), // ActualPayPrice: int64(discountCard.Price),
VendorID: model.VendorIDJX, // VendorID: model.VendorIDJX,
} // }
if orderPay, err = pay4OrderByTL(ctx, order, payType, vendorPayType); err == nil && orderPay != nil { // if orderPay, err = pay4OrderByTL(ctx, order, payType, vendorPayType); err == nil && orderPay != nil {
dao.WrapAddIDCULDEntity(orderPay, ctx.GetUserName()) // dao.WrapAddIDCULDEntity(orderPay, ctx.GetUserName())
err = dao.CreateEntity(dao.GetDB(), orderPay) // err = dao.CreateEntity(dao.GetDB(), orderPay)
} // }
// userMember := &model.UserMember{ // userMember := &model.UserMember{
// VendorOrderID: vendorOrderID, // VendorOrderID: vendorOrderID,
// UserID: ctx.GetUserID(), // UserID: ctx.GetUserID(),
// MemberType: model.MemberTypeDiscountCard, // MemberType: model.MemberTypeDiscountCard,
// EndAt: utils.Str2Time(time.Now().AddDate(0, 1, 0).AddDate(0, 0, -1).Format("2006-01-02") + " 23:59:59"), // EndAt: utils.Str2Time(time.Now().AddDate(0, 1, 0).AddDate(0, 0, -1).Format("2006-01-02") + " 23:59:59"),
// MemberTypeID: thingID, // MemberTypeID: thingID,
// IsPay: model.NO, // 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("已购买更高档次的会员,无法继续购买!")
// }
// } // }
return 0, userMember, err // dao.WrapAddIDCULDEntity(userMember, ctx.GetUserName())
} // if flag == 0 {
// dao.CreateEntity(db, userMember)
func time2ShortTimeStr(t time.Time) string { // } else if flag == 1 {
return t.Format("15:04") // userMemberOrigin.EndAt = userMemberOrigin.EndAt.AddDate(0, 1, 0)
} // dao.UpdateEntity(db, userMemberOrigin, "EndAt")
// }
func findDiscountCard(dicountCards []*model.DiscountCard, thingID int) (dicountCard *model.DiscountCard) { // }
for _, v := range dicountCards { // default:
if v.ID == thingID { // err = fmt.Errorf("支付方式:%d当前不支持", payType)
return v // }
} return orderPay, err
}
return dicountCard
} }
func OnPayFinished(orderPay *model.OrderPay) (err error) { func OnPayFinished(orderPay *model.OrderPay) (err error) {
@@ -345,13 +313,13 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) {
} }
} else { } else {
switch orderPay.PayType { switch orderPay.PayType {
case model.PayTypeTL_DiscountCard: // case model.PayTypeTL_DiscountCard:
// userMembers, _ := dao.GetUserMember(dao.GetDB(), "", orderPay.VendorOrderID, model.MemberTypeDiscountCard, model.NO) // userMembers, _ := dao.GetUserMember(dao.GetDB(), "", orderPay.VendorOrderID, model.MemberTypeDiscountCard, model.NO)
// if len(userMembers) > 0 { // if len(userMembers) > 0 {
// userMembers[0].IsPay = model.YES // userMembers[0].IsPay = model.YES
// dao.UpdateEntity(dao.GetDB(), userMembers[0], "IsPay") // dao.UpdateEntity(dao.GetDB(), userMembers[0], "IsPay")
// err = nil // err = nil
// } // }
default: default:
} }

View File

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