package client import ( "github.com/ouxuanserver/osmanthuswine/src/core" "hudongzhuanjia/controllers" "hudongzhuanjia/models" "hudongzhuanjia/utils/code" "time" ) type InvitationLetterCtl struct { controllers.AuthorCtl } // InviteEnvelope doc // @Summary InviteEnvelope // @Description 填写要求信息 // @Tags invite envelope // @Accept json // @Produce json // @Param activity_id query int true "邀请函内容" // @Success 0 {string} string "success" // @Failure 404 {string} string "参数不存在" // @Failure 405 {string} string "用户不存在" // @Router /Client/InviteEnvelopeCtl/invite [post] func (t *InvitationLetterCtl) Invite() { uid := t.MustGetUID() activityId := t.MustGetActivityId() invitationId := t.MustGetInt64("invitation_id") answer := t.MustGet("answer") activity := new(models.Activity) exist, err := models.GetById(activity, activityId) t.CheckErr(err) t.Assert(exist, code.MSG_ACTIVITY_NOT_EXIST, "互动不存在") letter := new(models.InvitationLetter) exist, err = letter.GetByUserIdAndActivityId(uid, activityId, activity.RehearsalId) t.CheckErr(err) t.Assert(!exist, code.MSG_INVITE_LETTER_EXIST, "您已经接受过邀请") letter.UserId = uid letter.ActivityId = activityId letter.InvitationId = invitationId letter.RehearsalId = activity.RehearsalId letter.ExtraData = answer letter.IsDelete = false letter.CreatedAt = time.Now() letter.UpdatedAt = time.Now() _, err = core.GetXormAuto().InsertOne(letter) t.CheckErr(err) t.STRING("success") } // InviteEnvelope doc // @Summary InviteEnvelope // @Description get invite envelope setting // @Tags invite envelope // @Accept json // @Produce json // @Param activity_id query int true "Activity ID" // @Success 0 {object} models.Invitation // @Failure 404 {string} string "参数不存在" // @Failure 405 {string} string "用户不存在" // @Router /Client/InviteEnvelopeCtl/setting [get] func (t *InvitationLetterCtl) Setting() { activityId := t.MustGetActivityId() uid := t.MustGetUID() activity := new(models.Activity) exist, err := models.GetById(activity, activityId) t.CheckErr(err) t.Assert(exist, code.MSG_ACTIVITY_NOT_EXIST, "互动不存在") letter := new(models.InvitationLetter) exist, err = letter.GetByUserIdAndActivityId(uid, activityId, activity.RehearsalId) t.CheckErr(err) t.Assert(!exist, code.MSG_INVITE_LETTER_EXIST, "您已经接受过邀请") invitation := new(models.Invitation) exist, err = invitation.GetInvitationByActivityId(activityId) t.CheckErr(err) t.Assert(exist, code.MSG_INVITE_SETTING_NOT_EXIST, "邀请函设置不存在") t.JSON(map[string]interface{}{ "setting": invitation, }) }