package services

import (
	"eta/eta_api/models"
	"eta/eta_api/models/system"
	"eta/eta_api/utils"
)

// 新增指标数据
func AddEdbItem(secName, unit, frequency string, classifyId int, sysUser *system.Admin) (errMsg string) {
	//保存edb数据
	tradeCode, err := models.GetMaxTradeCode()
	if err != nil {
		errMsg = "获取最大交易编码失败,Err:" + err.Error()
		return
	}

	if tradeCode == "" {
		errMsg = "最大编码为空"
		return
	}
	maxTradeCode, err := utils.GetMaxTradeCode(tradeCode)
	if err != nil {
		errMsg = "获取编码信息失败,Err:" + err.Error()
		return
	}
	if maxTradeCode == "" {
		errMsg = "编码为空,请联系技术"
		return
	}
	if secName == "" {
		errMsg = "指标名称不能为空"
		return
	}
	item, err := models.GetEdbinfoBySecName(secName)
	if err != nil && err.Error() != utils.ErrNoRow() {
		errMsg = "获取信息失败,Err:" + err.Error()
		return
	}
	if item != nil {
		errMsg = "指标名称已存在"
		return
	}
	err = models.AddEdbinfo(maxTradeCode, secName, unit, "手动", frequency, "", classifyId, sysUser.AdminId, sysUser.RealName)
	if err != nil {
		errMsg = "新增失败,Err:" + err.Error()
		return
	}
	err = models.AddEdbinfoUser(maxTradeCode, sysUser.Mobile)
	if err != nil {
		errMsg = "新增失败,Err:" + err.Error()
		return
	}

	return
}