package bi_dashboard

import (
	"eta/eta_api/global"
	"eta/eta_api/utils"
	"time"
)

type BiDashboardHomePage struct {
	BiDashboardHomePageId int       `orm:"column(bi_dashboard_home_page_id);pk" gorm:"primaryKey"`
	BiDashboardId         int       `gorm:"type:int(10);default:null;comment:'看板id'"`
	AdminId               int       `gorm:"type:int(10);default:null;"`
	CreateTime            time.Time `gorm:"type:datetime;comment:'创建时间'"`
	ModifyTime            time.Time `gorm:"type:datetime;comment:'更新时间'"`
	FromType              int       `gorm:"type:int(10);default:null;comment:'来源,前端跳转用 1我的 2共享 3公共"`
}

// tableName
func (m *BiDashboardHomePage) TableName() string {
	return "bi_dashboard_home_page"
}

// get
func GetBiDashboardHomePageById(id int) (item *BiDashboardHomePage, err error) {
	sql := ` SELECT a.* FROM bi_dashboard_home_page AS a INNER JOIN bi_dashboard AS b 
ON a.bi_dashboard_id = b.bi_dashboard_id WHERE a.admin_id = ? `
	o := global.DbMap[utils.DbNameMaster]
	err = o.Raw(sql, id).First(&item).Error
	return
}

// save
func SaveBiDashboardHomePage(item *BiDashboardHomePage) (err error) {
	//return global.DEFAULT_DmSQL.Save(item).Error
	o := global.DbMap[utils.DbNameMaster]
	if item.BiDashboardHomePageId > 0 {
		err = o.Exec("UPDATE bi_dashboard_home_page SET bi_dashboard_id=?,modify_time=? WHERE bi_dashboard_home_page_id=?", item.BiDashboardId, item.ModifyTime, item.BiDashboardHomePageId).Error
	} else {
		err = o.Create(item).Error
	}
	return
}

type SaveHomePageReq struct {
	BiDashboardId int `description:"看板id"`
	FromType      int `description:"来源,前端跳转用 1我的 2共享 3公共"`
}