|
@@ -1,190 +0,0 @@
|
|
-package sdk
|
|
|
|
-
|
|
|
|
-import (
|
|
|
|
- "fmt"
|
|
|
|
- "git.sxidc.com/go-tools/utils/reflectutils"
|
|
|
|
- "strings"
|
|
|
|
- "time"
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
-const (
|
|
|
|
- sqlResultTimeMicroFormat = "2006-01-02T15:04:05.000000+08:00"
|
|
|
|
- sqlResultTimeMilliFormat = "2006-01-02T15:04:05.000+08:00"
|
|
|
|
- sqlResultTimeSecFormat = "2006-01-02T15:04:05+08:00"
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
-func ParseSqlResultTimeStr(timeStr string) (time.Time, error) {
|
|
|
|
- layout := sqlResultTimeSecFormat
|
|
|
|
-
|
|
|
|
- timeZoneIndex := strings.LastIndex(timeStr, "+08:")
|
|
|
|
- if timeZoneIndex != -1 {
|
|
|
|
- timeStr = timeStr[:timeZoneIndex]
|
|
|
|
-
|
|
|
|
- afterSecondIndex := strings.LastIndex(timeStr, ".")
|
|
|
|
- if afterSecondIndex != -1 {
|
|
|
|
- if len(timeStr)-afterSecondIndex-1 == 6 {
|
|
|
|
- layout = sqlResultTimeMicroFormat
|
|
|
|
- } else if len(timeStr)-afterSecondIndex-1 == 3 {
|
|
|
|
- layout = sqlResultTimeMilliFormat
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return time.ParseInLocation(layout, timeStr, time.Local)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-type SqlResult map[string]any
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueStringAsTime(columnName string) time.Time {
|
|
|
|
- value, ok := result[columnName].(string)
|
|
|
|
- if !ok {
|
|
|
|
- return time.Time{}
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- t, err := ParseSqlResultTimeStr(value)
|
|
|
|
- if err != nil {
|
|
|
|
- return time.Time{}
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return t
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueBool(columnName string) bool {
|
|
|
|
- value, err := reflectutils.ToBool(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return false
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return value
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueString(columnName string) string {
|
|
|
|
- value, err := reflectutils.ToString(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return ""
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return value
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueInt(columnName string) int {
|
|
|
|
- value, err := reflectutils.ToInt64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return int(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueInt8(columnName string) int8 {
|
|
|
|
- value, err := reflectutils.ToInt64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return int8(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueInt16(columnName string) int16 {
|
|
|
|
- value, err := reflectutils.ToInt64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return int16(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueInt32(columnName string) int32 {
|
|
|
|
- value, err := reflectutils.ToInt64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return int32(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueInt64(columnName string) int64 {
|
|
|
|
- value, err := reflectutils.ToInt64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return value
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueUint(columnName string) uint {
|
|
|
|
- value, err := reflectutils.ToUint64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return uint(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueUint8(columnName string) uint8 {
|
|
|
|
- value, err := reflectutils.ToUint64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return uint8(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueUint16(columnName string) uint16 {
|
|
|
|
- value, err := reflectutils.ToUint64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return uint16(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueUint32(columnName string) uint32 {
|
|
|
|
- value, err := reflectutils.ToUint64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return uint32(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueUint64(columnName string) uint64 {
|
|
|
|
- value, err := reflectutils.ToUint64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return value
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueFloat32(columnName string) float32 {
|
|
|
|
- value, err := reflectutils.ToFloat64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return float32(value)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func (result SqlResult) ColumnValueFloat64(columnName string) float64 {
|
|
|
|
- value, err := reflectutils.ToFloat64(result[columnName])
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println(err)
|
|
|
|
- return 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return value
|
|
|
|
-}
|
|
|