package forms import ( "errors" "fmt" "gadmin/internal/admin/consts" "time" ) type NoticeV2ListReq struct { ListReq Sn string `json:"sn" form:"sn"` Cdk string `json:"cdk" form:"cdk"` CreatedAt []int64 `json:"created_at" form:"created_at[]"` Time []time.Time } func (req *NoticeV2ListReq) Check() error { return nil } type NoticeV2AddReq struct { Id int64 `json:"id" form:"id"` ServerIds []int32 `json:"server_ids" form:"server_ids"` NoticeType int32 `json:"notice_type" form:"notice_type"` Content string `json:"content" form:"content"` SendInterval int64 `json:"send_interval" form:"send_interval"` StartAt int64 `json:"start_at" form:"start_at"` EndAt int64 `json:"end_at" form:"end_at"` } func (req *NoticeV2AddReq) Check() error { if _, ok := consts.NoticeTypeNameMap[req.NoticeType]; !ok { return errors.New("广播类型不正确") } if req.Content == "" { return errors.New("广播内容不能为空") } if req.SendInterval < 1 { return errors.New("发送时间间隔不能小于1分钟") } if req.StartAt >= req.EndAt { return errors.New("选择的时间区间不正确") } if req.EndAt < time.Now().Unix() { return fmt.Errorf("结束时间不能小于当前时间:%+v", time.Now().Format("2006-01-02_15:04:05")) } //if req.ServerIds == "" { // return errors.New("请选择服务器") //} // //serverIds := strings.Split(req.ServerIds, ",") if len(req.ServerIds) == 0 { return errors.New("请选择有效的服务器") } if len(req.ServerIds) > 1 { for _, serverId := range req.ServerIds { if serverId == 0 { return errors.New("选择全服时不能再选择其他服务器") } } } return nil } type NoticeV2CancelReq struct { Id int64 `json:"id" form:"id"` } func (req *NoticeV2CancelReq) Check() error { return nil }