mindxdl--common--type.go
2024-09-08 18:12:56
// Copyright (c) 2021. Huawei Technologies Co., Ltd. All rights reserved.
// Package common this file for time format
package common
import (
"database/sql/driver"
"fmt"
"time"
)
const timeFormat = "2006-01-02 15:04:05"
// DateTime DateTime
type DateTime time.Time
// MarshalJSON for time format to datetime
func (t DateTime) MarshalJSON() ([]byte, error) {
datetime := fmt.Sprintf(`"%s"`, time.Time(t).Format(timeFormat))
return []byte(datetime), nil
}
// Value insert timestamp into mysql need this function.
func (t DateTime) Value() (driver.Value, error) {
var zeroTime time.Time
ti := time.Time(t)
if ti.UnixNano() == zeroTime.UnixNano() {
return nil, nil
}
return ti, nil
}
// Scan valueof time.Time
func (t *DateTime) Scan(v interface{}) error {
ti, ok := v.(time.Time) // NOT directly assertion v.(DateTime)
if ok {
*t = DateTime(ti)
return nil
}
return fmt.Errorf("can not convert %v to timestamp", v)
}
// ResultMsg resp struct
type ResultMsg struct {
Status string `json:"status"`
Msg string `json:"msg"`
Data interface{} `json:"data"`
}
// PageResult pagequery resut
type PageResult struct {
CurrentPage int `json:"currentPage"`
PageSize int `json:"pageSize"`
PageCount uint64 `json:"pageCount"`
Total uint64 `json:"total"`
Data interface{} `json:"data"`
}
const (
// StatusOK status
StatusOK = 200
// StatusFailed failed status
StatusFailed = 400
// BaseHex Base Parse integer need params
BaseHex = 10
// BitSize64 Base Parse integer need params
BitSize64 = 64
// HTTPServerTimeout http server timeout
HTTPServerTimeout = 20
// MaxConcurrency default max concurrency
MaxConcurrency = 100
// DefaultConcurrency default concurrency
DefaultConcurrency = 20
// SortByAsc sort by asc
SortByAsc = "asc"
// SortByDesc sort by desc
SortByDesc = "desc"
// MaxPageSize the max page size
MaxPageSize = 100
// ContentDisposition header information
ContentDisposition = "Content-Disposition"
// ContentType header information
ContentType = "Content-Type"
// AcceptLength header information
AcceptLength = "Accept-Length"
// ConnectionRetryTimes retry connect times
ConnectionRetryTimes = 3
// DefaultRequestTimeout internal request timeout
DefaultRequestTimeout = 5
)
// NewDateTime new DateTime for marshal
func NewDateTime(time2 time.Time) *DateTime {
if time2.IsZero() {
return nil
}
datetime := DateTime(time2)
return &datetime
}
最新文章
- Sqoop_ 从 hive 导到mysql常遇九问题总结(转)
- 在config文件输入特殊字符
- 小菜的系统框架界面设计-灰姑娘到白雪公主的蜕变(工具条OutLookBar)
- Eclipse无法识别Android真机的解决方法
- Oracle物理结构与逻辑结构
- js中的逻辑或和逻辑与
- arm mov 指令
- 我理解设计模式C++实现观察者模式Observer Pattern
- 认识Backbone (四)
- EDI
- windows下创建MySQL定时备份与删除脚本
- python列表解析式,字典解析式,集合解析式和生成器
- Vue(十九)Vuex
- maven install安装工程
- iOS 在不添加库的情况下 通过抽象类来获取自己想要的方法
- 20155202 2016-2017-2 《Java程序设计》第6周学习总结
- C#默认以管理员身份运行程序实现代码
- [agc006f] Blackout 神题
- Android手机测试-ddms&;monitor-抓crash,log
- LibRec:一个实现推荐系统的Java库包
热门文章
- 数据卷之Docker File
- KingbaseES 工具sys_dump,sys_restore使用介绍
- KingbaseES V8R3 集群专用机网关失败分析案例
- kingbaseES R3 集群备库转换为单实例库案例
- 【读书笔记】C#高级编程 第一章 .NET体系结构
- centos7设置时间和上海时区并进行同步
- @EqualsAndHashCode(callSuper = false) 解释
- 6.Ceph 基础篇 - CephFS 文件系统
- 4.Ceph 基础篇 - 对象存储使用
- MinIO监控指南