forked from free-lancers/electricity_bill_calc_service
		
	enhance(types):增加若干常用方法。
This commit is contained in:
		| @@ -14,6 +14,18 @@ type DateRange struct { | ||||
| 	pgtype.Range[Date] | ||||
| } | ||||
|  | ||||
| func NewEmptyDateRange() DateRange { | ||||
| 	return DateRange{ | ||||
| 		Range: pgtype.Range[Date]{ | ||||
| 			Lower:     MinDate(), | ||||
| 			LowerType: pgtype.Unbounded, | ||||
| 			Upper:     MaxDate(), | ||||
| 			UpperType: pgtype.Unbounded, | ||||
| 			Valid:     true, | ||||
| 		}, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func NewDateRange(lower *Date, upper *Date) DateRange { | ||||
| 	return DateRange{ | ||||
| 		Range: pgtype.Range[Date]{ | ||||
| @@ -78,3 +90,23 @@ func (dr *DateRange) UnmarshalJSON(data []byte) error { | ||||
| 	dr.Range = r | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (dr *DateRange) SetLower(lower Date, bound pgtype.BoundType) { | ||||
| 	dr.Range.Lower = lower | ||||
| 	dr.Range.LowerType = bound | ||||
| } | ||||
|  | ||||
| func (dr *DateRange) SetLowerUnbounded() { | ||||
| 	dr.Range.Lower = MinDate() | ||||
| 	dr.Range.LowerType = pgtype.Unbounded | ||||
| } | ||||
|  | ||||
| func (dr *DateRange) SetUpper(upper Date, bound pgtype.BoundType) { | ||||
| 	dr.Range.Upper = upper | ||||
| 	dr.Range.UpperType = bound | ||||
| } | ||||
|  | ||||
| func (dr *DateRange) SetUpperUnbounded() { | ||||
| 	dr.Range.Upper = MaxDate() | ||||
| 	dr.Range.UpperType = pgtype.Unbounded | ||||
| } | ||||
|   | ||||
| @@ -14,6 +14,18 @@ type DateTimeRange struct { | ||||
| 	pgtype.Range[DateTime] | ||||
| } | ||||
|  | ||||
| func NewEmptyDateTimeRange() DateTimeRange { | ||||
| 	return DateTimeRange{ | ||||
| 		Range: pgtype.Range[DateTime]{ | ||||
| 			Lower:     MinDateTime(), | ||||
| 			LowerType: pgtype.Unbounded, | ||||
| 			Upper:     MaxDateTime(), | ||||
| 			UpperType: pgtype.Unbounded, | ||||
| 			Valid:     true, | ||||
| 		}, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func NewDateTimeRange(lower *DateTime, upper *DateTime) DateTimeRange { | ||||
| 	return DateTimeRange{ | ||||
| 		Range: pgtype.Range[DateTime]{ | ||||
| @@ -78,3 +90,23 @@ func (dr *DateTimeRange) UnmarshalJSON(data []byte) error { | ||||
| 	dr.Range = r | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (dr *DateTimeRange) SetLower(lower DateTime, bound pgtype.BoundType) { | ||||
| 	dr.Range.Lower = lower | ||||
| 	dr.Range.LowerType = bound | ||||
| } | ||||
|  | ||||
| func (dr *DateTimeRange) SetLowerUnbounded() { | ||||
| 	dr.Range.Lower = MinDateTime() | ||||
| 	dr.Range.LowerType = pgtype.Unbounded | ||||
| } | ||||
|  | ||||
| func (dr *DateTimeRange) SetUpper(upper DateTime, bound pgtype.BoundType) { | ||||
| 	dr.Range.Upper = upper | ||||
| 	dr.Range.UpperType = bound | ||||
| } | ||||
|  | ||||
| func (dr *DateTimeRange) SetUpperUnbounded() { | ||||
| 	dr.Range.Upper = MaxDateTime() | ||||
| 	dr.Range.UpperType = pgtype.Unbounded | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user