84 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package util
 | |
| 
 | |
| import (
 | |
| 	"net/url"
 | |
| 	"strconv"
 | |
| 	"time"
 | |
| 
 | |
| 	"github.com/jackc/pgx/v5/pgtype"
 | |
| )
 | |
| 
 | |
| func DefaultStartTimeAndEndTime(start string, end string) (string, string) {
 | |
| 	if len(start) == 0 {
 | |
| 		start = "2000-01-01 00:00:00"
 | |
| 	}
 | |
| 	if len(end) == 0 {
 | |
| 		end = time.Now().Add(time.Hour * 24).Format(time.DateTime)
 | |
| 	}
 | |
| 	return start, end
 | |
| }
 | |
| 
 | |
| func DefaultString(values url.Values, key, defaultValue string) string {
 | |
| 	v := values.Get(key)
 | |
| 	if len(v) == 0 {
 | |
| 		return defaultValue
 | |
| 	}
 | |
| 
 | |
| 	return v
 | |
| }
 | |
| 
 | |
| func DefaultInt(values url.Values, key string, defaultValue int) int {
 | |
| 	v := values.Get(key)
 | |
| 	if len(v) == 0 {
 | |
| 		return defaultValue
 | |
| 	}
 | |
| 
 | |
| 	i, err := strconv.Atoi(v)
 | |
| 	if err != nil {
 | |
| 		return defaultValue
 | |
| 	}
 | |
| 
 | |
| 	return i
 | |
| }
 | |
| 
 | |
| func ConvertInt16(value string, defaultValue int16) int16 {
 | |
| 	i, err := strconv.Atoi(value)
 | |
| 	if err != nil {
 | |
| 		return defaultValue
 | |
| 	}
 | |
| 
 | |
| 	return int16(i)
 | |
| }
 | |
| 
 | |
| func ConvertInt32(value string, defaultValue int32) int32 {
 | |
| 	i, err := strconv.Atoi(value)
 | |
| 	if err != nil {
 | |
| 		return defaultValue
 | |
| 	}
 | |
| 
 | |
| 	return int32(i)
 | |
| }
 | |
| 
 | |
| func ConvertBool(value string, defaultValue bool) bool {
 | |
| 	b, err := strconv.ParseBool(value)
 | |
| 	if err != nil {
 | |
| 		return defaultValue
 | |
| 	}
 | |
| 
 | |
| 	return b
 | |
| }
 | |
| 
 | |
| func ConvertInt[T int | int16 | int32 | int64](value string, defaultValue T) T {
 | |
| 	i, err := strconv.Atoi(value)
 | |
| 	if err != nil {
 | |
| 		return defaultValue
 | |
| 	}
 | |
| 	return T(i)
 | |
| }
 | |
| 
 | |
| func PgtypeNumericToFloat64(num pgtype.Numeric) float64 {
 | |
| 	f1, _ := num.Float64Value()
 | |
| 	f2, _ := f1.Value()
 | |
| 	return f2.(float64)
 | |
| }
 |