Browse Source

数据源统计表汇总查询

xyxie 1 year ago
parent
commit
7c48bb0b1a

+ 438 - 1
controllers/data_stat/edb_source_stat.go

@@ -126,7 +126,7 @@ func (this *EdbSourceStatController) EditColumn() {
 // EdbDeleteLog
 // @Title 查询删除指标列表
 // @Description 查询删除指标列表接口
-// @Success 200 {object} data_stat.StatColumnList
+// @Success 200 {object} data_stat.GetEdbDeleteLogResp
 // @router /edb_delete_log [get]
 func (this *EdbSourceStatController) EdbDeleteLog() {
 	br := new(models.BaseResponse).Init()
@@ -258,3 +258,440 @@ func (this *EdbSourceStatController) EdbDeleteLog() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// EdbUpdateLog
+// @Title 查询指标信息变更列表
+// @Description 查询指标信息变更列表接口
+// @Success 200 {object} data_stat.GetEdbUpdateLogResp
+// @router /edb_update_log [get]
+func (this *EdbSourceStatController) EdbUpdateLog() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	sortParamReq := this.GetString("SortParam", "")
+	sortType := this.GetString("SortType", "desc")
+	updateTime := this.GetString("UpdateTime", "")
+
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+
+	var startSize int
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+
+	startSize = paging.StartIndex(currentIndex, pageSize)
+
+	var condition string
+	var pars []interface{}
+
+	if updateTime != "" {
+		startT, err := time.ParseInLocation(utils.FormatDate, updateTime, time.Local)
+		if err != nil {
+			br.Msg = "请求时间格式错误"
+			return
+		}
+		endT := startT.AddDate(0, 0, 1)
+		condition += " AND update_time >= ? AND update_time < ?"
+		pars = append(pars, updateTime, endT.Format(utils.FormatDate))
+	}
+
+	sortStr := ``
+	sortParam := ``
+	if sortParamReq != `` {
+		switch sortParamReq {
+		case "UpdateTime":
+			sortParam = "update_time"
+		case "DataUpdateTime":
+			sortParam = "data_update_time"
+		case "ErDataUpdateDate":
+			sortParam = "er_data_update_date"
+		case "LatestDate":
+			sortParam = "latest_date"
+		case "StartDate":
+			sortParam = "start_date"
+		}
+		if sortParam == "" {
+			br.Msg = "请输入正确的排序字段"
+			return
+		}
+		if strings.ToLower(sortType) != "asc" && strings.ToLower(sortType) != "desc" {
+			br.Msg = "请输入正确的排序类型"
+			return
+		}
+		sortStr = fmt.Sprintf(" order by %s %s, id desc ", sortParam, sortType)
+	}
+	total, err := data_stat.GetEdbUpdateLogCount(condition, pars)
+	if err != nil {
+		if err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取指标删除列表总数失败"
+			br.ErrMsg = "获取指标删除列表总数失败,Err:" + err.Error()
+			return
+		} else {
+			err = nil
+		}
+	}
+	list := make([]*data_stat.EdbInfoUpdateLogItem, 0)
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	if total == 0 {
+		resp := data_stat.GetEdbUpdateLogResp{
+			Paging: page,
+			List:   list,
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
+		return
+	}
+	tmpList, err := data_stat.GetEdbUpdateLogByCondition(condition, pars, sortStr, pageSize, startSize)
+	if err != nil {
+		br.Msg = "获取指标更新列表失败"
+		br.ErrMsg = "获取指标更新列表失败,Err:" + err.Error()
+		return
+	}
+
+	for _, v := range tmpList {
+		tmp := new(data_stat.EdbInfoUpdateLogItem)
+		tmp.Id = v.Id
+		tmp.EdbInfoId = v.EdbInfoId
+		tmp.SourceName = v.SourceName
+		tmp.Source = v.Source
+		tmp.EdbCode = v.EdbCode
+		tmp.EdbName = v.EdbName
+		tmp.EdbNameSource = v.EdbNameSource
+		tmp.Frequency = v.Frequency
+		tmp.Unit = v.Unit
+		tmp.StartDate = v.StartDate
+		tmp.EndDate = v.EndDate
+		tmp.SysUserId = v.SysUserId
+		tmp.SysUserRealName = v.SysUserRealName
+		tmp.UniqueCode = v.UniqueCode
+		tmp.UpdateTime = v.UpdateTime
+		tmp.LatestDate = v.LatestDate
+		tmp.LatestValue = v.LatestValue
+		tmp.TerminalCode = v.TerminalCode
+		tmp.DataUpdateTime = v.DataUpdateTime.Format(utils.FormatDateTime)
+		tmp.ErDataUpdateDate = v.ErDataUpdateDate.Format(utils.FormatDateTime)
+
+		list = append(list, tmp)
+	}
+
+	resp := data_stat.GetEdbUpdateLogResp{
+		Paging: page,
+		List:   list,
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// EdbUpdateStat
+// @Title 查询数据源明细列表
+// @Description 查询数据源明细列表接口
+// @Success 200 {object} data_stat.GetEdbUpdateStatResp
+// @router /edb_update_stat [get]
+func (this *EdbSourceStatController) EdbUpdateStat() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	sortParamReq := this.GetString("SortParam", "")
+	sortType := this.GetString("SortType", "desc")
+	source, _ := this.GetInt("Source")
+	terminalCode := this.GetString("TerminalCode", "")
+	sysUserId, _ := this.GetInt("SysUserId")
+	frequency := this.GetString("Frequency", "")
+	keyWord := this.GetString("KeyWord", "") //指标ID/指标名称
+
+	updateTime := this.GetString("UpdateTime", "")
+
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+
+	var startSize int
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+
+	startSize = paging.StartIndex(currentIndex, pageSize)
+
+	var condition string
+	var pars []interface{}
+
+	if updateTime != "" {
+		startT, err := time.ParseInLocation(utils.FormatDate, updateTime, time.Local)
+		if err != nil {
+			br.Msg = "请求时间格式错误"
+			return
+		}
+		endT := startT.AddDate(0, 0, 1)
+		condition += " AND update_time >= ? AND update_time < ?"
+		pars = append(pars, updateTime, endT.Format(utils.FormatDate))
+	}
+	if source > 0 {
+		condition += " AND source = ?"
+		pars = append(pars, source)
+	}
+	if terminalCode != "" {
+		condition += " AND terminal_code = ?"
+		pars = append(pars, terminalCode)
+	}
+
+	if sysUserId > 0 {
+		condition += " AND sys_user_id = ?"
+		pars = append(pars, sysUserId)
+	}
+
+	if frequency != "" {
+		condition += " AND frequency = ?"
+		pars = append(pars, frequency)
+	}
+
+	if keyWord != "" {
+		condition += ` AND (edb_name LIKE ? OR edb_code LIKE ? ) `
+		pars = append(pars, "%"+keyWord+"%", "%"+keyWord+"%")
+	}
+
+	sortStr := ``
+	sortParam := ``
+	if sortParamReq != `` {
+		switch sortParamReq {
+		case "UpdateTime":
+			sortParam = "update_time"
+		case "DataUpdateTime":
+			sortParam = "data_update_time"
+		case "ErDataUpdateDate":
+			sortParam = "er_data_update_date"
+		case "LatestDate":
+			sortParam = "latest_date"
+		case "StartDate":
+			sortParam = "start_date"
+		}
+		if sortParam == "" {
+			br.Msg = "请输入正确的排序字段"
+			return
+		}
+		if strings.ToLower(sortType) != "asc" && strings.ToLower(sortType) != "desc" {
+			br.Msg = "请输入正确的排序类型"
+			return
+		}
+		sortStr = fmt.Sprintf(" order by %s %s, id desc ", sortParam, sortType)
+	}
+	total, err := data_stat.GetEdbUpdateStatCount(condition, pars)
+	if err != nil {
+		if err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取指标删除列表总数失败"
+			br.ErrMsg = "获取指标删除列表总数失败,Err:" + err.Error()
+			return
+		} else {
+			err = nil
+		}
+	}
+	list := make([]*data_stat.EdbInfoUpdateStatItem, 0)
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	if total == 0 {
+		resp := data_stat.GetEdbUpdateStatResp{
+			Paging: page,
+			List:   list,
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
+		return
+	}
+	tmpList, err := data_stat.GetEdbUpdateStatByCondition(condition, pars, sortStr, pageSize, startSize)
+	if err != nil {
+		br.Msg = "获取指标更新列表失败"
+		br.ErrMsg = "获取指标更新列表失败,Err:" + err.Error()
+		return
+	}
+
+	for _, v := range tmpList {
+		tmp := new(data_stat.EdbInfoUpdateStatItem)
+		tmp.Id = v.Id
+		tmp.EdbInfoId = v.EdbInfoId
+		tmp.SourceName = v.SourceName
+		tmp.Source = v.Source
+		tmp.EdbCode = v.EdbCode
+		tmp.EdbName = v.EdbName
+		tmp.EdbNameSource = v.EdbNameSource
+		tmp.Frequency = v.Frequency
+		tmp.Unit = v.Unit
+		tmp.StartDate = v.StartDate
+		tmp.SysUserId = v.SysUserId
+		tmp.SysUserRealName = v.SysUserRealName
+		tmp.LatestDate = v.LatestDate
+		tmp.LatestValue = v.LatestValue
+		tmp.TerminalCode = v.TerminalCode
+		tmp.DataUpdateTime = v.DataUpdateTime.Format(utils.FormatDateTime)
+		tmp.ErDataUpdateDate = v.ErDataUpdateDate.Format(utils.FormatDateTime)
+		tmp.UpdateResult = v.UpdateResult
+		tmp.UpdateFailedReason = v.UpdateFailedReason
+		tmp.UpdateTime = v.UpdateTime
+		tmp.IsAdd = v.IsAdd
+		tmp.NeedRefresh = v.NeedRefresh
+		tmp.HasRefresh = v.HasRefresh
+		list = append(list, tmp)
+	}
+
+	resp := data_stat.GetEdbUpdateStatResp{
+		Paging: page,
+		List:   list,
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// EdbSourceStat
+// @Title 查询数据源统计列表
+// @Description 查询数据源统计列表接口
+// @Success 200 {object} data_stat.GetEdbUpdateLogResp
+// @router /source_stat [get]
+func (this *EdbSourceStatController) EdbSourceStat() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	sortParamReq := this.GetString("SortParam", "")
+	sortType := this.GetString("SortType", "desc")
+	statTime := this.GetString("StatTime", "")
+
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+
+	var startSize int
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+
+	startSize = paging.StartIndex(currentIndex, pageSize)
+
+	var condition string
+	var pars []interface{}
+
+	if statTime != "" {
+		_, err := time.ParseInLocation(utils.FormatDate, statTime, time.Local)
+		if err != nil {
+			br.Msg = "请求时间格式错误"
+			return
+		}
+		condition += " AND stat_time = ?"
+		pars = append(pars, statTime)
+	}
+
+	sortStr := ``
+	sortParam := ``
+	if sortParamReq != `` {
+		switch sortParamReq {
+		case "EdbNum":
+			sortParam = "edb_num"
+		}
+		if sortParam == "" {
+			br.Msg = "请输入正确的排序字段"
+			return
+		}
+		if strings.ToLower(sortType) != "asc" && strings.ToLower(sortType) != "desc" {
+			br.Msg = "请输入正确的排序类型"
+			return
+		}
+		sortStr = fmt.Sprintf(" order by %s %s, id desc ", sortParam, sortType)
+	}
+	total, err := data_stat.GetEdbSourceStatCount(condition, pars)
+	if err != nil {
+		if err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取指标删除列表总数失败"
+			br.ErrMsg = "获取指标删除列表总数失败,Err:" + err.Error()
+			return
+		} else {
+			err = nil
+		}
+	}
+	list := make([]*data_stat.EdbInfoSourceStatItem, 0)
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	if total == 0 {
+		resp := data_stat.GetEdbSourceStatResp{
+			Paging: page,
+			List:   list,
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
+		return
+	}
+	tmpList, err := data_stat.GetEdbSourceStatByCondition(condition, pars, sortStr, pageSize, startSize)
+	if err != nil {
+		br.Msg = "获取指标删除列表失败"
+		br.ErrMsg = "获取指标删除列表失败,Err:" + err.Error()
+		return
+	}
+
+	for _, v := range tmpList {
+		tmp := new(data_stat.EdbInfoSourceStatItem)
+		tmp.Id = v.Id
+		tmp.SourceName = v.SourceName
+		tmp.Source = v.Source
+		tmp.TerminalCode = v.TerminalCode
+		tmp.EdbNum = v.EdbNum
+		tmp.EdbNewNum = v.EdbNewNum
+		tmp.EdbDelNum = v.EdbDelNum
+		tmp.NeedUpdateNum = v.NeedUpdateNum
+		tmp.HasUpdateNum = v.HasUpdateNum
+		tmp.UpdateSuccessNum = v.UpdateSuccessNum
+		tmp.UpdateFailedNum = v.UpdateFailedNum
+		tmp.DataUpdateSuccessNum = v.DataUpdateSuccessNum
+		tmp.StatTime = v.StatTime
+		list = append(list, tmp)
+	}
+
+	resp := data_stat.GetEdbSourceStatResp{
+		Paging: page,
+		List:   list,
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 67 - 1
models/data_stat/edb_info_update_log.go

@@ -1,6 +1,10 @@
 package data_stat
 
-import "time"
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"time"
+)
 
 // EdbInfoUpdateLog 指标更新/刷新日志列表
 type EdbInfoUpdateLog struct {
@@ -30,3 +34,65 @@ type EdbInfoUpdateLog struct {
 	UpdateResult       int32     `description:"本次刷新结果:1成功,2失败"`
 	UpdateFailedReason string    `description:"数据未正常刷新原因"`
 }
+
+type EdbInfoUpdateLogItem struct {
+	Id               uint64  `orm:"column(id);pk"`
+	EdbInfoId        int     `description:"指标ID"`
+	SourceName       string  `description:"来源名称"`
+	Source           int     `description:"来源id"`
+	EdbCode          string  `description:"指标编码"`
+	EdbName          string  `description:"指标名称"`
+	EdbNameSource    string  `description:"指标名称来源"`
+	Frequency        string  `description:"频率"`
+	Unit             string  `description:"单位"`
+	StartDate        string  `description:"起始日期"`
+	EndDate          string  `description:"终止日期"`
+	SysUserId        int     `description:"创建人ID"`
+	SysUserRealName  string  `description:"创建人姓名"`
+	UniqueCode       string  `description:"指标唯一编码"`
+	UpdateTime       string  `description:"刷新/修改时间"`
+	LatestDate       string  `description:"数据最新日期"`
+	LatestValue      float64 `description:"数据最新值"`
+	TerminalCode     string  `description:"终端编码,用于配置在机器上"`
+	DataUpdateTime   string  `description:"最近一次数据发生变化的时间"`
+	ErDataUpdateDate string  `description:"本次更新,数据发生变化的最早日期"`
+}
+
+func AddEdbUpdateLog(item *EdbInfoUpdateLog) (lastId int64, err error) {
+	o := orm.NewOrmUsingDB("data")
+	lastId, err = o.Insert(item)
+	return
+}
+
+type GetEdbUpdateLogResp struct {
+	List   []*EdbInfoUpdateLogItem
+	Paging *paging.PagingItem
+}
+
+func GetEdbUpdateLogByCondition(condition string, pars []interface{}, orderStr string, pageSize, startSize int) (item []*EdbInfoUpdateLog, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM edb_info_update_log WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	if orderStr != "" {
+		sql += orderStr
+	} else {
+		sql += ` ORDER BY update_time DESC, id DESC `
+	}
+
+	sql += ` LIMIT ?,? `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	return
+}
+
+// GetEdbUpdateLogCount
+func GetEdbUpdateLogCount(condition string, pars []interface{}) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT count(*) FROM edb_info_update_log WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}

+ 70 - 1
models/data_stat/edb_info_update_stat.go

@@ -1,6 +1,10 @@
 package data_stat
 
-import "time"
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"time"
+)
 
 // EdbInfoUpdateStat 指标更新/刷新 汇总表(数据源明细表)
 type EdbInfoUpdateStat struct {
@@ -34,3 +38,68 @@ type EdbInfoUpdateStat struct {
 	NeedRefresh        int8      `description:"今日是否需要定时刷新,1需要,0不需要"` //todo 确认该字段
 	HasRefresh         int8      `description:"今日是否已刷新,1是,0否"`
 }
+
+type EdbInfoUpdateStatItem struct {
+	Id                 uint64  `orm:"column(id);pk"`
+	EdbInfoId          int     `description:"指标ID"`
+	SourceName         string  `description:"来源名称"`
+	Source             int     `description:"来源id"`
+	EdbCode            string  `description:"指标编码"`
+	EdbName            string  `description:"指标名称"`
+	EdbNameSource      string  `description:"指标名称来源"`
+	Frequency          string  `description:"频率"`
+	Unit               string  `description:"单位"`
+	StartDate          string  `description:"起始日期"`
+	SysUserId          int     `description:"创建人ID"`
+	SysUserRealName    string  `description:"创建人姓名"`
+	LatestDate         string  `description:"数据最新日期"`
+	LatestValue        float64 `description:"数据最新值"`
+	TerminalCode       string  `description:"终端编码,用于配置在机器上"`
+	DataUpdateTime     string  `description:"最近一次数据发生变化的时间"`
+	ErDataUpdateDate   string  `description:"本次更新,数据发生变化的最早日期"`
+	UpdateResult       int32   `description:"本次刷新结果:1成功,2失败"`
+	UpdateFailedReason string  `description:"数据未正常刷新原因"`
+	UpdateTime         string  `description:"当日刷新/修改时间"`
+	IsAdd              int8    `description:"是否是当日新增的指标:1是,2否"`
+	NeedRefresh        int8    `description:"今日是否需要定时刷新,1需要,0不需要"` //todo 确认该字段
+	HasRefresh         int8    `description:"今日是否已刷新,1是,0否"`
+}
+
+func AddEdbUpdateStat(item *EdbInfoUpdateStat) (lastId int64, err error) {
+	o := orm.NewOrmUsingDB("data")
+	lastId, err = o.Insert(item)
+	return
+}
+
+type GetEdbUpdateStatResp struct {
+	List   []*EdbInfoUpdateStatItem
+	Paging *paging.PagingItem
+}
+
+func GetEdbUpdateStatByCondition(condition string, pars []interface{}, orderStr string, pageSize, startSize int) (item []*EdbInfoUpdateStat, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM edb_info_update_stat WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	if orderStr != "" {
+		sql += orderStr
+	} else {
+		sql += ` ORDER BY create_time DESC, id DESC `
+	}
+
+	sql += ` LIMIT ?,? `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	return
+}
+
+// GetEdbUpdateStatCount
+func GetEdbUpdateStatCount(condition string, pars []interface{}) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT count(*) FROM edb_info_update_stat WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}

+ 63 - 3
models/data_stat/edb_source_stat.go

@@ -1,9 +1,37 @@
 package data_stat
 
-import "time"
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"time"
+)
 
 // EdbSourceStat 数据源统计表
 type EdbSourceStat struct {
+	Id                   uint64    `orm:"column(id);pk"`
+	SourceName           string    `description:"来源名称"`
+	Source               int       `description:"来源id"`
+	TerminalCode         string    `description:"终端编码,用于配置在机器上"`
+	EdbNum               int32     `description:"指标总数"`
+	EdbNewNum            int32     `description:"今日新增指标数"`
+	EdbDelNum            int32     `description:"今日删除指标数"`
+	NeedUpdateNum        int32     `description:"今日需刷新指标"`
+	HasUpdateNum         int32     `description:"今日发起刷新任务指标数"`
+	UpdateSuccessNum     int32     `description:"今日已刷新成功指标数"`
+	UpdateFailedNum      int32     `description:"今日已刷新失败指标数"`
+	DataUpdateSuccessNum int32     `description:"今日已更新指标"`
+	CreateTime           time.Time `description:"创建时间"`
+	ModifyTime           time.Time `description:"修改时间"`
+	StatTime             string    `description:"统计汇总日期"`
+}
+
+func AddEdbSourceStat(item *EdbInfoDeleteLog) (lastId int64, err error) {
+	o := orm.NewOrmUsingDB("data")
+	lastId, err = o.Insert(item)
+	return
+}
+
+type EdbInfoSourceStatItem struct {
 	Id                   uint64 `orm:"column(id);pk"`
 	SourceName           string `description:"来源名称"`
 	Source               int    `description:"来源id"`
@@ -16,6 +44,38 @@ type EdbSourceStat struct {
 	UpdateSuccessNum     int32  `description:"今日已刷新成功指标数"`
 	UpdateFailedNum      int32  `description:"今日已刷新失败指标数"`
 	DataUpdateSuccessNum int32  `description:"今日已更新指标"`
-	CreateTime           time.Time
-	ModifyTime           string `description:"修改时间"`
+	StatTime             string `description:"统计汇总日期"`
+}
+
+type GetEdbSourceStatResp struct {
+	List   []*EdbInfoSourceStatItem
+	Paging *paging.PagingItem
+}
+
+func GetEdbSourceStatByCondition(condition string, pars []interface{}, orderStr string, pageSize, startSize int) (item []*EdbSourceStat, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM edb_source_stat WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	if orderStr != "" {
+		sql += orderStr
+	} else {
+		sql += ` ORDER BY create_time DESC, id DESC `
+	}
+
+	sql += ` LIMIT ?,? `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	return
+}
+
+// GetEdbSourceStatCount
+func GetEdbSourceStatCount(condition string, pars []interface{}) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT count(*) FROM edb_source_stat WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
 }

+ 27 - 0
routers/commentsRouter.go

@@ -3445,6 +3445,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbSourceStatController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbSourceStatController"],
+        beego.ControllerComments{
+            Method: "EdbUpdateLog",
+            Router: `/edb_update_log`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbSourceStatController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbSourceStatController"],
+        beego.ControllerComments{
+            Method: "EdbUpdateStat",
+            Router: `/edb_update_stat`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbSourceStatController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbSourceStatController"],
         beego.ControllerComments{
             Method: "Column",
@@ -3463,6 +3481,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbSourceStatController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbSourceStatController"],
+        beego.ControllerComments{
+            Method: "EdbSourceStat",
+            Router: `/source_stat`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnPermissionController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnPermissionController"],
         beego.ControllerComments{
             Method: "Add",