token
This commit is contained in:
@@ -362,6 +362,10 @@ func Pay4User(ctx *jxcontext.Context, thingID, payType int, vendorPayType string
|
||||
return nil, err
|
||||
}
|
||||
discountCard := findDiscountCard(dicountCards, thingID)
|
||||
flag, userMemberOrigin, err := checkMember(db, ctx.GetUserID(), discountCard)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
vendorOrderID = utils.Int64ToStr(GenOrderNo(ctx))
|
||||
order = &model.GoodsOrder{
|
||||
VendorOrderID: vendorOrderID,
|
||||
@@ -381,7 +385,12 @@ func Pay4User(ctx *jxcontext.Context, thingID, payType int, vendorPayType string
|
||||
IsPay: model.NO,
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(userMember, ctx.GetUserName())
|
||||
dao.CreateEntity(db, userMember)
|
||||
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)
|
||||
@@ -389,6 +398,25 @@ func Pay4User(ctx *jxcontext.Context, thingID, payType int, vendorPayType string
|
||||
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
|
||||
}
|
||||
|
||||
func time2ShortTimeStr(t time.Time) string {
|
||||
return t.Format("15:04")
|
||||
}
|
||||
@@ -497,7 +525,7 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) {
|
||||
} else {
|
||||
switch orderPay.PayType {
|
||||
case model.PayTypeTL_DiscountCard:
|
||||
userMembers, _ := dao.GetUserMember(dao.GetDB(), "", orderPay.VendorOrderID, model.MemberTypeDiscountCard)
|
||||
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")
|
||||
@@ -930,7 +958,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
} else {
|
||||
tuserID = userID
|
||||
}
|
||||
userMembers, _ := dao.GetUserMember(db, tuserID, "", model.MemberTypeDiscountCard)
|
||||
userMembers, _ := dao.GetUserMember(db, tuserID, "", model.MemberTypeDiscountCard, model.YES)
|
||||
if len(userMembers) > 0 {
|
||||
if configList, err := dao.QueryConfigs(db, "会员折扣卡", model.ConfigTypeDiscountCard, ""); err == nil {
|
||||
jxutils.Strings2Objs(configList[0].Value, &dicountCards)
|
||||
@@ -941,7 +969,6 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
outJxOrder.ActualPayPrice = outJxOrder.OrderPrice + outJxOrder.FreightPrice
|
||||
} else if jxOrder.OrderType == model.OrderTypeDefendPrice {
|
||||
outJxOrder.Skus[0].DefendPrice = jxOrder.Skus[0].DefendPrice
|
||||
|
||||
} else {
|
||||
outJxOrder.TotalPrice = outJxOrder.OrderPrice + outJxOrder.FreightPrice
|
||||
outJxOrder.ActualPayPrice = outJxOrder.TotalPrice
|
||||
|
||||
Reference in New Issue
Block a user