1.修改租卡会员统计相关逻辑;
This commit is contained in:
parent
246c641bc6
commit
eb920a93cd
|
@ -658,12 +658,12 @@ func PushWXPayNotice(c *gin.Context) {
|
|||
|
||||
fmt.Println("用户续费---")
|
||||
model.AddCooperativeMemberRenewal(inviteUser.CooperativeBusinessId,
|
||||
uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel))
|
||||
uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel), int(record.MemberGenre))
|
||||
|
||||
} else {
|
||||
fmt.Println("用户开通------")
|
||||
model.AddCooperativeMemberPromotion(inviteUser.CooperativeBusinessId,
|
||||
uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel))
|
||||
uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel), int(record.MemberGenre))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1375,6 +1375,9 @@ func HmPushWXPayNotice(c *gin.Context) {
|
|||
|
||||
remark := ""
|
||||
if record.MemberLevel == 2 {
|
||||
if record.MemberGenre != 201 && record.MemberGenre != 202 {
|
||||
record.MemberGenre = 200 // 新增:如果是年费黄金会员则member_genre设置为200
|
||||
}
|
||||
remark = "黄金会员费"
|
||||
} else if record.MemberLevel == 4 {
|
||||
remark = "白金会员费"
|
||||
|
@ -1608,12 +1611,12 @@ func HmPushWXPayNotice(c *gin.Context) {
|
|||
|
||||
fmt.Println("用户续费---")
|
||||
model.AddCooperativeMemberRenewal(inviteUser.CooperativeBusinessId,
|
||||
uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel))
|
||||
uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel), int(record.MemberGenre))
|
||||
|
||||
} else {
|
||||
fmt.Println("用户开通------")
|
||||
model.AddCooperativeMemberPromotion(inviteUser.CooperativeBusinessId,
|
||||
uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel))
|
||||
uint32(inviteUser.StoreId), inviteUser.Uid, int(record.MemberLevel), int(record.MemberGenre))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -177,7 +177,7 @@ type CooperativeDeductSettle struct {
|
|||
RenewalBlackGoldDeduct uint32 `json:"renewal_black_gold_deduct"` // 续费黑金金会员提成
|
||||
}
|
||||
|
||||
func AddCooperativeMemberPromotion(cooperativeId, storeId, assistantUid uint32, memberLevel int) {
|
||||
func AddCooperativeMemberPromotion(cooperativeId, storeId, assistantUid uint32, memberLevel, memberGenre int) {
|
||||
defer func() {
|
||||
if err := recover(); err != nil {
|
||||
logger.Error("err:", err)
|
||||
|
@ -231,7 +231,7 @@ func AddCooperativeMemberPromotion(cooperativeId, storeId, assistantUid uint32,
|
|||
return
|
||||
}
|
||||
|
||||
err = inviteReport.AddPromotion(begin, memberLevel)
|
||||
err = inviteReport.AddPromotion(begin, memberLevel, memberGenre)
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("promotion add promotion err:", err)
|
||||
|
@ -435,7 +435,7 @@ func (m *CooperativeMemberPromotionStoreDay) AddPromotion(gdb *gorm.DB, memberLe
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *InviteMemberReport) AddPromotion(gdb *gorm.DB, memberLevel int) error {
|
||||
func (m *InviteMemberReport) AddPromotion(gdb *gorm.DB, memberLevel, memberGenre int) error {
|
||||
dateString := utils.MonthDate()
|
||||
if memberLevel < 0 {
|
||||
return errors.New("member level err")
|
||||
|
@ -453,10 +453,23 @@ func (m *InviteMemberReport) AddPromotion(gdb *gorm.DB, memberLevel int) error {
|
|||
sql := ""
|
||||
switch memberLevel {
|
||||
case 2:
|
||||
sql = "UPDATE invite_member_report SET gold_count=gold_count+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
dateString, m.CooperativeBusinessId, m.StoreId, m.Uid)
|
||||
m.GoldCount = 1
|
||||
switch memberGenre {
|
||||
case 200: // 年度黄金
|
||||
sql = "UPDATE invite_member_report SET gold_count=gold_count+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
dateString, m.CooperativeBusinessId, m.StoreId, m.Uid)
|
||||
m.GoldCount = 1
|
||||
case 201: // 季度黄金
|
||||
sql = "UPDATE invite_member_report SET gold_count_quarter=gold_count_quarter+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
dateString, m.CooperativeBusinessId, m.StoreId, m.Uid)
|
||||
m.GoldCountQuarter = 1
|
||||
case 202: // 半年黄金
|
||||
sql = "UPDATE invite_member_report SET gold_count_half=gold_count_half+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
dateString, m.CooperativeBusinessId, m.StoreId, m.Uid)
|
||||
m.GoldCountHalf = 1
|
||||
}
|
||||
case 4:
|
||||
sql = "UPDATE invite_member_report SET platinum_count=platinum_count+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
|
@ -504,7 +517,7 @@ func (m *CooperativeBusiness) SetAssistantMemberDeductConfig(storeId uint32) {
|
|||
m.CooperativeAssistantMemberDeduct = &assistantDeductConfig
|
||||
}
|
||||
|
||||
func AddCooperativeMemberRenewal(cooperativeId, storeId, assistantUid uint32, memberLevel int) {
|
||||
func AddCooperativeMemberRenewal(cooperativeId, storeId, assistantUid uint32, memberLevel, memberGenre int) {
|
||||
defer func() {
|
||||
if err := recover(); err != nil {
|
||||
logger.Error("err:", err)
|
||||
|
@ -558,7 +571,7 @@ func AddCooperativeMemberRenewal(cooperativeId, storeId, assistantUid uint32, me
|
|||
return
|
||||
}
|
||||
|
||||
err = inviteReport.AddRenewal(begin, memberLevel)
|
||||
err = inviteReport.AddRenewal(begin, memberLevel, memberGenre)
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("promotion add promotion err:", err)
|
||||
|
@ -767,7 +780,7 @@ func (m *CooperativeMemberPromotionStoreDay) AddRenewal(gdb *gorm.DB, memberLeve
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *InviteMemberReport) AddRenewal(gdb *gorm.DB, memberLevel int) error {
|
||||
func (m *InviteMemberReport) AddRenewal(gdb *gorm.DB, memberLevel, memberGenre int) error {
|
||||
dateString := utils.MonthDate()
|
||||
if memberLevel < 0 {
|
||||
return errors.New("member level err")
|
||||
|
@ -786,10 +799,24 @@ func (m *InviteMemberReport) AddRenewal(gdb *gorm.DB, memberLevel int) error {
|
|||
sql := ""
|
||||
switch memberLevel {
|
||||
case 2:
|
||||
sql = "UPDATE invite_member_report SET renewal_gold_count=renewal_gold_count+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
dateString, m.CooperativeBusinessId, m.StoreId, m.Uid)
|
||||
m.RenewalGoldCount = 1
|
||||
switch memberGenre {
|
||||
case 200: // 年度黄金
|
||||
sql = "UPDATE invite_member_report SET renewal_gold_count=renewal_gold_count+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
dateString, m.CooperativeBusinessId, m.StoreId, m.Uid)
|
||||
m.RenewalGoldCount = 1
|
||||
case 201: // 季度黄金
|
||||
sql = "UPDATE invite_member_report SET renewal_gold_count_quarter=renewal_gold_count_quarter+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
dateString, m.CooperativeBusinessId, m.StoreId, m.Uid)
|
||||
m.RenewalGoldCountQuarter = 1
|
||||
case 202: // 半年黄金
|
||||
sql = "UPDATE invite_member_report SET renewal_gold_count_half=renewal_gold_count_half+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
dateString, m.CooperativeBusinessId, m.StoreId, m.Uid)
|
||||
m.RenewalGoldCountHalf = 1
|
||||
}
|
||||
|
||||
case 4:
|
||||
sql = "UPDATE invite_member_report SET renewal_platinum_count=renewal_platinum_count+1 " +
|
||||
fmt.Sprintf("WHERE date='%s' AND cooperative_business_id=%d AND store_id=%d AND uid=%d",
|
||||
|
|
|
@ -1307,7 +1307,7 @@ func TestExportGoodsStock(t *testing.T) {
|
|||
func TestAddCooperativeMemberPromotion(t *testing.T) {
|
||||
InitTestDB()
|
||||
DB = DBDev
|
||||
AddCooperativeMemberPromotion(4, 20, 68608411, 2)
|
||||
AddCooperativeMemberPromotion(4, 20, 68608411, 2, 200)
|
||||
}
|
||||
|
||||
func TestUpdateCooperativeBusiness(t *testing.T) {
|
||||
|
|
|
@ -407,11 +407,13 @@ func (m *UserOpenMemberRecord) MallGoodsOrderRefund(outTradeNo string) error {
|
|||
// gen:qs
|
||||
type InviteMemberReport struct {
|
||||
Model
|
||||
Uid uint32 `json:"uid" gorm:"index"` // 店员uid
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
GoldCount uint32 `json:"gold_count"` // 黄金数量
|
||||
PlatinumCount uint32 `json:"platinum_count"` // 白金数量
|
||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金数量
|
||||
Uid uint32 `json:"uid" gorm:"index"` // 店员uid
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
GoldCount uint32 `json:"gold_count"` // 黄金数量
|
||||
GoldCountHalf uint32 `json:"gold_count_half"` // 半年黄金数量
|
||||
GoldCountQuarter uint32 `json:"gold_count_quarter"` // 季度黄金数量
|
||||
PlatinumCount uint32 `json:"platinum_count"` // 白金数量
|
||||
BlackGoldCount uint32 `json:"black_gold_count"` // 黑金数量
|
||||
//ReportTime string `json:"report_time" gorm:"index"` // 业绩时间
|
||||
Date string `json:"date" gorm:"index"` // 业绩时间
|
||||
DeductAmount uint32 `json:"deduct_amount"` // 店员提成
|
||||
|
@ -420,7 +422,9 @@ type InviteMemberReport struct {
|
|||
GoldDeduct uint32 `json:"gold_deduct"` // 黄金会员提成
|
||||
PlatinumDeduct uint32 `json:"platinum_deduct"` // 白金会员提成
|
||||
BlackGoldDeduct uint32 `json:"black_gold_deduct"` // 黑金会员提成
|
||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费黄金会员数量(自动)
|
||||
RenewalGoldCount uint32 `json:"renewal_gold_count"` // 续费年度黄金会员数量(自动)
|
||||
RenewalGoldCountHalf uint32 `json:"renewal_gold_count_half"` // 续费半年黄金会员数量(自动)
|
||||
RenewalGoldCountQuarter uint32 `json:"renewal_gold_count_quarter"` // 续费季度黄金会员数量(自动)
|
||||
RenewalPlatinumCount uint32 `json:"renewal_platinum_count"` // 续费白金会员数量(自动)
|
||||
RenewalBlackGoldCount uint32 `json:"renewal_black_gold_count"` // 续费黑金会员数量(自动)
|
||||
UpgradeGoldToPlatinumCount uint32 `json:"upgrade_gold_to_platinum_count" gorm:"default:0"` // 升级:黄金->白金数量(自动)
|
||||
|
|
Loading…
Reference in New Issue
Block a user