package controllers

import (
	"eta/eta_data_init/models"
	"eta/eta_data_init/services"
	"fmt"
	beego "github.com/beego/beego/v2/server/web"
)

// Operations about Users
type DataInitController struct {
	beego.Controller
}

// @Title 初始化基础指标数据-不包含钢联化工的基础指标初始化
// @Description 初始化基础指标数据-不包含钢联化工的基础指标初始化
// @Param   FileName    query   string true       "文件名称"
// @Success Ret=200
// @router /base [get]
func (this *DataInitController) Base() {
	br := new(models.BaseResponse).Init()
	defer func() {
		this.Data["json"] = br
		this.ServeJSON()
	}()

	fileName := this.GetString("FileName")
	if fileName == "" {
		br.Msg = "文件名称不能为空"
		return
	}

	filePath := "/docs/" + fileName
	fmt.Println("filePath:" + filePath)
	services.InitBaseIndexData(filePath)
	br.Ret = 200
	br.Msg = "保存成功"
}

// @Title 初始化联化工指标
// @Description 初始化联化工指标
// @Param   FileName    query   string true       "文件名称"
// @Success Ret=200
// @router /mysteel_chemical [get]
func (this *DataInitController) MySteelChemical() {
	br := new(models.BaseResponse).Init()
	defer func() {
		this.Data["json"] = br
		this.ServeJSON()
	}()

	fileName := this.GetString("FileName")
	if fileName == "" {
		br.Msg = "文件名称不能为空"
		return
	}

	filePath := "/docs/" + fileName
	fmt.Println("filePath:" + filePath)
	services.InitMysteelChemicalIndex(filePath)
	br.Ret = 200
	br.Msg = "保存成功"
}

// @Title 初始化钢联化工数据-由数据源批量初始化到指标库
// @Description 初始化钢联化工数据-由数据源批量初始化到指标库
// @Param   FileName    query   string true       "文件名称"
// @Success Ret=200
// @router /mysteel_chemical/base [get]
func (this *DataInitController) MySteelChemicalBase() {
	br := new(models.BaseResponse).Init()
	defer func() {
		this.Data["json"] = br
		this.ServeJSON()
	}()

	fileName := this.GetString("FileName")
	if fileName == "" {
		br.Msg = "文件名称不能为空"
		return
	}

	filePath := "/docs/" + fileName
	fmt.Println("filePath:" + filePath)
	services.InitBaseIndexDataFromMysteel(filePath)
	br.Ret = 200
	br.Msg = "保存成功"
}

// @Title 初始化有色指标到数据源
// @Description 初始化有色指标到数据源
// @Param   FileName    query   string true       "文件名称"
// @Success Ret=200
// @router /smm/to_data_source [get]
func (this *DataInitController) SmmToDataSource() {
	br := new(models.BaseResponse).Init()
	defer func() {
		this.Data["json"] = br
		this.ServeJSON()
	}()

	fileName := this.GetString("FileName")
	if fileName == "" {
		br.Msg = "文件名称不能为空"
		return
	}

	filePath := "/docs/" + fileName
	fmt.Println("filePath:" + filePath)
	services.InitSmmIndexToDataSource(filePath)
	br.Ret = 200
	br.Msg = "保存成功"
}

// @Title 初始化有色指标-由数据源批量初始化到指标库
// @Description 初始化有色指标-由数据源批量初始化到指标库
// @Param   FileName    query   string true       "文件名称"
// @Success Ret=200
// @router /smm/add/to_index_lib [get]
func (this *DataInitController) SmmToIndexLib() {
	br := new(models.BaseResponse).Init()
	defer func() {
		this.Data["json"] = br
		this.ServeJSON()
	}()

	fileName := this.GetString("FileName")
	if fileName == "" {
		br.Msg = "文件名称不能为空"
		return
	}

	filePath := "/docs/" + fileName
	fmt.Println("filePath:" + filePath)
	services.InitBaseIndexDataFromDataSourceSmm(filePath)
	br.Ret = 200
	br.Msg = "保存成功"
}