diff --git a/route/cp_r/cp_relation.go b/route/cp_r/cp_relation.go index db75b1c0516cb0c15f6292f5e659098f75ecb554..d2250e46b2e7a8cc516edd8a6fe87ab08d716e52 100644 --- a/route/cp_r/cp_relation.go +++ b/route/cp_r/cp_relation.go @@ -12,6 +12,7 @@ import ( "github.com/gin-gonic/gin" "hilo-user/_const/enum/cp_e" "hilo-user/cv/cp_cv" + "hilo-user/domain/cache/user_c" "hilo-user/domain/model/cp_m" "hilo-user/domain/model/diamond_m" "hilo-user/domain/model/user_m" @@ -307,3 +308,53 @@ func ReplyCpCancel(c *gin.Context) (*mycontext.MyContext, error) { resp.ResponseOk(c, cp_cv.CheckCpRelationRes{}) return myCtx, nil } + +// @Tags cp关系 +// @Summary 详情页cp数据 +// @Param externalId query string true "用户的externalId" +// @Success 200 {object} CpDetail +// @Router /v2/cp/relation/detail [get] +func CpDetailPage(c *gin.Context) (*mycontext.MyContext, error) { + myCtx := mycontext.CreateMyContext(c.Keys) + externalId := c.Query("externalId") + + model := domain.CreateModelContext(myCtx) + user, err := user_m.GetUserByExtId(model, externalId) + if err != nil { + return myCtx, err + } + + cp, err := cp_m.GetCp(model, user.ID) + if err != nil { + return myCtx, err + } + + type CpDetail struct { + Avatar1 string `json:"avatar1"` + Avatar2 string `json:"avatar2"` + Nick1 string `json:"nick1"` + Nick2 string `json:"nick2"` + Grade int `json:"grade"` // 等级 + GradeName string `json:"gradeName"` // 等级称号 + CreatedTime int64 `json:"createdTime"` // cp创建时间 + } + res := new(CpDetail) + + if cp.Id > 0 { + if cp.UserId1 == user.ID { + res.Avatar1 = user.Avatar + res.Nick1 = user.Nick + user2, err := user_c.GetUserTinyById(model, cp.UserId2) + if err != nil { + return myCtx, err + } + res.Avatar2 = user2.Avatar + res.Nick2 = user2.Nick + + res.CreatedTime = cp.CreatedTime.Unix() + } + } + + resp.ResponseOk(c, res) + return myCtx, nil +} diff --git a/route/router.go b/route/router.go index d555ac3f2c6b7898a5419395af0a4812cc9556e5..4ccb5e1edf775652e238f9a0643dc5114b9e02ec 100755 --- a/route/router.go +++ b/route/router.go @@ -35,6 +35,7 @@ func InitRouter() *gin.Engine { cp.POST("/relation", wrapper(cp_r.CpRelation)) cp.POST("/relation/invite/reply", wrapper(cp_r.ReplyCpInvite)) cp.POST("/relation/cancel/reply", wrapper(cp_r.ReplyCpCancel)) + cp.GET("/relation/detail", wrapper(cp_r.CpDetailPage)) } inner := r.Group("/inner") inner.Use(ExceptionHandle, LoggerHandle)