github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/httplib/request_presets.go (about)

     1  package httplib
     2  
     3  import (
     4  	"github.com/artisanhe/tools/timelib"
     5  )
     6  
     7  type Pager struct {
     8  	// 分页大小
     9  	// 默认为 10,-1 为查询所有
    10  	Size int32 `name:"size" in:"query" default:"10"  validate:"@int32[-1,50]"`
    11  	// 分页偏移
    12  	// 默认为 0
    13  	Offset int32 `name:"offset,omitempty" in:"query" validate:"@int32[0,]"`
    14  }
    15  
    16  type CreateTimeRange struct {
    17  	// 创建起始时间
    18  	CreateStartTime timelib.MySQLTimestamp `name:"createStartTime,omitempty" in:"query"`
    19  	// 创建终止时间
    20  	CreateEndTime timelib.MySQLTimestamp `name:"createEndTime,omitempty" in:"query"`
    21  }
    22  
    23  func (createTimeRange CreateTimeRange) ValidateCreateEndTime() string {
    24  	if !createTimeRange.CreateEndTime.IsZero() {
    25  		if createTimeRange.CreateEndTime.Unix() < createTimeRange.CreateStartTime.Unix() {
    26  			return "终止时间不得小于开始时间"
    27  		}
    28  	}
    29  	return ""
    30  }
    31  
    32  type UpdateTimeRange struct {
    33  	// 更新起始时间
    34  	UpdateStartTime timelib.MySQLTimestamp `name:"updateStartTime" in:"query" default:"" `
    35  	// 更新终止时间
    36  	UpdateEndTime timelib.MySQLTimestamp `name:"updateEndTime" in:"query" default:""`
    37  }
    38  
    39  func (updateTimeRange UpdateTimeRange) ValidateUpdateEndTime() string {
    40  	if !updateTimeRange.UpdateEndTime.IsZero() {
    41  		if updateTimeRange.UpdateEndTime.Unix() < updateTimeRange.UpdateStartTime.Unix() {
    42  			return "终止时间不得小于开始时间"
    43  		}
    44  	}
    45  	return ""
    46  }