1、取消屏蔽发放尊享会员优惠券逻辑;
2、会员兑换码记录列表接口增加"兑换码类型"入参; 3、增加尊享会员兑换码兑换流程;
This commit is contained in:
parent
01ace1c5fa
commit
eb5542339d
|
@ -289,7 +289,7 @@ func ErpOrderAudit(c *gin.Context) {
|
|||
|
||||
if req.State == 1 && (nPayStatus == model.HavePaid || erpOrder.RetailType == model.RetailTypeRejected) { // 已完成支付的零售订单判断是否发优惠券
|
||||
// 发放尊享会员优惠券
|
||||
//model.UpdateSwitchUserCoupon(erpOrder.ID, erpOrder.Uid, erpOrder.RetailType)
|
||||
model.UpdateSwitchUserCoupon(erpOrder.ID, erpOrder.Uid, erpOrder.RetailType)
|
||||
}
|
||||
|
||||
app.OK(c, nil, "")
|
||||
|
|
|
@ -2603,7 +2603,7 @@ func ErpOrderPay(req *ErpOrderPayReq, c *gin.Context) (*ErpOrderPayResp, error)
|
|||
|
||||
if payStatus == PayOk { // 已完成支付的订单判断是否发优惠券
|
||||
// 发放尊享会员优惠券
|
||||
//UpdateSwitchUserCoupon(orderInfo.ID, orderInfo.Uid, orderInfo.RetailType)
|
||||
UpdateSwitchUserCoupon(orderInfo.ID, orderInfo.Uid, orderInfo.RetailType)
|
||||
}
|
||||
|
||||
return resp, nil
|
||||
|
@ -2713,7 +2713,7 @@ func QueryErpOrderPayStatus(billSn string) (*ErpOrderPayResp, error) {
|
|||
|
||||
if payStatus == PayOk { // 已完成支付的订单判断是否发优惠券
|
||||
// 发放尊享会员优惠券
|
||||
//UpdateSwitchUserCoupon(orderInfo.ID, orderInfo.Uid, orderInfo.RetailType)
|
||||
UpdateSwitchUserCoupon(orderInfo.ID, orderInfo.Uid, orderInfo.RetailType)
|
||||
}
|
||||
|
||||
resp.Status = payStatus
|
||||
|
|
|
@ -16,10 +16,11 @@ const (
|
|||
RedeemCodeStatusUsed = "used" // 已使用
|
||||
)
|
||||
const (
|
||||
CodeTypeMemberCard30 = "member-card-30"
|
||||
CodeTypeMemberGoldMember = "member-card-gold-member"
|
||||
CodeTypeMemberPlatinumMember = "member-card-platinum-member"
|
||||
CodeTypeMemberBlackGoldMember = "member-card-black-gold-member"
|
||||
CodeTypeMemberCard30 = "member-card-30" // 30天租卡会员
|
||||
CodeTypeMemberGoldMember = "member-card-gold-member" // 黄金会员
|
||||
CodeTypeMemberPlatinumMember = "member-card-platinum-member" // 白金会员
|
||||
CodeTypeMemberBlackGoldMember = "member-card-black-gold-member" // 黑金会员
|
||||
CodeTypeMemberPrivilegeMember = "member-card-privilege-member" // 尊享会员
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -95,8 +96,9 @@ func RedeemSecretCode(redeem string) string {
|
|||
type RedeemCodeListReq struct {
|
||||
PageIndex int `json:"pageIndex"`
|
||||
PageSize int `json:"pageSize"`
|
||||
Status string `json:"status" ` // user-hold used
|
||||
SerialCode string `json:"serial_code" ` // 兑换编码
|
||||
Status string `json:"status"` // user-hold used
|
||||
SerialCode string `json:"serial_code"` // 兑换编码
|
||||
CodeType string `json:"code_type"` // 兑换码类型
|
||||
}
|
||||
type RedeemCodeListResp struct {
|
||||
List []RedeemCode `json:"list"`
|
||||
|
@ -117,6 +119,9 @@ func (m *RedeemCodeListReq) RedeemCodeStockList() (*RedeemCodeListResp, error) {
|
|||
if m.SerialCode != "" {
|
||||
qs = qs.Where("serial_code=?", m.SerialCode)
|
||||
}
|
||||
if m.CodeType != "" {
|
||||
qs = qs.Where("code_type=?", m.CodeType)
|
||||
}
|
||||
|
||||
var count int64
|
||||
err := qs.Count(&count).Error
|
||||
|
@ -147,8 +152,9 @@ func (m *RedeemCodeListReq) RedeemCodeStockList() (*RedeemCodeListResp, error) {
|
|||
type UserRedeemCodeListReq struct {
|
||||
PageIndex int `json:"pageIndex"`
|
||||
PageSize int `json:"pageSize"`
|
||||
Status string `json:"status" ` // user-hold used
|
||||
SerialCode string `json:"serial_code" ` // 兑换编码
|
||||
Status string `json:"status"` // user-hold used
|
||||
SerialCode string `json:"serial_code"` // 兑换编码
|
||||
CodeType string `json:"code_type"` // 兑换码类型
|
||||
Uid int `json:"uid"`
|
||||
ConvertStart string `json:"convert_start"`
|
||||
ConvertEnd string `json:"convert_end"`
|
||||
|
@ -183,6 +189,9 @@ func (m *UserRedeemCodeListReq) UserSendRedeemCodeList() (*UserRedeemCodeListRes
|
|||
if m.Uid != 0 {
|
||||
qs = qs.Where("uid=?", m.Uid)
|
||||
}
|
||||
if m.CodeType != "" {
|
||||
qs = qs.Where("code_type=?", m.CodeType)
|
||||
}
|
||||
|
||||
if m.ConvertStart != "" {
|
||||
parse, err := time.Parse(DateTimeFormat, m.ConvertStart)
|
||||
|
@ -234,26 +243,58 @@ func CodeSendToUser(uid, storeId uint32, codeType string) error {
|
|||
return err
|
||||
}
|
||||
memberRedeemCode := int64(0)
|
||||
|
||||
if redeemCode.CodeType == CodeTypeMemberPrivilegeMember { // 尊享会员
|
||||
err = orm.Eloquent.Table("user_redeem_code").Where("uid=?", uid).
|
||||
Where("code_type = ?", CodeTypeMemberPrivilegeMember).Count(&memberRedeemCode).Error
|
||||
} else { // 租卡会员
|
||||
err = orm.Eloquent.Table("user_redeem_code").Where("uid=?", uid).
|
||||
Where("code_type in (?)", []string{CodeTypeMemberGoldMember, CodeTypeMemberPlatinumMember,
|
||||
CodeTypeMemberBlackGoldMember}).Count(&memberRedeemCode).Error
|
||||
}
|
||||
if err != nil {
|
||||
logger.Errorf("err:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
|
||||
if redeemCode.CodeType == CodeTypeMemberPrivilegeMember { // 尊享会员
|
||||
if memberRedeemCode > 0 {
|
||||
logger.Errorf("err:", logger.Field("err", err))
|
||||
return errors.New("member_redeem_code_only")
|
||||
}
|
||||
} else { // 租卡会员
|
||||
if memberRedeemCode > 0 && codeType != CodeTypeMemberCard30 {
|
||||
logger.Errorf("err:", logger.Field("err", err))
|
||||
return errors.New("member_redeem_code_only")
|
||||
}
|
||||
}
|
||||
|
||||
if redeemCode.CodeType == CodeTypeMemberPrivilegeMember { // 尊享会员
|
||||
// 获取尊享会员信息
|
||||
var privilegeUserInfo PrivilegeMember
|
||||
if err := orm.Eloquent.Table("privilege_member").Where("uid = ?", uid).Find(&privilegeUserInfo).Error; err != nil {
|
||||
logger.Errorf("获取尊享会员信息出错:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
|
||||
if privilegeUserInfo.MemberLevel == 6 { // 已经是尊享会员
|
||||
logger.Errorf("user is member:")
|
||||
return errors.New("user_is_member")
|
||||
}
|
||||
|
||||
} else { // 租卡会员
|
||||
userInfo, err := GetUserInfoByUid(uid)
|
||||
if err != nil {
|
||||
logger.Errorf("err:", logger.Field("err", err))
|
||||
return err
|
||||
}
|
||||
|
||||
if userInfo.MemberLevel != 1 && userInfo.MemberLevel != 3 && codeType != CodeTypeMemberCard30 {
|
||||
logger.Errorf("user is member:")
|
||||
return errors.New("user_is_member")
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Println("CodeSendToUser uid:", uid)
|
||||
_, err = IsUserInfoByUid(uid)
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in New Issue
Block a user