72 lines
3.0 KiB
Go
72 lines
3.0 KiB
Go
package dto
|
||
|
||
import (
|
||
"fmt"
|
||
"hepa-calc-api/api/model"
|
||
"strings"
|
||
)
|
||
|
||
type CouponDto struct {
|
||
CouponId string `json:"coupon_id"` // 主键id
|
||
CouponName string `json:"coupon_name"` // 优惠券名称
|
||
CouponType int `json:"coupon_type"` // 优惠券类型(1:无门槛 2:满减)
|
||
CouponStatus int `json:"coupon_status"` // 状态(1:正常 2:强制失效 3:结束 4:删除)
|
||
ApplicationScope int `json:"application_scope"` // 适用范围(1:全场通用)
|
||
IsMutex int `json:"is_mutex"` // 是否互斥(0:否 1:是)
|
||
CouponCount int `json:"coupon_count"` // 发放数量
|
||
CouponTakeCount int `json:"coupon_take_count"` // 已领取数量
|
||
CouponUsedCount int `json:"coupon_used_count"` // 已使用数量
|
||
CouponPrice float64 `json:"coupon_price"` // 优惠券金额
|
||
WithAmount float64 `json:"with_amount"` // 符合满减标准金额(优惠券类型为满减时使用)
|
||
ValidType int `json:"valid_type"` // 有效类型(1:绝对时效,xxx-xxx时间段有效 2:相对时效 n天内有效)
|
||
ValidDays int `json:"valid_days"` // 自领取之日起有效天数
|
||
ValidStartTime *model.LocalTime `json:"valid_start_time"` // 开始使用时间
|
||
ValidEndTime *model.LocalTime `json:"valid_end_time"` // 结束使用时间
|
||
SystemMemberIds []*string `json:"system_member_ids"` // 会员id(适用范围为会员时生效,如果此项为null,则表示所有会员通用)
|
||
CouponDesc string `json:"coupon_desc"` // 优惠券描述
|
||
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
|
||
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
|
||
}
|
||
|
||
// GetCouponDto 优惠卷详情
|
||
func GetCouponDto(m *model.Coupon) *CouponDto {
|
||
return &CouponDto{
|
||
CouponId: fmt.Sprintf("%d", m.CouponId),
|
||
CouponName: m.CouponName,
|
||
CouponType: m.CouponType,
|
||
CouponStatus: m.CouponStatus,
|
||
ApplicationScope: m.ApplicationScope,
|
||
IsMutex: m.IsMutex,
|
||
CouponCount: m.CouponCount,
|
||
CouponTakeCount: m.CouponTakeCount,
|
||
CouponUsedCount: m.CouponUsedCount,
|
||
CouponPrice: m.CouponPrice,
|
||
WithAmount: m.WithAmount,
|
||
ValidType: m.ValidType,
|
||
ValidDays: m.ValidDays,
|
||
ValidStartTime: m.ValidStartTime,
|
||
ValidEndTime: m.ValidEndTime,
|
||
CouponDesc: m.CouponDesc,
|
||
CreatedAt: m.CreatedAt,
|
||
UpdatedAt: m.UpdatedAt,
|
||
}
|
||
}
|
||
|
||
// LoadSystemMemberIds 加载会员id
|
||
func (r *CouponDto) LoadSystemMemberIds(systemMemberIds string) *CouponDto {
|
||
if systemMemberIds != "" {
|
||
s := strings.Split(systemMemberIds, ",")
|
||
|
||
response := make([]*string, len(s))
|
||
|
||
for i, v := range s {
|
||
h := fmt.Sprintf("%v", v)
|
||
response[i] = &h
|
||
}
|
||
|
||
r.SystemMemberIds = response
|
||
}
|
||
|
||
return r
|
||
}
|