修改了优惠卷数据

This commit is contained in:
2024-08-08 13:54:52 +08:00
parent d305df4a23
commit 3dce6ebfc8
9 changed files with 127 additions and 188 deletions
+25
View File
@@ -3,6 +3,7 @@ package dto
import (
"fmt"
"hepa-calc-admin-api/api/model"
"strings"
)
type CouponDto struct {
@@ -21,6 +22,7 @@ type CouponDto struct {
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"` // 更新时间
@@ -60,6 +62,11 @@ func GetCouponListDto(m []*model.Coupon) []*CouponDto {
response.ValidDays = *v.ValidDays
}
// 加载会员id
if v.SystemMemberIds != "" {
response = response.LoadSystemMemberIds(v.SystemMemberIds)
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
@@ -99,3 +106,21 @@ func GetCouponDto(m *model.Coupon) *CouponDto {
return response
}
// 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
}
-76
View File
@@ -24,9 +24,6 @@ type QuestionDto struct {
QuestionExplain string `json:"question_explain"` // 问题解释/科普
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
IsCollection bool `json:"is_collection"` // 用户是否收藏
FirstTimePrice *float64 `json:"first_time_price"` // 首次购买价格
BuyCount int `json:"buy_count"` // 被购买数量
BaseClass []*BaseClassDto `json:"base_class"` // 关联分类
}
@@ -112,76 +109,3 @@ func GetHotQuestionListDto(m []*model.Question) []*QuestionDto {
return responses
}
// GetRecommendQuestionListDto 列表-为你推荐
func GetRecommendQuestionListDto(m []*model.Question) []*QuestionDto {
// 处理返回值
responses := make([]*QuestionDto, len(m))
if len(m) > 0 {
for i, v := range m {
response := &QuestionDto{
QuestionId: fmt.Sprintf("%d", v.QuestionId),
QuestionTitle: v.QuestionTitle,
QuestionSubtitle: v.QuestionSubtitle,
QuestionIden: v.QuestionIden,
ClickCount: v.ClickCount,
SubmitCount: v.SubmitCount,
PayCount: v.PayCount,
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
}
return responses
}
// GetGuessUserLikeListDto 列表-猜你喜欢
func GetGuessUserLikeListDto(m []*model.Question) []*QuestionDto {
// 处理返回值
responses := make([]*QuestionDto, len(m))
if len(m) > 0 {
for i, v := range m {
response := &QuestionDto{
QuestionId: fmt.Sprintf("%d", v.QuestionId),
QuestionTitle: v.QuestionTitle,
QuestionSubtitle: v.QuestionSubtitle,
QuestionIden: v.QuestionIden,
ClickCount: v.ClickCount,
SubmitCount: v.SubmitCount,
PayCount: v.PayCount,
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
}
return responses
}
// LoadIsCollection 加载数据-是否收藏
func (r *QuestionDto) LoadIsCollection(isCollection bool) *QuestionDto {
r.IsCollection = isCollection
return r
}
// LoadFirstTimePrice 加载数据-首次购买价格
func (r *QuestionDto) LoadFirstTimePrice(firstTimePrice *float64) *QuestionDto {
if firstTimePrice != nil {
r.FirstTimePrice = firstTimePrice
}
return r
}
// LoadBuyCount 加载数据-问题被购买数量
func (r *QuestionDto) LoadBuyCount(buyCount int) *QuestionDto {
r.BuyCount = buyCount
return r
}
+54 -45
View File
@@ -9,23 +9,26 @@ import (
// UserDto 用户表
type UserDto struct {
UserId string `json:"user_id"` // 用户id
UserName string `json:"user_name"` // 用户名称
Mobile string `json:"mobile"` // 手机号
UserStatus int `json:"user_status"` // 状态(1:正常 2:禁用)
RegisterSource int `json:"register_source"` // 注册来源(1:app注册 2:公众号注册)
OpenId string `json:"open_id"` // 用户微信标识
UnionId string `json:"union_id"` // 微信开放平台标识
Age *uint `json:"age"` // 年龄
Sex uint `json:"sex"` // 性别(0:未知 1:男 2:女)
Avatar string `json:"avatar"` // 头像
IsMember int `json:"is_member"` // 是否会员(0:否 1:是)
MemberExpireDate *time.Time `json:"member_expire_date"` // 会员到期时间(非会员时为null)
LoginAt model.LocalTime `json:"login_at"` // 登陆时间
LoginIp string `json:"login_ip"` // 登陆ip
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
IsInfoComplete int `json:"is_info_complete"` // 信息完善状态 0:否 1:是
UserId string `json:"user_id"` // 用户id
UserName string `json:"user_name"` // 用户名称
Mobile string `json:"mobile"` // 手机号
UserStatus int `json:"user_status"` // 状态(1:正常 2:禁用)
RegisterSource int `json:"register_source"` // 注册来源(1:app注册 2:公众号注册)
OpenId string `json:"open_id"` // 用户微信标识
UnionId string `json:"union_id"` // 微信开放平台标识
Age *uint `json:"age"` // 年龄
Sex uint `json:"sex"` // 性别(0:未知 1:男 2:女)
Avatar string `json:"avatar"` // 头像
IsMember int `json:"is_member"` // 是否会员(0:否 1:是)
MemberExpireDate *time.Time `json:"member_expire_date"` // 会员到期时间(非会员时为null)
SingleSubmitCount int `json:"single_submit_count"` // 单项提交次数(提交个人信息进行了算算的人次)
SinglePayCount int `json:"single_pay_count"` // 单项支付次数(查看报告的人次)
MemberBuyCount int `json:"member_buy_count"` // 会员购买次数
LoginAt model.LocalTime `json:"login_at"` // 登陆时间
LoginIp string `json:"login_ip"` // 登陆ip
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
IsInfoComplete int `json:"is_info_complete"` // 信息完善状态 0:否 1:是
}
// GetUserListDto 列表
@@ -36,20 +39,23 @@ func GetUserListDto(m []*model.User) []*UserDto {
if len(m) > 0 {
for i, v := range m {
response := &UserDto{
UserId: fmt.Sprintf("%d", v.UserId),
UserName: v.UserName,
Mobile: v.Mobile,
UserStatus: v.UserStatus,
RegisterSource: v.RegisterSource,
Age: v.Age,
Sex: uint(v.Sex),
Avatar: utils.AddOssDomain(v.Avatar),
IsMember: v.IsMember,
MemberExpireDate: v.MemberExpireDate,
LoginAt: v.LoginAt,
LoginIp: v.LoginIp,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
UserId: fmt.Sprintf("%d", v.UserId),
UserName: v.UserName,
Mobile: v.Mobile,
UserStatus: v.UserStatus,
RegisterSource: v.RegisterSource,
Age: v.Age,
Sex: uint(v.Sex),
Avatar: utils.AddOssDomain(v.Avatar),
IsMember: v.IsMember,
MemberExpireDate: v.MemberExpireDate,
SingleSubmitCount: v.SingleSubmitCount,
SinglePayCount: v.SinglePayCount,
MemberBuyCount: v.MemberBuyCount,
LoginAt: v.LoginAt,
LoginIp: v.LoginIp,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
// 加载信息完善状态
@@ -68,20 +74,23 @@ func GetUserListDto(m []*model.User) []*UserDto {
// GetUserDto 详情-问题
func GetUserDto(m *model.User) *UserDto {
return &UserDto{
UserId: fmt.Sprintf("%d", m.UserId),
UserName: m.UserName,
Mobile: m.Mobile,
UserStatus: m.UserStatus,
RegisterSource: m.RegisterSource,
Age: m.Age,
Sex: uint(m.Sex),
Avatar: utils.AddOssDomain(m.Avatar),
IsMember: m.IsMember,
MemberExpireDate: m.MemberExpireDate,
LoginAt: m.LoginAt,
LoginIp: m.LoginIp,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
UserId: fmt.Sprintf("%d", m.UserId),
UserName: m.UserName,
Mobile: m.Mobile,
UserStatus: m.UserStatus,
RegisterSource: m.RegisterSource,
Age: m.Age,
Sex: uint(m.Sex),
Avatar: utils.AddOssDomain(m.Avatar),
IsMember: m.IsMember,
MemberExpireDate: m.MemberExpireDate,
SingleSubmitCount: m.SingleSubmitCount,
SinglePayCount: m.SinglePayCount,
MemberBuyCount: m.MemberBuyCount,
LoginAt: m.LoginAt,
LoginIp: m.LoginIp,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
+3
View File
@@ -73,6 +73,9 @@ func (r *UserCouponDto) LoadCoupon(m *model.Coupon) *UserCouponDto {
if m != nil {
d := GetCouponDto(m)
// 加载会员id
d.LoadSystemMemberIds(m.SystemMemberIds)
r.Coupon = d
}
return r