package cp_r import ( "git.hilo.cn/hilo-common/domain" "git.hilo.cn/hilo-common/mycontext" "github.com/gin-gonic/gin" "hilo-user/cv/cp_cv" "hilo-user/domain/model/cp_m" "hilo-user/myerr/bizerr" "hilo-user/req" "hilo-user/resp" "strconv" ) type PostPutAnniversaryReq struct { Content string `form:"content" binding:"required"` Date string `form:"date" binding:"required"` IsRemind bool `form:"isRemind"` } // @Tags CP v2 // @Summary 发布纪念日 // @Param token header string true "token" // @Param nonce header string true "随机数字" // @Param timezone header string true "时区" // @Param content formData string true "纪念日名称" // @Param date formData string true "纪念日时间(年月日)" // @Param isRemind formData bool false "是否提醒" // @Success 200 // @Router /v2/cp/anniversary [post] func PostAnniversary(c *gin.Context) (*mycontext.MyContext, error) { myCtx := mycontext.CreateMyContext(c.Keys) userId, err := req.GetUserId(c) if err != nil { return myCtx, err } var param PostPutAnniversaryReq if err := c.ShouldBind(¶m); err != nil { return myCtx, err } model := domain.CreateModelContext(myCtx) relation, exits := cp_m.GetCpRelation(model, userId) if !exits { return myCtx, bizerr.CpNotRelation } else { tz := c.GetHeader(mycontext.TIMEZONE) if err := cp_m.AddCpAnniversary(model, relation, param.Content, param.Date, tz, param.IsRemind); err != nil { return myCtx, err } } resp.ResponseOk(c, "") return myCtx, nil } // @Tags CP v2 // @Summary 修改纪念日 // @Param token header string true "token" // @Param nonce header string true "随机数字" // @Param timezone header string true "时区" // @Param content formData string true "纪念日名称" // @Param date formData string true "纪念日时间(年月日)" // @Param isRemind formData bool false "是否提醒" // @Param id path int true "更新的记录id" // @Success 200 // @Router /v2/cp/anniversary/{id} [put] func PutAnniversary(c *gin.Context) (*mycontext.MyContext, error) { myCtx := mycontext.CreateMyContext(c.Keys) var param PostPutAnniversaryReq if err := c.ShouldBind(¶m); err != nil { return myCtx, err } id, _ := strconv.ParseUint(c.Param("id"), 10, 64) model := domain.CreateModelContext(myCtx) tz := c.GetHeader(mycontext.TIMEZONE) if err := cp_m.UpdateCpAnniversary(model, id, param.Content, param.Date, tz, param.IsRemind); err != nil { return myCtx, err } resp.ResponseOk(c, "") return myCtx, nil } // @Tags CP v2 // @Summary 获取纪念日 // @Param token header string true "token" // @Param nonce header string true "随机数字" // @Success 200 {object} []cp_cv.CvCpAnniversary // @Router /v2/cp/anniversary [get] func PageAnniversary(c *gin.Context) (*mycontext.MyContext, error) { myCtx := mycontext.CreateMyContext(c.Keys) userId, err := req.GetUserId(c) if err != nil { return myCtx, err } model := domain.CreateModelContext(myCtx) var response = make([]cp_cv.CvCpAnniversary, 0) anniversary := cp_m.GetAllCpAnniversary(model, userId) for _, v := range anniversary { response = append(response, cp_cv.CvCpAnniversary{ Id: v.ID, Content: v.Content, Date: v.Date, IsRemind: v.IsRemind, }) } resp.ResponsePageBaseOk(c, response, 0, false) return myCtx, nil } // @Tags CP v2 // @Summary 获取纪念日 // @Param token header string true "token" // @Param nonce header string true "随机数字" // @Param id path int true "记录id" // @Success 200 // @Router /v2/cp/anniversary/:id [delete] func DelAnniversary(c *gin.Context) (*mycontext.MyContext, error) { myCtx := mycontext.CreateMyContext(c.Keys) id, _ := strconv.ParseUint(c.Param("id"), 10, 64) model := domain.CreateModelContext(myCtx) if err := cp_m.DelCpAnniversary(model, id); err != nil { return myCtx, err } resp.ResponseOk(c, "") return myCtx, nil }