package models

import (
	"eta_gn/eta_index_lib/global"
	"time"
)

// EdbPythonCode python指标运算代码
type EdbPythonCode struct {
	EdbPythonCodeId int       `gorm:"primaryKey;autoIncrement;column:edb_python_code_id"`
	EdbInfoId       int       `gorm:"column:edb_info_id" description:"指标id"`
	EdbCode         string    `gorm:"column:edb_code" description:"指标编码"`
	PythonCode      string    `gorm:"column:python_code" description:"python代码"`
	ModifyTime      time.Time `gorm:"column:modify_time"`
	CreateTime      time.Time `gorm:"column:create_time"`
}

// Update 更新EdbPythonCode信息
func (edbPythonCode *EdbPythonCode) Update(cols []string) (err error) {
	err = global.DEFAULT_DmSQL.Model(edbPythonCode).Select(cols).Updates(edbPythonCode).Error
	return
}

// AddEdbPythonCode python指标运算代码
func AddEdbPythonCode(item *EdbPythonCode) (lastId int64, err error) {
	err = global.DEFAULT_DmSQL.Create(item).Error
	return
}

// GetEdbPythonCodeById 根据指标id获取python代码
func GetEdbPythonCodeById(edbInfoId int) (item *EdbPythonCode, err error) {
	sql := ` SELECT * FROM edb_python_code WHERE edb_info_id=? `
	err = global.DEFAULT_DmSQL.Raw(sql, edbInfoId).First(&item).Error
	return
}