|
@@ -74,6 +74,56 @@ func (e *EdbInfo) Add() (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
|
|
|
+func (m *EdbInfo) AfterFind(db *gorm.DB) (err error) {
|
|
|
+ if m.StartDate != "" {
|
|
|
+ minDateTmp, e := time.ParseInLocation(utils.FormatDateWallWithLoc, m.StartDate, time.Local)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+ m.StartDate = minDateTmp.Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ if m.EndDate != "" {
|
|
|
+ maxDateTmp, e := time.ParseInLocation(utils.FormatDateWallWithLoc, m.EndDate, time.Local)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+ m.EndDate = maxDateTmp.Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ if m.LatestDate != "" {
|
|
|
+ maxDateTmp, e := time.ParseInLocation(utils.FormatDateWallWithLoc, m.LatestDate, time.Local)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+ m.LatestDate = maxDateTmp.Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ if m.DataUpdateTime != "" {
|
|
|
+ maxDateTmp, e := time.ParseInLocation(utils.FormatDateWallWithLoc, m.DataUpdateTime, time.Local)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+ m.DataUpdateTime = maxDateTmp.Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// ConvertDate
|
|
|
+// @Description: 格式化EdbInfo的日期
|
|
|
+// @receiver e
|
|
|
+func (e *EdbInfo) ConvertDate() {
|
|
|
+ e.StartDate = utils.GormDateStrToDateStr(e.StartDate)
|
|
|
+ e.EndDate = utils.GormDateStrToDateStr(e.EndDate)
|
|
|
+ e.LatestDate = utils.GormDateStrToDateStr(e.LatestDate)
|
|
|
+ e.DataUpdateTime = utils.GormDateStrToDateStr(e.DataUpdateTime)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// AddEdbInfo 添加指标
|
|
|
func AddEdbInfo(item *EdbInfo) (lastId int64, err error) {
|
|
|
|
|
@@ -142,6 +192,17 @@ type EdbInfoList struct {
|
|
|
//Extra string `gorm:"column:extra" description:"指标的额外配置"`
|
|
|
}
|
|
|
|
|
|
+// ConvertDate
|
|
|
+// @Description: 格式化EdbInfoList的日期
|
|
|
+// @receiver e
|
|
|
+func (e *EdbInfoList) ConvertDate() {
|
|
|
+ e.StartDate = utils.GormDateStrToDateStr(e.StartDate)
|
|
|
+ e.EndDate = utils.GormDateStrToDateStr(e.EndDate)
|
|
|
+ e.LatestDate = utils.GormDateStrToDateStr(e.LatestDate)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// EdbClassifyItemsButton 操作按钮
|
|
|
type EdbClassifyItemsButton struct {
|
|
|
AddButton bool `description:"是否可添加"`
|
|
@@ -170,9 +231,15 @@ func ModifyEdbInfoNameSource(edbNameSource string, edbInfoId int) (err error) {
|
|
|
|
|
|
// GetEdbInfoById 根据指标id获取指标信息
|
|
|
func GetEdbInfoById(edbInfoId int) (item *EdbInfo, err error) {
|
|
|
-
|
|
|
sql := ` SELECT * FROM edb_info WHERE edb_info_id=? `
|
|
|
err = global.DEFAULT_DmSQL.Raw(sql, edbInfoId).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 格式化日期
|
|
|
+ item.ConvertDate()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -181,6 +248,12 @@ func GetEdbInfoByUniqueCode(uniqueCode string) (item *EdbInfo, err error) {
|
|
|
|
|
|
sql := ` SELECT * FROM edb_info WHERE unique_code=? `
|
|
|
err = global.DEFAULT_DmSQL.Raw(sql, uniqueCode).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 格式化日期
|
|
|
+ item.ConvertDate()
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -646,6 +719,9 @@ func GetEdbInfoByEdbCode(source int, edbCode string) (item *EdbInfo, err error)
|
|
|
|
|
|
if errors.Is(err, orm.ErrNoRows) {
|
|
|
err = nil
|
|
|
+ } else {
|
|
|
+ // 格式化日期
|
|
|
+ item.ConvertDate()
|
|
|
}
|
|
|
|
|
|
return
|
|
@@ -656,6 +732,12 @@ func GetEdbInfoOnlyByEdbCode(edbCode string) (item *EdbInfo, err error) {
|
|
|
|
|
|
sql := ` SELECT * FROM edb_info WHERE edb_code=? `
|
|
|
err = global.DEFAULT_DmSQL.Raw(sql, edbCode).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 格式化日期
|
|
|
+ item.ConvertDate()
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -1350,6 +1432,11 @@ func GetEdbInfoItemByCondition(condition string, pars []interface{}) (item *EdbI
|
|
|
sql += condition
|
|
|
}
|
|
|
err = global.DEFAULT_DmSQL.Raw(sql, pars...).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertDate()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|