Browse Source

格式化时间格式

genlong 6 months ago
parent
commit
861c26236d
2 changed files with 46 additions and 21 deletions
  1. 26 1
      global/dm.go
  2. 20 20
      models/report.go

+ 26 - 1
global/dm.go

@@ -1,6 +1,7 @@
 package global
 
 import (
+	"database/sql/driver"
 	_ "dm"
 	dm "dmgorm2"
 	"eta_gn/eta_api/utils"
@@ -16,6 +17,8 @@ import (
 	_ "github.com/go-sql-driver/mysql"
 )
 
+type LocalTime time.Time
+
 // InitDm
 // @Description: 达梦数据库初始化
 func InitDm() {
@@ -85,7 +88,6 @@ func connectDm(dsn, aliasName string, newLogger logger.Interface, dmSqlMap map[s
 		//global.LOG.Errorf("mysql 启动异常,数据库:default;Err:", err)
 		panic(fmt.Errorf("mysql 启动异常,数据库:%s;Err:%s", aliasName, err))
 	}
-
 	//创建连接池
 	sqlDB, err := db.DB()
 	if err != nil {
@@ -110,3 +112,26 @@ func connectDm(dsn, aliasName string, newLogger logger.Interface, dmSqlMap map[s
 	sqlDB.SetConnMaxLifetime(10 * time.Minute)
 
 }
+
+func (t *LocalTime) MarshalJSON() ([]byte, error) {
+	tTime := time.Time(*t)
+	return []byte(fmt.Sprintf("\"%v\"", tTime.Format("2006-01-02 15:04:05"))), nil
+}
+
+func (t LocalTime) Value() (driver.Value, error) {
+	var zeroTime time.Time
+	tlt := time.Time(t)
+	//判断给定时间是否和默认零时间的时间戳相同
+	if tlt.UnixNano() == zeroTime.UnixNano() {
+		return nil, nil
+	}
+	return tlt, nil
+}
+
+func (t *LocalTime) Scan(v interface{}) error {
+	if value, ok := v.(time.Time); ok {
+		*t = LocalTime(value)
+		return nil
+	}
+	return fmt.Errorf("can not convert %v to timestamp", v)
+}

+ 20 - 20
models/report.go

@@ -103,10 +103,10 @@ type ReportList struct {
 	Abstract           string                    `gorm:"column:abstract" description:"摘要"`
 	Author             string                    `gorm:"column:author" description:"作者"`
 	Frequency          string                    `gorm:"column:frequency" description:"频度"`
-	CreateTime         string                    `gorm:"column:create_time" description:"创建时间"`
-	ModifyTime         time.Time                 `gorm:"column:modify_time;autoUpdateTime" description:"修改时间"`
+	CreateTime         *global.LocalTime         `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime         *global.LocalTime         `gorm:"column:modify_time;autoUpdateTime" description:"修改时间"`
 	State              int                       `gorm:"column:state" description:"1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过"`
-	PublishTime        string                    `gorm:"column:publish_time" description:"发布时间"`
+	PublishTime        *global.LocalTime         `gorm:"column:publish_time" description:"发布时间"`
 	PrePublishTime     string                    `gorm:"column:pre_publish_time" description:"预发布时间"`
 	Stage              int                       `gorm:"column:stage" description:"期数"`
 	MsgIsSend          int                       `gorm:"column:msg_is_send" description:"模板消息是否已发送,0:否,1:是"`
@@ -135,23 +135,23 @@ type ReportList struct {
 	DetailImgUrl       string                    `gorm:"column:detail_img_url" description:"报告详情长图地址"`
 	DetailPdfUrl       string                    `gorm:"column:detail_pdf_url" description:"报告详情PDF地址"`
 
-	CollaborateType     int8      `gorm:"column:collaborate_type" description:"协作方式,1:个人,2:多人协作。默认:1"`
-	ReportLayout        int8      `gorm:"column:report_layout" description:"报告布局,1:常规布局,2:智能布局。默认:1"`
-	IsPublicPublish     int8      `gorm:"column:is_public_publish" description:"是否公开发布,1:是,2:否"`
-	ReportCreateTime    time.Time `gorm:"column:report_create_time" description:"报告时间创建时间"`
-	ContentStruct       string    `gorm:"column:content_struct" description:"内容组件"`
-	LastModifyAdminId   int       `gorm:"column:last_modify_admin_id" description:"最后更新人ID"`
-	LastModifyAdminName string    `gorm:"column:last_modify_admin_name" description:"最后更新人姓名"`
-	ContentModifyTime   time.Time `gorm:"column:content_modify_time" description:"内容更新时间"`
-	HeadImg             string    `gorm:"column:head_img" description:"报告头图地址"`
-	EndImg              string    `gorm:"column:end_img" description:"报告尾图地址"`
-	CanvasColor         string    `gorm:"column:canvas_color" description:"画布颜色"`
-	NeedSplice          int       `gorm:"column:need_splice" description:"是否拼接版头版位的标记,主要是为了兼容历史报告。0-不需要 1-需要"`
-	HeadResourceId      int       `gorm:"column:head_resource_id" description:"版头资源ID"`
-	EndResourceId       int       `gorm:"column:end_resource_id" description:"版尾资源ID"`
-	ClassifyIdThird     int       `gorm:"column:classify_id_third" description:"三级分类id"`
-	ClassifyNameThird   string    `gorm:"column:classify_name_third" description:"三级分类名称"`
-	InheritReportId     int       `gorm:"column:inherit_report_id" description:"待继承的报告ID"`
+	CollaborateType     int8              `gorm:"column:collaborate_type" description:"协作方式,1:个人,2:多人协作。默认:1"`
+	ReportLayout        int8              `gorm:"column:report_layout" description:"报告布局,1:常规布局,2:智能布局。默认:1"`
+	IsPublicPublish     int8              `gorm:"column:is_public_publish" description:"是否公开发布,1:是,2:否"`
+	ReportCreateTime    *global.LocalTime `gorm:"column:report_create_time" description:"报告时间创建时间"`
+	ContentStruct       string            `gorm:"column:content_struct" description:"内容组件"`
+	LastModifyAdminId   int               `gorm:"column:last_modify_admin_id" description:"最后更新人ID"`
+	LastModifyAdminName string            `gorm:"column:last_modify_admin_name" description:"最后更新人姓名"`
+	ContentModifyTime   *global.LocalTime `gorm:"column:content_modify_time" description:"内容更新时间"`
+	HeadImg             string            `gorm:"column:head_img" description:"报告头图地址"`
+	EndImg              string            `gorm:"column:end_img" description:"报告尾图地址"`
+	CanvasColor         string            `gorm:"column:canvas_color" description:"画布颜色"`
+	NeedSplice          int               `gorm:"column:need_splice" description:"是否拼接版头版位的标记,主要是为了兼容历史报告。0-不需要 1-需要"`
+	HeadResourceId      int               `gorm:"column:head_resource_id" description:"版头资源ID"`
+	EndResourceId       int               `gorm:"column:end_resource_id" description:"版尾资源ID"`
+	ClassifyIdThird     int               `gorm:"column:classify_id_third" description:"三级分类id"`
+	ClassifyNameThird   string            `gorm:"column:classify_name_third" description:"三级分类名称"`
+	InheritReportId     int               `gorm:"column:inherit_report_id" description:"待继承的报告ID"`
 }
 
 type ReportListResp struct {