From 803f4403b2a750e4121ce725a7df8f5c7d248483 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Tue, 10 Sep 2024 08:47:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BC=9A=E5=91=98=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8-=E6=9C=80=E8=BF=91=E4=B8=8B?= =?UTF-8?q?=E5=8D=95=E5=A2=9E=E5=8A=A0=E8=99=9A=E5=81=87=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/OrderMember.go | 144 ++++++++++++++++++++++++++++------ api/dto/OrderMember.go | 10 +-- 2 files changed, 123 insertions(+), 31 deletions(-) diff --git a/api/controller/OrderMember.go b/api/controller/OrderMember.go index 6f24a9c..d899be1 100644 --- a/api/controller/OrderMember.go +++ b/api/controller/OrderMember.go @@ -5,11 +5,13 @@ import ( "github.com/gin-gonic/gin" "hepa-calc-api/api/dao" "hepa-calc-api/api/dto" + "hepa-calc-api/api/model" "hepa-calc-api/api/requests" "hepa-calc-api/api/responses" "hepa-calc-api/api/service" "hepa-calc-api/global" "hepa-calc-api/utils" + "math" "strconv" "time" ) @@ -354,36 +356,126 @@ func (b *OrderMember) GetOrderMemberRecentList(c *gin.Context) { return } + // 增加虚假数据 + createdAt := []model.LocalTime{ + model.LocalTime(time.Now()), + model.LocalTime(time.Now().Add(-10 * time.Hour)), + model.LocalTime(time.Now().Add(-20 * time.Hour)), + model.LocalTime(time.Now().Add(-30 * time.Hour)), + model.LocalTime(time.Now().Add(-40 * time.Hour)), + model.LocalTime(time.Now().Add(-50 * time.Hour)), + model.LocalTime(time.Now().Add(-70 * time.Hour)), + model.LocalTime(time.Now().Add(-90 * time.Hour)), + model.LocalTime(time.Now().Add(-100 * time.Hour)), + model.LocalTime(time.Now().Add(-105 * time.Hour)), + model.LocalTime(time.Now().Add(-110 * time.Hour)), + model.LocalTime(time.Now().Add(-115 * time.Hour)), + model.LocalTime(time.Now().Add(-120 * time.Hour)), + model.LocalTime(time.Now().Add(-125 * time.Hour)), + model.LocalTime(time.Now().Add(-130 * time.Hour)), + model.LocalTime(time.Now().Add(-135 * time.Hour)), + } + + userName := []string{ + "邹**", + "王**", + "刘**", + "吴*", + "欧*", + "国**", + "图**", + "赵**", + "刘*", + "陈**", + "郝*", + "杨*", + "魏*", + "周*", + "宋**", + "马**", + } + + avatar := []string{ + "/user/avatar/999999.jpeg", + "/user/avatar/888888.jpeg", + "/user/avatar/7777777.jpeg", + "/user/avatar/666666.jpeg", + "/user/avatar/555555.jpeg", + "/user/avatar/444444.jpeg", + "/user/avatar/161616.jpeg", + "/user/avatar/151515.jpeg", + "/user/avatar/151515.jpeg", + "/user/avatar/141414.jpeg", + "/user/avatar/12121212.jpeg", + "/user/avatar/131313.jpeg", + "/user/avatar/111111.jpeg", + "/user/avatar/100000.jpeg", + "/user/avatar/444444.jpeg", + "/user/avatar/151515.jpeg", + } + // 处理返回值 - g := make([]*dto.OrderMemberRecentListDto, len(orderMembers)) + g := make([]*dto.OrderMemberRecentDto, 15) + + systemMemberDao := dao.SystemMemberDao{} + maps = make(map[string]interface{}) + systemMembers, err := systemMemberDao.GetSystemMemberList(maps) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } userDao := dao.UserDao{} - for i, member := range orderMembers { - response := &dto.OrderMemberRecentListDto{ - OrderId: fmt.Sprintf("%d", member.OrderId), - UserId: fmt.Sprintf("%d", member.UserId), - SystemMemberId: fmt.Sprintf("%d", member.SystemMemberId), - CreatedAt: member.CreatedAt, + for i := 0; i < 15; i++ { + if len(orderMembers) > i { + response := &dto.OrderMemberRecentDto{ + OrderId: fmt.Sprintf("%d", orderMembers[i].OrderId), + UserId: fmt.Sprintf("%d", orderMembers[i].UserId), + SystemMemberId: fmt.Sprintf("%d", orderMembers[i].SystemMemberId), + CreatedAt: orderMembers[i].CreatedAt, + } + + // 获取用户数据 + maps = make(map[string]interface{}) + maps["user_id"] = orderMembers[i].UserId + user, err := userDao.GetUser(maps) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + response.UserName = utils.MaskNameStr(user.UserName, 2) + response.UserAvatar = utils.AddOssDomain(user.Avatar) + + response.MemberDays = orderMembers[i].SystemMember.MemberDays + + // 处理时间 + createdAt := time.Time(orderMembers[i].CreatedAt) + response.TimeDesc = utils.TimeToAgoString(createdAt) + + g[i] = response + } else { + response := &dto.OrderMemberRecentDto{ + OrderId: fmt.Sprintf("%d", i), + UserId: fmt.Sprintf("%d", i), + SystemMemberId: fmt.Sprintf("%d", 1), + CreatedAt: createdAt[i], + } + + response.UserName = utils.MaskNameStr(userName[i], 2) + response.UserAvatar = utils.AddOssDomain(avatar[i]) + + if i == 0 { + response.MemberDays = systemMembers[0].MemberDays + } else { + response.MemberDays = systemMembers[int(math.Floor(float64(i)/4))].MemberDays + } + + // 处理时间 + createdAt := time.Time(createdAt[i]) + response.TimeDesc = utils.TimeToAgoString(createdAt) + + g[i] = response } - - // 获取用户数据 - maps = make(map[string]interface{}) - maps["user_id"] = member.UserId - user, err := userDao.GetUser(maps) - if err != nil { - responses.FailWithMessage(err.Error(), c) - return - } - response.UserName = utils.MaskNameStr(user.UserName, 2) - response.UserAvatar = utils.AddOssDomain(user.Avatar) - - response.MemberDays = member.SystemMember.MemberDays - - // 处理时间 - createdAt := time.Time(member.CreatedAt) - response.TimeDesc = utils.TimeToAgoString(createdAt) - - g[i] = response } responses.OkWithData(g, c) diff --git a/api/dto/OrderMember.go b/api/dto/OrderMember.go index d50989b..3d1bec5 100644 --- a/api/dto/OrderMember.go +++ b/api/dto/OrderMember.go @@ -52,8 +52,8 @@ type OrderMemberPayStatusDto struct { ValidDate *model.LocalTime `json:"valid_date"` // 到期时间 } -// OrderMemberRecentListDto 会员订单列表-最近下单 -type OrderMemberRecentListDto struct { +// OrderMemberRecentDto 会员订单列表-最近下单 +type OrderMemberRecentDto struct { OrderId string `json:"order_id"` // 主键id UserId string `json:"user_id"` // 用户id SystemMemberId string `json:"system_member_id"` // 会员id @@ -135,13 +135,13 @@ func GetOrderMemberPayStatus(m *model.OrderMember) *OrderMemberPayStatusDto { } // GetOrderMemberRecentListDto 获取会员订单列表-最近下单 -func GetOrderMemberRecentListDto(m []*model.OrderMember) []*OrderMemberRecentListDto { +func GetOrderMemberRecentListDto(m []*model.OrderMember) []*OrderMemberRecentDto { // 处理返回值 - responses := make([]*OrderMemberRecentListDto, len(m)) + responses := make([]*OrderMemberRecentDto, len(m)) if len(m) > 0 { for i, v := range m { - response := &OrderMemberRecentListDto{ + response := &OrderMemberRecentDto{ OrderId: fmt.Sprintf("%d", v.OrderId), UserId: fmt.Sprintf("%d", v.UserId), SystemMemberId: fmt.Sprintf("%d", v.SystemMemberId),