Browse Source

Merge remote-tracking branch 'origin/dm' into debug

Roc 2 weeks ago
parent
commit
1e41bcf7d4
4 changed files with 106 additions and 9 deletions
  1. 14 0
      models/english_report.go
  2. 15 0
      models/report.go
  3. 67 0
      utils/common.go
  4. 10 9
      utils/constants.go

+ 14 - 0
models/english_report.go

@@ -2,6 +2,7 @@ package models
 
 import (
 	"eta/eta_report/global"
+	"eta/eta_report/utils"
 )
 
 type EnglishReportDetail struct {
@@ -32,11 +33,24 @@ type EnglishReportDetail struct {
 	Overview           string `description:"英文概述部分"`
 }
 
+func (m *EnglishReportDetail) ConvertTimeStr() {
+	m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
+	m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
+	m.PublishTime = utils.GormDateStrToDateTimeStr(m.PublishTime)
+
+	return
+}
+
 func GetEnglishReportByCode(reportCode string) (item *EnglishReportDetail, err error) {
 	//o := orm.NewOrm()
 	sql := `SELECT * FROM english_report WHERE report_code=?`
 	//err = o.Raw(sql, reportCode).QueryRow(&item)
 	err = global.DEFAULT_DB.Raw(sql, reportCode).First(&item).Error
+	if err != nil {
+		return
+	}
+	item.ConvertTimeStr()
+
 	return
 }
 

+ 15 - 0
models/report.go

@@ -2,6 +2,7 @@ package models
 
 import (
 	"eta/eta_report/global"
+	"eta/eta_report/utils"
 	"time"
 )
 
@@ -57,11 +58,25 @@ type Report struct {
 	ReportCreateTime    time.Time `description:"报告时间创建时间"`
 }
 
+func (m *Report) ConvertTimeStr() {
+	m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
+	m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
+	m.PublishTime = utils.GormDateStrToDateTimeStr(m.PublishTime)
+	m.PrePublishTime = utils.GormDateStrToDateTimeStr(m.PrePublishTime)
+
+	return
+}
+
 func GetReportByCode(reportCode string) (item *Report, err error) {
 	//o := orm.NewOrm()
 	sql := `SELECT * FROM report WHERE report_code=?`
 	//err = o.Raw(sql, reportCode).QueryRow(&item)
 	err = global.DEFAULT_DB.Raw(sql, reportCode).First(&item).Error
+	if err != nil {
+		return
+	}
+	item.ConvertTimeStr()
+
 	return
 }
 

+ 67 - 0
utils/common.go

@@ -580,3 +580,70 @@ func TimeTransferString(format string, t time.Time) string {
 	}
 	return str
 }
+
+// GormDateStrToDateStr
+// @Description: gorm日期字符串格式转正常显示的日期字符串
+// @param originalString
+// @return formatStr
+func GormDateStrToDateStr(originalString string) (formatStr string) {
+	if originalString == `` {
+		return
+	}
+	if strings.Contains(originalString, "0001-01-01") {
+		return
+	}
+
+	formatStr = originalString
+	if !strings.Contains(originalString, "T") {
+		return
+	}
+
+	// 解析原始字符串
+	t, err := time.Parse(FormatDateWallWithLoc, originalString)
+	if err != nil {
+		fmt.Println("Error parsing time:", err)
+		return
+	}
+	if t.IsZero() {
+		formatStr = ""
+		return
+	}
+	// 重新格式化时间
+	formatStr = t.Format(FormatDate)
+
+	return
+}
+
+// GormDateStrToDateTimeStr
+// @Description: gorm日期字符串格式转正常显示的日期时间字符串
+// @param originalString
+// @return formatStr
+func GormDateStrToDateTimeStr(originalString string) (formatStr string) {
+	if originalString == `` {
+		return
+	}
+	if strings.Contains(originalString, "0001-01-01") {
+		return
+	}
+
+	formatStr = originalString
+	if !strings.Contains(originalString, "T") {
+		return
+	}
+
+	// 解析原始字符串
+	t, err := time.Parse(FormatDateWallWithLoc, originalString)
+	if err != nil {
+		fmt.Println("Error parsing time:", err)
+		return
+	}
+	if t.IsZero() {
+		formatStr = ""
+		return
+	}
+
+	// 重新格式化时间
+	formatStr = t.Format(FormatDateTime)
+
+	return
+}

+ 10 - 9
utils/constants.go

@@ -2,15 +2,16 @@ package utils
 
 // 常量定义
 const (
-	FormatTime            = "15:04:05"                //时间格式
-	FormatDate            = "2006-01-02"              //日期格式
-	FormatDateUnSpace     = "20060102"                //日期格式
-	FormatDateTime        = "2006-01-02 15:04:05"     //完整时间格式
-	HlbFormatDateTime     = "2006-01-02_15:04:05.999" //完整时间格式
-	FormatDateTimeUnSpace = "20060102150405"          //完整时间格式
-	EmptyDateTimeStr      = "0000-00-00 00:00:00"     //DateTime零值字符串
-	EmptyDateStr          = "0000-00-00"              //Date零值字符串
-	PageSize15            = 15                        //列表页每页数据量
+	FormatTime            = "15:04:05"                  //时间格式
+	FormatDate            = "2006-01-02"                //日期格式
+	FormatDateUnSpace     = "20060102"                  //日期格式
+	FormatDateTime        = "2006-01-02 15:04:05"       //完整时间格式
+	HlbFormatDateTime     = "2006-01-02_15:04:05.999"   //完整时间格式
+	FormatDateTimeUnSpace = "20060102150405"            //完整时间格式
+	EmptyDateTimeStr      = "0000-00-00 00:00:00"       //DateTime零值字符串
+	EmptyDateStr          = "0000-00-00"                //Date零值字符串
+	FormatDateWallWithLoc = "2006-01-02T15:04:05-07:00" //日期格式
+	PageSize15            = 15                          //列表页每页数据量
 	PageSize5             = 5
 	PageSize10            = 10
 	PageSize20            = 20