• mindxdlcommontype.go


    // 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
    }
  • 相关阅读:
    一步一步CCNA之二:路由器特权模式
    uncompress bz2
    Protothreads Lightweight, Stackless Threads in C
    sohu的正版美剧都挺不错的
    Ebot crawler
    大数据时代的创新者们
    technology company
    slogan
    娱乐新闻都怎么搞的,真不给力啊
    售楼小姐比较漂亮
  • 原文地址:https://www.cnblogs.com/gongxianjin/p/16683178.html
Copyright © 2020-2023  润新知