增加了会员配置首单优惠价格

This commit is contained in:
wucongxing8150 2024-08-13 14:46:18 +08:00
parent 64ddac108b
commit fbb5b0bfd6
4 changed files with 25 additions and 3 deletions

View File

@ -157,6 +157,21 @@ func (b *SystemMember) PutSystemMember(c *gin.Context) {
} }
} }
// 首单优惠价格
if req.FirstTimePrice != nil {
if systemMember.FirstTimePrice == nil {
systemMemberData["first_time_price"] = req.FirstTimePrice
} else {
if *req.FirstTimePrice != *systemMember.FirstTimePrice {
systemMemberData["first_time_price"] = req.FirstTimePrice
}
}
} else {
if systemMember.FirstTimePrice != nil {
systemMemberData["first_time_price"] = nil
}
}
// 开始事务 // 开始事务
tx := global.Db.Begin() tx := global.Db.Begin()
defer func() { defer func() {
@ -214,9 +229,10 @@ func (b *SystemMember) AddSystemMember(c *gin.Context) {
}() }()
systemMember := &model.SystemMember{ systemMember := &model.SystemMember{
MemberDays: req.MemberDays, MemberDays: req.MemberDays,
Price: req.Price, Price: req.Price,
DiscountPrice: req.DiscountPrice, DiscountPrice: req.DiscountPrice,
FirstTimePrice: req.FirstTimePrice,
} }
// 处理优惠截止时间 // 处理优惠截止时间

View File

@ -12,6 +12,7 @@ type SystemMemberDto struct {
Price float64 `json:"price"` // 价格(原价) Price float64 `json:"price"` // 价格(原价)
DiscountPrice *float64 `json:"discount_price"` // 优惠价格 DiscountPrice *float64 `json:"discount_price"` // 优惠价格
DiscountEndTime *model.LocalTime `json:"discount_end_time"` // 优惠截止时间 DiscountEndTime *model.LocalTime `json:"discount_end_time"` // 优惠截止时间
FirstTimePrice *float64 `json:"first_time_price"` // 首次购买价格
CreatedAt model.LocalTime `json:"created_at"` // 创建时间 CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间 UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
} }
@ -29,6 +30,7 @@ func GetSystemMemberListDto(m []*model.SystemMember) []*SystemMemberDto {
Price: v.Price, Price: v.Price,
DiscountPrice: v.DiscountPrice, DiscountPrice: v.DiscountPrice,
DiscountEndTime: v.DiscountEndTime, DiscountEndTime: v.DiscountEndTime,
FirstTimePrice: v.FirstTimePrice,
CreatedAt: v.CreatedAt, CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt, UpdatedAt: v.UpdatedAt,
} }
@ -49,6 +51,7 @@ func GetSystemMemberDto(m *model.SystemMember) *SystemMemberDto {
Price: m.Price, Price: m.Price,
DiscountPrice: m.DiscountPrice, DiscountPrice: m.DiscountPrice,
DiscountEndTime: m.DiscountEndTime, DiscountEndTime: m.DiscountEndTime,
FirstTimePrice: m.FirstTimePrice,
CreatedAt: m.CreatedAt, CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt, UpdatedAt: m.UpdatedAt,
} }

View File

@ -13,6 +13,7 @@ type SystemMember struct {
Price float64 `gorm:"column:price;type:decimal(10,2);default:0.00;comment:价格(原价)" json:"price"` Price float64 `gorm:"column:price;type:decimal(10,2);default:0.00;comment:价格(原价)" json:"price"`
DiscountPrice *float64 `gorm:"column:discount_price;type:decimal(10,2);comment:优惠价格" json:"discount_price"` DiscountPrice *float64 `gorm:"column:discount_price;type:decimal(10,2);comment:优惠价格" json:"discount_price"`
DiscountEndTime *LocalTime `gorm:"column:discount_end_time;type:datetime;comment:优惠截止时间" json:"discount_end_time"` DiscountEndTime *LocalTime `gorm:"column:discount_end_time;type:datetime;comment:优惠截止时间" json:"discount_end_time"`
FirstTimePrice *float64 `gorm:"column:first_time_price;type:decimal(10,2);comment:首次购买价格" json:"first_time_price"`
Model Model
} }

View File

@ -11,6 +11,7 @@ type PutSystemMember struct {
Price float64 `json:"price" form:"price" label:"价格(原价)" validate:"required,numeric,min=0"` Price float64 `json:"price" form:"price" label:"价格(原价)" validate:"required,numeric,min=0"`
DiscountPrice *float64 `json:"discount_price" form:"discount_price" label:"优惠价格" validate:"omitempty,numeric,min=0"` DiscountPrice *float64 `json:"discount_price" form:"discount_price" label:"优惠价格" validate:"omitempty,numeric,min=0"`
DiscountEndTime *string `json:"discount_end_time" form:"discount_end_time" label:"优惠截止时间"` DiscountEndTime *string `json:"discount_end_time" form:"discount_end_time" label:"优惠截止时间"`
FirstTimePrice *float64 `json:"first_time_price" form:"first_time_price" label:"首次购买价格"`
} }
// AddSystemMember 新增会员配置 // AddSystemMember 新增会员配置
@ -19,4 +20,5 @@ type AddSystemMember struct {
Price float64 `json:"price" form:"price" label:"价格(原价)" validate:"required,numeric,min=0"` Price float64 `json:"price" form:"price" label:"价格(原价)" validate:"required,numeric,min=0"`
DiscountPrice *float64 `json:"discount_price" form:"discount_price" label:"优惠价格" validate:"omitempty,numeric,min=0"` DiscountPrice *float64 `json:"discount_price" form:"discount_price" label:"优惠价格" validate:"omitempty,numeric,min=0"`
DiscountEndTime *string `json:"discount_end_time" form:"discount_end_time" label:"优惠截止时间"` DiscountEndTime *string `json:"discount_end_time" form:"discount_end_time" label:"优惠截止时间"`
FirstTimePrice *float64 `json:"first_time_price" form:"first_time_price" label:"首次购买价格"`
} }