package cp_r import ( "git.hilo.cn/hilo-common/domain" "git.hilo.cn/hilo-common/mycontext" "git.hilo.cn/hilo-common/resource/mysql" "github.com/gin-gonic/gin" "hilo-user/_const/enum/cp_e" "hilo-user/cv/cp_cv" "hilo-user/cv/user_cv" "hilo-user/domain/model/user_m" "hilo-user/myerr/bizerr" "hilo-user/req" "hilo-user/resp" ) // @Tags CP v2 // @Summary cp空间 // @Param token header string true "token" // @Param nonce header string true "随机数字" // @Param externalId query string true "查看用户的externalId" // @Success 200 {object} cp_cv.CvSpace // @Router /v2/cp/space [get] func CpSpace(c *gin.Context) (*mycontext.MyContext, error) { myContext := mycontext.CreateMyContext(c.Keys) userId, lang, err := req.GetUserIdLang(c, myContext) if err != nil { return myContext, err } externalId := c.Query("externalId") if len(externalId) <= 0 { return myContext, bizerr.InvalidParameter } var model = domain.CreateModelContext(myContext) userInfo, err := user_m.GetUser(model, userId) if err != nil { return myContext, err } cpUserInfo, err := user_m.GetUserByExtId(model, externalId) // todo get from cp2 db if err != nil { return myContext, err } expireAt := "" // todo cpLevel := cp_e.CpLevel3 // todo get from db nextPoints := cp_e.CpLevelPoints[cp_e.CpLevelMax] remainPoints := mysql.Num(0) if cpLevel != cp_e.CpLevelMax { nextPoints = cp_e.CpLevelPoints[cpLevel+1] remainPoints = nextPoints - cp_e.CpLevelPoints[cpLevel] // todo get from db } response := cp_cv.CvSpace{ CpInfo: cp_cv.CvCpInfo{ UserInfo: user_cv.UserToTiny(*userInfo), CpUserInfo: user_cv.UserToTiny(*cpUserInfo), }, CpLevel: cp_cv.CvCpLevel{ Level: cpLevel, Points: cp_e.CpLevelPoints[cpLevel], // todo get from db NextPoints: nextPoints, RemainPoints: remainPoints, ExpireAt: expireAt, }, ResLevelList: cp_cv.CvResLevelList, PrivilegeList: cp_cv.CopyCpLevelPrivilegeList(cpLevel, lang), } resp.ResponseOk(c, response) return myContext, nil }