Browse Source

删除SMM相关模型和接口代码

- 移除models/data_manage目录下的base_from_smm.go文件
- 移除services/data目录下的base_from_smm.go文件- 删除了与SMM数据管理相关的所有结构和接口定义
Roc 4 months ago
parent
commit
d2d510a639
46 changed files with 74 additions and 10777 deletions
  1. 0 1705
      controllers/data_manage/base_from_ths_hf.go
  2. 0 490
      controllers/data_manage/base_from_ths_hf_classify.go
  3. 68 1320
      controllers/data_manage/edb_info.go
  4. 0 61
      controllers/data_manage/edb_info_refresh.go
  5. 0 241
      controllers/data_manage/smm_api.go
  6. 0 1184
      controllers/data_manage/smm_data.go
  7. 0 467
      controllers/data_manage/yongyi_data.go
  8. 0 478
      models/data_manage/base_from_smm.go
  9. 0 264
      models/data_manage/base_from_smm_classify.go
  10. 0 523
      models/data_manage/base_from_ths_hf.go
  11. 0 314
      models/data_manage/base_from_ths_hf_classify.go
  12. 0 185
      models/data_manage/base_from_ths_hf_data.go
  13. 0 152
      models/data_manage/base_from_yongyi.go
  14. 0 88
      models/data_manage/base_from_yongyi_classify.go
  15. 0 26
      models/data_manage/edb_data_baiinfo.go
  16. 0 79
      models/data_manage/edb_data_cffex.go
  17. 0 79
      models/data_manage/edb_data_coal.go
  18. 0 79
      models/data_manage/edb_data_dl.go
  19. 0 21
      models/data_manage/edb_data_fubao.go
  20. 0 93
      models/data_manage/edb_data_gie.go
  21. 0 25
      models/data_manage/edb_data_gl.go
  22. 0 47
      models/data_manage/edb_data_gz.go
  23. 0 47
      models/data_manage/edb_data_icpi.go
  24. 0 20
      models/data_manage/edb_data_lz.go
  25. 6 1
      models/data_manage/edb_data_manual.go
  26. 0 29
      models/data_manage/edb_data_mysteel_chemical.go
  27. 0 48
      models/data_manage/edb_data_oilchem.go
  28. 0 35
      models/data_manage/edb_data_pb.go
  29. 0 20
      models/data_manage/edb_data_sci.go
  30. 0 47
      models/data_manage/edb_data_sci99.go
  31. 0 20
      models/data_manage/edb_data_sci_hq.go
  32. 0 79
      models/data_manage/edb_data_sh.go
  33. 0 79
      models/data_manage/edb_data_shfe.go
  34. 0 33
      models/data_manage/edb_data_ths.go
  35. 0 34
      models/data_manage/edb_data_wind.go
  36. 0 92
      models/data_manage/edb_data_ys.go
  37. 0 80
      models/data_manage/edb_data_zz.go
  38. 0 283
      models/data_manage/smm_data.go
  39. 0 10
      models/db2.go
  40. 0 387
      routers/commentsRouter.go
  41. 0 1
      routers/router.go
  42. 0 629
      services/data/base_from_smm.go
  43. 0 302
      services/data/base_from_ths_hf.go
  44. 0 526
      services/data/base_from_ths_hf_classify.go
  45. 0 6
      services/data/edb_info.go
  46. 0 48
      services/data/edb_info_refresh.go

+ 0 - 1705
controllers/data_manage/base_from_ths_hf.go

@@ -1,1705 +0,0 @@
-package data_manage
-
-import (
-	"encoding/json"
-	"eta_gn/eta_api/controllers"
-	"eta_gn/eta_api/models"
-	"eta_gn/eta_api/models/data_manage"
-	"eta_gn/eta_api/models/mgo"
-	"eta_gn/eta_api/services/data"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"github.com/shopspring/decimal"
-	"go.mongodb.org/mongo-driver/bson"
-	"sort"
-	"strconv"
-	"strings"
-	"time"
-)
-
-// BaseFromThsHfController 同花顺高频数据
-type BaseFromThsHfController struct {
-	controllers.BaseAuthController
-}
-
-// Search
-// @Title 新增指标-查询指标信息接口
-// @Description 新增指标-查询指标信息接口
-// @Param	request	body data_manage.ThsHfSearchEdbReq true "type json string"
-// @Success 200 {object} data_manage.ThsHfSearchEdbResp
-// @router /ths_hf/index/search [get]
-func (this *BaseFromThsHfController) Search() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfSearchEdbReq
-	if e := this.ParseForm(&params); e != nil {
-		br.Msg = "参数解析失败"
-		br.ErrMsg = fmt.Sprintf("参数解析失败, err: %v", e)
-		return
-	}
-	params.StockCode = strings.TrimSpace(params.StockCode)
-	if params.StockCode == "" {
-		br.Msg = "请输入证券代码"
-		return
-	}
-	stockCodes := strings.Split(params.StockCode, ",")
-	if len(stockCodes) == 0 {
-		br.Msg = "请输入证券代码"
-		return
-	}
-	if len(stockCodes) > 10 {
-		br.Msg = "最多输入10个证券代码"
-		return
-	}
-	params.EdbCode = strings.TrimSpace(params.EdbCode)
-	if params.EdbCode == "" {
-		br.Msg = "请输入指标代码"
-		return
-	}
-	edbCodes := strings.Split(params.EdbCode, ",")
-	if len(edbCodes) == 0 {
-		br.Msg = "请输入指标代码"
-		return
-	}
-	if len(edbCodes) > 20 {
-		br.Msg = "最多选择/输入20个指标代码"
-		return
-	}
-	if params.StartTime == "" {
-		br.Msg = "请选择起始时间"
-		return
-	}
-	_, e := time.ParseInLocation(utils.FormatDateTime, params.StartTime, time.Local)
-	if e != nil {
-		br.Msg = "起始时间格式有误"
-		br.ErrMsg = fmt.Sprintf("起始时间格式有误, %v", e)
-		return
-	}
-	// 结束时间选填, 不填则为当前时间
-	if params.EndTime != "" {
-		_, e := time.ParseInLocation(utils.FormatDateTime, params.EndTime, time.Local)
-		if e != nil {
-			br.Msg = "截止时间格式有误"
-			br.ErrMsg = fmt.Sprintf("截止时间格式有误, %v", e)
-			return
-		}
-	}
-	if params.EndTime == "" {
-		params.EndTime = time.Now().Local().Format(utils.FormatDateTime)
-	}
-	if !utils.InArrayByInt(data_manage.ThsHfPeriodArr, params.Interval) {
-		br.Msg = "时间周期有误"
-		br.ErrMsg = fmt.Sprintf("时间周期有误, Interval: %d", params.Interval)
-		return
-	}
-	if params.CPS != "" && !utils.InArrayByStr(data_manage.ThsHfCPSArr, params.CPS) {
-		br.Msg = "复权方式有误"
-		br.ErrMsg = fmt.Sprintf("复权方式有误, CPS: %s", params.CPS)
-		return
-	}
-	if params.BaseDate != "" {
-		_, e = time.ParseInLocation(utils.FormatDate, params.BaseDate, time.Local)
-		if e != nil {
-			br.Msg = "复权基点格式有误"
-			br.ErrMsg = fmt.Sprintf("复权基点格式有误, %v", e)
-			return
-		}
-	}
-	if params.Fill != "" && !utils.InArrayByStr(data_manage.ThsHfFillArr, params.Fill) {
-		br.Msg = "非交易间隔处理有误"
-		br.ErrMsg = fmt.Sprintf("非交易间隔处理有误, Fill: %s", params.Fill)
-		return
-	}
-
-	// 校验已入库的指标
-	checkResp, indexExists, e := data.CheckExistThsHfEdb(stockCodes, edbCodes)
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("校验已存在的高频指标失败, %v", e)
-		return
-	}
-	if len(checkResp.ExistIndex) > 0 && checkResp.ExistAll {
-		br.Msg = "指标均已存在"
-		return
-	}
-
-	resp := make([]*data_manage.ThsHfSearchEdbResp, 0)
-
-	// 请求API获取数据
-	indexes, e := data.GetEdbDataThsHf(params)
-	if e != nil {
-		br.Msg = "未搜索到指标"
-		br.ErrMsg = fmt.Sprintf("获取高频指标失败, %v", e)
-		return
-	}
-	if len(indexes) == 0 {
-		br.Msg = "未搜索到指标"
-		return
-	}
-	for _, v := range indexes {
-		// 忽略掉校验出来的已入库指标
-		k := fmt.Sprintf("%s-%s", v.StockCode, v.EdbCode)
-		if indexExists[k] {
-			continue
-		}
-
-		// 默认指标名称
-		suffix := data_manage.ThsHfEdbCodeCn[v.EdbCode]
-		if suffix == "" {
-			suffix = v.EdbCode
-		}
-		indexName := fmt.Sprintf("%s%dm%s", v.StockCode, params.Interval, suffix)
-
-		item := new(data_manage.ThsHfSearchEdbResp)
-		item.StockCode = v.StockCode
-		item.EdbCode = v.EdbCode
-		item.IndexName = indexName
-		item.Frequency = params.Interval
-
-		// 搜索只展示100条数据
-		var limit int
-		sort.Slice(v.IndexData, func(i, j int) bool {
-			return v.IndexData[i].DataTime.After(v.IndexData[j].DataTime)
-		})
-		for _, d := range v.IndexData {
-			if limit > 100 {
-				break
-			}
-			limit += 1
-			strVal := decimal.NewFromFloat(d.Value).Round(4).String()
-			item.IndexData = append(item.IndexData, data_manage.ThsHfSearchEdbData{
-				DataTime: d.DataTime.Format(utils.FormatDateTime),
-				Value:    strVal,
-			})
-		}
-		resp = append(resp, item)
-	}
-
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-}
-
-// ExistCheck
-// @Title 新增指标-指标存在校验
-// @Description 新增指标-指标存在校验
-// @Param	request	body data_manage.ThsHfSearchEdbReq true "type json string"
-// @Success 200 {object} data_manage.ThsHfExistCheckResp
-// @router /ths_hf/index/exist_check [get]
-func (this *BaseFromThsHfController) ExistCheck() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfSearchEdbReq
-	if e := this.ParseForm(&params); e != nil {
-		br.Msg = "参数解析失败"
-		br.ErrMsg = fmt.Sprintf("参数解析失败, err: %v", e)
-		return
-	}
-	params.StockCode = strings.TrimSpace(params.StockCode)
-	if params.StockCode == "" {
-		br.Msg = "请输入证券代码"
-		return
-	}
-	stockCodes := strings.Split(params.StockCode, ",")
-	if len(stockCodes) == 0 {
-		br.Msg = "请输入证券代码"
-		return
-	}
-	params.EdbCode = strings.TrimSpace(params.EdbCode)
-	if params.EdbCode == "" {
-		br.Msg = "请输入指标代码"
-		return
-	}
-	edbCodes := strings.Split(params.EdbCode, ",")
-	if len(edbCodes) == 0 {
-		br.Msg = "请输入指标代码"
-		return
-	}
-
-	// 校验已存在的高频指标
-	resp, _, e := data.CheckExistThsHfEdb(stockCodes, edbCodes)
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("校验已存在的高频指标失败, %v", e)
-		return
-	}
-
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-}
-
-// List
-// @Title 列表
-// @Description 列表
-// @Param	request	body data_manage.ThsHfIndexListForm true "type json string"
-// @Success 200 {object} data_manage.ThsHfIndexPageListResp
-// @router /ths_hf/index/list [get]
-func (this *BaseFromThsHfController) List() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfIndexListForm
-	if e := this.ParseForm(&params); e != nil {
-		br.Msg = "参数解析失败"
-		br.ErrMsg = fmt.Sprintf("参数解析失败, err: %v", e)
-		return
-	}
-	if params.SortField > 0 && !utils.InArrayByInt([]int{1, 2, 3, 4}, params.SortField) {
-		br.Msg = "参数有误"
-		br.ErrMsg = fmt.Sprintf("参数有误, SortField: %d", params.SortField)
-		return
-	}
-	if params.SortType > 0 && !utils.InArrayByInt([]int{1, 2}, params.SortType) {
-		br.Msg = "参数有误"
-		br.ErrMsg = fmt.Sprintf("参数有误, SortType: %d", params.SortType)
-		return
-	}
-	resp := new(data_manage.ThsHfIndexPageListResp)
-	resp.List = make([]*data_manage.BaseFromThsHfIndexItem, 0)
-
-	// 查询所有分类-分类查询/分类完整路径用
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	//classifies := make([]*data_manage.BaseFromThsHfClassify, 0)
-	classifyIdItem := make(map[int]*data_manage.BaseFromThsHfClassify)
-	{
-		list, e := classifyOb.GetItemsByCondition(``, make([]interface{}, 0), []string{classifyOb.Cols().PrimaryId, classifyOb.Cols().ClassifyName, classifyOb.Cols().ClassifyNameEn, classifyOb.Cols().LevelPath}, "")
-		if e != nil {
-			br.Msg = "获取失败"
-			br.ErrMsg = fmt.Sprintf("获取分类列表失败, %v", e)
-			return
-		}
-		for _, v := range list {
-			classifyIdItem[v.BaseFromThsHfClassifyId] = v
-		}
-		//classifies = list
-	}
-
-	// 筛选项
-	var (
-		cond      string
-		pars      []interface{}
-		listOrder string
-	)
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	{
-		// 分类
-		if params.ClassifyId != "" {
-			classifyIdArr := strings.Split(params.ClassifyId, ",")
-			classifyIds := make([]int, 0)
-			for _, v := range classifyIdArr {
-				t, _ := strconv.Atoi(v)
-				if t > 0 {
-					classifyIds = append(classifyIds, t)
-				}
-			}
-			if len(classifyIds) == 0 {
-				page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
-				resp.Paging = page
-				br.Ret = 200
-				br.Success = true
-				br.Msg = "获取成功"
-				return
-			}
-			cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(classifyIds)))
-			pars = append(pars, classifyIds)
-
-			//// 不包含子分类
-			//if len(classifyIds) > 0 && !params.IncludeChild {
-			//	cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(classifyIds)))
-			//	pars = append(pars, classifyIds)
-			//}
-			//
-			//// 包含子分类
-			//if len(classifyIds) > 0 && params.IncludeChild {
-			//	queryClassifyIds := make([]int, 0)
-			//	queryClassifyExist := make(map[int]bool)
-			//
-			//	for _, v := range classifyIds {
-			//		// 遍历所有分类从LevelPath中找含有查询分类ID的...=_=!
-			//		for _, cv := range classifies {
-			//			if queryClassifyExist[cv.BaseFromThsHfClassifyId] {
-			//				continue
-			//			}
-			//			if cv.LevelPath == "" {
-			//				continue
-			//			}
-			//			strArr := strings.Split(cv.LevelPath, ",")
-			//			if len(strArr) == 0 {
-			//				continue
-			//			}
-			//			for _, sv := range strArr {
-			//				tv, _ := strconv.Atoi(sv)
-			//				if tv == v {
-			//					queryClassifyIds = append(queryClassifyIds, cv.BaseFromThsHfClassifyId)
-			//					queryClassifyExist[cv.BaseFromThsHfClassifyId] = true
-			//					break
-			//				}
-			//			}
-			//		}
-			//	}
-			//
-			//	if len(queryClassifyIds) == 0 {
-			//		page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
-			//		resp.Paging = page
-			//		br.Ret = 200
-			//		br.Success = true
-			//		br.Msg = "获取成功"
-			//		return
-			//	}
-			//	cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(queryClassifyIds)))
-			//	pars = append(pars, queryClassifyIds)
-			//}
-		}
-
-		if params.Frequency != "" {
-			frequencyArr := strings.Split(params.Frequency, ",")
-			if len(frequencyArr) > 0 {
-				cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().Frequency, utils.GetOrmInReplace(len(frequencyArr)))
-				pars = append(pars, frequencyArr)
-			}
-		}
-		if params.SysAdminId != "" {
-			adminIdArr := strings.Split(params.SysAdminId, ",")
-			adminIds := make([]int, 0)
-			for _, v := range adminIdArr {
-				t, _ := strconv.Atoi(v)
-				if t > 0 {
-					adminIds = append(adminIds, t)
-				}
-			}
-			if len(adminIds) > 0 {
-				cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().SysUserId, utils.GetOrmInReplace(len(adminIds)))
-				pars = append(pars, adminIds)
-			}
-		}
-		params.Keywords = strings.TrimSpace(params.Keywords)
-		if params.Keywords != "" {
-			cond += fmt.Sprintf(" AND (%s LIKE ? OR %s LIKE ?)", indexOb.Cols().IndexCode, indexOb.Cols().IndexName)
-			kw := fmt.Sprint("%", params.Keywords, "%")
-			pars = append(pars, kw, kw)
-		}
-
-		// 排序
-		if params.SortField > 0 && params.SortType > 0 {
-			fieldMap := map[int]string{1: indexOb.Cols().StartDate, 2: indexOb.Cols().EndDate, 3: indexOb.Cols().ModifyTime, 4: indexOb.Cols().LatestValue}
-			typeMap := map[int]string{1: "ASC", 2: "DESC"}
-			listOrder = fmt.Sprintf("%s %s", fieldMap[params.SortField], typeMap[params.SortType])
-		}
-	}
-
-	// 列表总计
-	total, e := indexOb.GetCountByCondition(cond, pars)
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("获取指标总数失败, %v", e)
-		return
-	}
-	if total <= 0 {
-		page := paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
-		resp.Paging = page
-		br.Data = resp
-		br.Ret = 200
-		br.Success = true
-		br.Msg = "获取成功"
-		return
-	}
-
-	// 分页查询
-	var startSize int
-	if params.PageSize <= 0 {
-		params.PageSize = utils.PageSize20
-	}
-	if params.CurrentIndex <= 0 {
-		params.CurrentIndex = 1
-	}
-	startSize = utils.StartIndex(params.CurrentIndex, params.PageSize)
-	items, e := indexOb.GetPageItemsByCondition(cond, pars, []string{}, listOrder, startSize, params.PageSize)
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("获取指标列表失败, %v", e)
-		return
-	}
-	for _, v := range items {
-		t := v.Format2Item()
-		// 分类完整路径
-		classify := classifyIdItem[v.BaseFromThsHfClassifyId]
-		levelArr := make([]string, 0)
-		if classify != nil && classify.LevelPath != "" {
-			arr := strings.Split(classify.LevelPath, ",")
-			for _, a := range arr {
-				i, _ := strconv.Atoi(a)
-				if classifyIdItem[i] != nil {
-					if this.Lang == utils.EnLangVersion {
-						levelArr = append(levelArr, classifyIdItem[i].ClassifyNameEn)
-					} else {
-						levelArr = append(levelArr, classifyIdItem[i].ClassifyName)
-					}
-				}
-			}
-		}
-		t.ClassifyPath = strings.Join(levelArr, "/")
-		resp.List = append(resp.List, t)
-	}
-
-	page := paging.GetPaging(params.CurrentIndex, params.PageSize, total)
-	resp.Paging = page
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-}
-
-// Add
-// @Title 新增指标
-// @Description 新增指标
-// @Param	request	body data_manage.ThsHfAddEdbReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/index/add [post]
-func (this *BaseFromThsHfController) Add() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfAddEdbReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &params); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if params.StartTime == "" {
-		br.Msg = "请选择起始时间"
-		return
-	}
-	_, e := time.ParseInLocation(utils.FormatDateTime, params.StartTime, time.Local)
-	if e != nil {
-		br.Msg = "起始时间格式有误"
-		br.ErrMsg = fmt.Sprintf("起始时间格式有误, %v", e)
-		return
-	}
-	if params.EndTime != "" {
-		_, e := time.ParseInLocation(utils.FormatDateTime, params.EndTime, time.Local)
-		if e != nil {
-			br.Msg = "截止时间格式有误"
-			br.ErrMsg = fmt.Sprintf("截止时间格式有误, %v", e)
-			return
-		}
-	}
-	if !utils.InArrayByInt(data_manage.ThsHfPeriodArr, params.Interval) {
-		br.Msg = "时间周期有误"
-		br.ErrMsg = fmt.Sprintf("时间周期有误, Interval: %d", params.Interval)
-		return
-	}
-	if params.CPS != "" && !utils.InArrayByStr(data_manage.ThsHfCPSArr, params.CPS) {
-		br.Msg = "复权方式有误"
-		br.ErrMsg = fmt.Sprintf("复权方式有误, CPS: %s", params.CPS)
-		return
-	}
-	if params.BaseDate != "" {
-		_, e = time.ParseInLocation(utils.FormatDate, params.BaseDate, time.Local)
-		if e != nil {
-			br.Msg = "复权基点格式有误"
-			br.ErrMsg = fmt.Sprintf("复权基点格式有误, %v", e)
-			return
-		}
-	}
-	if params.Fill != "" && !utils.InArrayByStr(data_manage.ThsHfFillArr, params.Fill) {
-		br.Msg = "非交易间隔处理有误"
-		br.ErrMsg = fmt.Sprintf("非交易间隔处理有误, Fill: %s", params.Fill)
-		return
-	}
-	if len(params.IndexList) == 0 {
-		br.Msg = "请选择指标"
-		return
-	}
-	formExist := make(map[string]bool)
-	indexNames := make([]string, 0)
-	classifyIds := make([]int, 0)
-	for _, v := range params.IndexList {
-		if v.ClassifyId <= 0 {
-			br.Msg = "请选择分类"
-			return
-		}
-		if !utils.InArrayByInt(classifyIds, v.ClassifyId) {
-			classifyIds = append(classifyIds, v.ClassifyId)
-		}
-		if v.Unit == "" {
-			br.Msg = "请输入单位"
-			return
-		}
-		v.IndexName = strings.TrimSpace(v.IndexName)
-		if v.IndexName == "" {
-			br.Msg = "请输入指标名称"
-			return
-		}
-		if formExist[v.IndexName] {
-			br.Msg = "指标名称重复, 请重新输入"
-			return
-		}
-		formExist[v.IndexName] = true
-		indexNames = append(indexNames, v.IndexName)
-	}
-
-	// 校验指标分类
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	{
-		cond := fmt.Sprintf(` AND %s IN (%s)`, classifyOb.Cols().PrimaryId, utils.GetOrmInReplace(len(classifyIds)))
-		pars := make([]interface{}, 0)
-		pars = append(pars, classifyIds)
-		list, e := classifyOb.GetItemsByCondition(cond, pars, []string{classifyOb.Cols().PrimaryId, classifyOb.Cols().ClassifyName}, "")
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("查询分类失败, %v", e)
-			return
-		}
-		classifyMap := make(map[int]*data_manage.BaseFromThsHfClassify)
-		for _, v := range list {
-			classifyMap[v.BaseFromThsHfClassifyId] = v
-		}
-		for _, v := range params.IndexList {
-			t := classifyMap[v.ClassifyId]
-			if t == nil {
-				br.Msg = fmt.Sprintf("%s分类不存在, 请重新选择或刷新页面", t.ClassifyName)
-				return
-			}
-		}
-	}
-
-	// 校验指标名称
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	{
-		cond := fmt.Sprintf(` AND %s IN (%s)`, indexOb.Cols().IndexName, utils.GetOrmInReplace(len(indexNames)))
-		pars := make([]interface{}, 0)
-		pars = append(pars, indexNames)
-		list, e := indexOb.GetItemsByCondition(cond, pars, []string{indexOb.Cols().IndexName}, "")
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("查询指标名称失败, %v", e)
-			return
-		}
-		if len(list) > 0 {
-			tips := "以下指标名称重复, 请重新输入: \n"
-			for _, v := range list {
-				tips += fmt.Sprintf("%s\n", v.IndexName)
-			}
-			br.Msg = tips
-			return
-		}
-	}
-
-	// 新增指标
-	for _, v := range params.IndexList {
-		var req data_manage.ThsHfBaseAddReq
-		req.StartTime = params.StartTime
-		req.EndTime = params.EndTime
-		req.Interval = params.Interval
-		req.Fill = params.Fill
-		req.CPS = params.CPS
-		req.BaseDate = params.BaseDate
-		req.SysAdminId = sysUser.AdminId
-		req.SysAdminName = sysUser.RealName
-		req.ClassifyId = v.ClassifyId
-		req.Unit = v.Unit
-		req.IndexName = v.IndexName
-		req.Frequency = v.Frequency
-		req.StockCode = v.StockCode
-		req.EdbCode = v.EdbCode
-		_, e = data.BaseAddThsHf(req)
-		if e != nil {
-			utils.FileLog.Info(fmt.Sprintf("BaseAddThsHf err: %v", e))
-			continue
-		}
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}
-
-// Edit
-// @Title 编辑指标
-// @Description 编辑指标
-// @Param	request	body data_manage.ThsHfIndexEditReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/index/edit [post]
-func (this *BaseFromThsHfController) Edit() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfIndexEditReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &params); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if params.IndexId <= 0 {
-		br.Msg = "参数有误"
-		br.ErrMsg = fmt.Sprintf("参数有误, IndexId: %d", params.IndexId)
-		return
-	}
-	params.IndexName = strings.TrimSpace(params.IndexName)
-	if params.IndexName == "" {
-		br.Msg = "请输入指标名称"
-		return
-	}
-	if params.ClassifyId <= 0 {
-		br.Msg = "请选择分类"
-		return
-	}
-	params.Unit = strings.TrimSpace(params.Unit)
-	if params.Unit == "" {
-		br.Msg = "请输入单位"
-		return
-	}
-
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	item, e := indexOb.GetItemById(params.IndexId)
-	if e != nil {
-		if utils.IsErrNoRow(e) {
-			br.Msg = "指标不存在, 请刷新页面"
-			return
-		}
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("获取指标失败, %v", e)
-		return
-	}
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	_, e = classifyOb.GetItemById(params.ClassifyId)
-	if e != nil {
-		br.Msg = "分类有误"
-		br.ErrMsg = fmt.Sprintf("分类信息有误, %v", e)
-		return
-	}
-
-	// 重名验证
-	{
-		cond := fmt.Sprintf(" AND %s = ? AND %s <> ?", indexOb.Cols().IndexName, indexOb.Cols().PrimaryId)
-		pars := make([]interface{}, 0)
-		pars = append(pars, params.IndexName, params.IndexId)
-		count, e := indexOb.GetCountByCondition(cond, pars)
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("获取重名指标失败, %v", e)
-			return
-		}
-		if count > 0 {
-			br.Msg = "指标名称已存在, 请重新输入"
-			return
-		}
-	}
-
-	item.IndexName = params.IndexName
-	item.BaseFromThsHfClassifyId = params.ClassifyId
-	item.Unit = params.Unit
-	item.ModifyTime = time.Now().Local()
-	updateCols := []string{item.Cols().IndexName, item.Cols().BaseFromThsHfClassifyId, item.Cols().Unit, item.Cols().ModifyTime}
-	if e = item.Update(updateCols); e != nil {
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("更新指标信息失败, %v", e)
-		return
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}
-
-// Detail
-// @Title 详情
-// @Description 详情
-// @Param   IndexId  query  int  true  "指标ID"
-// @Param   DataDate  query  string  false  "数据日期"
-// @Success 200 {object} data_manage.ThsHfSearchEdbResp
-// @router /ths_hf/index/detail [get]
-func (this *BaseFromThsHfController) Detail() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	indexId, _ := this.GetInt("IndexId")
-	if indexId <= 0 {
-		br.Msg = "参数有误"
-		br.ErrMsg = fmt.Sprintf("参数有误, IndexId: %d", indexId)
-		return
-	}
-	dataDate := this.GetString("DataDate")
-	if dataDate != "" {
-		_, e := time.Parse(utils.FormatDate, dataDate)
-		if e != nil {
-			br.Msg = "数据日期格式有误"
-			br.ErrMsg = fmt.Sprintf("数据日期格式有误, DataDate: %s", dataDate)
-			return
-		}
-	}
-
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	item, e := indexOb.GetItemById(indexId)
-	if e != nil {
-		if utils.IsErrNoRow(e) {
-			br.Msg = "指标不存在, 请刷新页面"
-			return
-		}
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("获取指标失败, %v", e)
-		return
-	}
-	indexItem := item.Format2Item()
-	if item.EndDate.IsZero() {
-		item.EndDate = time.Now()
-	}
-	// 默认取有数据的最新日期
-	if dataDate == "" {
-		dataDate = item.EndDate.Format(utils.FormatDate)
-	}
-	startTime := fmt.Sprintf("%s 00:00:00", dataDate)
-	endTime := fmt.Sprintf("%s 23:59:59", dataDate)
-
-	// 获取数据
-	dataList, e := data.GetThsHfBaseIndexData(indexItem.IndexCode, startTime, endTime)
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("获取指标数据失败, %v", e)
-		return
-	}
-
-	type DetailResp struct {
-		Index    *data_manage.BaseFromThsHfIndexItem
-		DataDate string `description:"数据日期"`
-		DataList []*data_manage.BaseFromThsHfDataItem
-	}
-	resp := new(DetailResp)
-	resp.Index = indexItem
-	resp.DataDate = dataDate
-	resp.DataList = dataList
-
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-}
-
-// Refresh
-// @Title 刷新指标
-// @Description 刷新指标
-// @Param	request	body data_manage.ThsHfIndexOptReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/index/refresh [post]
-func (this *BaseFromThsHfController) Refresh() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfIndexOptReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &params); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if params.IndexId <= 0 {
-		br.Msg = "参数有误"
-		br.ErrMsg = fmt.Sprintf("参数有误, IndexId: %d", params.IndexId)
-		return
-	}
-
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	_, e := indexOb.GetItemById(params.IndexId)
-	if e != nil {
-		if utils.IsErrNoRow(e) {
-			br.Msg = "指标不存在, 请刷新页面"
-			return
-		}
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("获取指标失败, %v", e)
-		return
-	}
-
-	// 指标刷新逻辑
-	indexIds := []int{params.IndexId}
-	_, e = data.RefreshBaseThsHfIndex(indexIds, 1)
-	if e != nil {
-		br.Msg = "刷新失败"
-		br.ErrMsg = fmt.Sprintf("刷新指标失败, %v", e)
-		return
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}
-
-// Remove
-// @Title 删除指标
-// @Description 删除指标
-// @Param	request	body data_manage.ThsHfIndexOptReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/index/remove [post]
-func (this *BaseFromThsHfController) Remove() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfIndexOptReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &params); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if params.IndexId <= 0 {
-		br.Msg = "参数有误"
-		br.ErrMsg = fmt.Sprintf("参数有误, IndexId: %d", params.IndexId)
-		return
-	}
-
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	item, e := indexOb.GetItemById(params.IndexId)
-	if e != nil {
-		if utils.IsErrNoRow(e) {
-			br.Ret = 200
-			br.Success = true
-			br.Msg = "操作成功"
-			return
-		}
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("获取指标失败, %v", e)
-		return
-	}
-
-	// 删除校验, 指标库存在不可删除
-	edbMappingOb := new(data_manage.BaseFromEdbMapping)
-	{
-		cond := fmt.Sprintf(" AND %s = ?", edbMappingOb.Cols().BaseIndexCode)
-		pars := make([]interface{}, 0)
-		pars = append(pars, item.IndexCode)
-		count, e := edbMappingOb.GetCountByCondition(cond, pars)
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("获取源指标关联失败, %v", e)
-			return
-		}
-		if count > 0 {
-			br.Msg = "指标已被引用, 不允许删除"
-			return
-		}
-	}
-
-	if e = item.Remove(); e != nil {
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("删除指标失败, %v", e)
-		return
-	}
-
-	if utils.UseMongo {
-		mogDataObj := mgo.BaseFromThsHfData{}
-		if e = mogDataObj.RemoveMany(bson.M{"index_code": item.IndexCode}); e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("删除指标数据失败-Mgo, %v", e)
-			return
-		}
-	} else {
-		dataOb := new(data_manage.BaseFromThsHfData)
-		cond := fmt.Sprintf(" %s = ?", dataOb.Cols().BaseFromThsHfIndexId)
-		pars := make([]interface{}, 0)
-		pars = append(pars, params.IndexId)
-		if e = dataOb.RemoveByCondition(cond, pars); e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("删除指标数据失败, %v", e)
-			return
-		}
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}
-
-// ListChoice
-// @Title 列表选择
-// @Description 列表选择
-// @Param	request	body data_manage.ThsHfIndexMultiOptReq true "type json string"
-// @Success 200 string "获取成功"
-// @router /ths_hf/index/list_choice [get]
-func (this *BaseFromThsHfController) ListChoice() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfIndexListChoiceReq
-	if e := this.ParseForm(&params); e != nil {
-		br.Msg = "参数解析失败"
-		br.ErrMsg = fmt.Sprintf("参数解析失败, err: %v", e)
-		return
-	}
-	var listIds []int
-	if params.ListIds != "" {
-		strArr := strings.Split(params.ListIds, ",")
-		for _, v := range strArr {
-			t, _ := strconv.Atoi(v)
-			if t > 0 {
-				listIds = append(listIds, t)
-			}
-		}
-	}
-
-	var (
-		cond string
-		pars []interface{}
-	)
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	resp := make([]*data_manage.ThsHfIndexListChoiceItem, 0)
-
-	// 非列表全选
-	if !params.SelectAll {
-		if len(listIds) > 0 {
-			cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().PrimaryId, utils.GetOrmInReplace(len(listIds)))
-			pars = append(pars, listIds)
-		}
-	}
-
-	// 列表全选, 根据条件筛选列表并过滤params.ListIds中选择的ID
-	if params.SelectAll {
-		// 查询所有分类-分类查询用
-		classifyOb := new(data_manage.BaseFromThsHfClassify)
-		classifies := make([]*data_manage.BaseFromThsHfClassify, 0)
-		classifyIdItem := make(map[int]*data_manage.BaseFromThsHfClassify)
-		{
-			list, e := classifyOb.GetItemsByCondition(``, make([]interface{}, 0), []string{classifyOb.Cols().PrimaryId, classifyOb.Cols().ClassifyName, classifyOb.Cols().ClassifyNameEn, classifyOb.Cols().LevelPath}, "")
-			if e != nil {
-				br.Msg = "获取失败"
-				br.ErrMsg = fmt.Sprintf("获取分类列表失败, %v", e)
-				return
-			}
-			for _, v := range list {
-				classifyIdItem[v.BaseFromThsHfClassifyId] = v
-			}
-			classifies = list
-		}
-
-		// 筛选项
-		if params.ClassifyId != "" {
-			classifyIdArr := strings.Split(params.ClassifyId, ",")
-			classifyIds := make([]int, 0)
-			for _, v := range classifyIdArr {
-				t, _ := strconv.Atoi(v)
-				if t > 0 {
-					classifyIds = append(classifyIds, t)
-				}
-			}
-
-			// 不包含子分类
-			if len(classifyIds) > 0 && !params.IncludeChild {
-				cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(classifyIds)))
-				pars = append(pars, classifyIds)
-			}
-
-			// 包含子分类
-			if len(classifyIds) > 0 && params.IncludeChild {
-				queryClassifyIds := make([]int, 0)
-				queryClassifyExist := make(map[int]bool)
-
-				for _, v := range classifyIds {
-					// 遍历所有分类从LevelPath中找含有查询分类ID的...=_=!
-					for _, cv := range classifies {
-						if queryClassifyExist[cv.BaseFromThsHfClassifyId] {
-							continue
-						}
-						if cv.LevelPath == "" {
-							continue
-						}
-						strArr := strings.Split(cv.LevelPath, ",")
-						if len(strArr) == 0 {
-							continue
-						}
-						for _, sv := range strArr {
-							tv, _ := strconv.Atoi(sv)
-							if tv == v {
-								queryClassifyIds = append(queryClassifyIds, cv.BaseFromThsHfClassifyId)
-								queryClassifyExist[cv.BaseFromThsHfClassifyId] = true
-								break
-							}
-						}
-					}
-				}
-
-				if len(queryClassifyIds) == 0 {
-					br.Data = resp
-					br.Ret = 200
-					br.Success = true
-					br.Msg = "获取成功"
-					return
-				}
-				cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().BaseFromThsHfClassifyId, utils.GetOrmInReplace(len(queryClassifyIds)))
-				pars = append(pars, queryClassifyIds)
-			}
-		}
-
-		if params.Frequency != "" {
-			frequencyArr := strings.Split(params.Frequency, ",")
-			if len(frequencyArr) > 0 {
-				cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().Frequency, utils.GetOrmInReplace(len(frequencyArr)))
-				pars = append(pars, frequencyArr)
-			}
-		}
-		if params.SysAdminId != "" {
-			adminIdArr := strings.Split(params.SysAdminId, ",")
-			adminIds := make([]int, 0)
-			for _, v := range adminIdArr {
-				t, _ := strconv.Atoi(v)
-				if t > 0 {
-					adminIds = append(adminIds, t)
-				}
-			}
-			if len(adminIds) > 0 {
-				cond += fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().SysUserId, utils.GetOrmInReplace(len(adminIds)))
-				pars = append(pars, adminIds)
-			}
-		}
-		params.Keywords = strings.TrimSpace(params.Keywords)
-		if params.Keywords != "" {
-			cond += fmt.Sprintf(" AND (%s LIKE ? OR %s LIKE ?)", indexOb.Cols().IndexCode, indexOb.Cols().IndexName)
-			kw := fmt.Sprint("%", params.Keywords, "%")
-			pars = append(pars, kw, kw)
-		}
-
-		// 过滤掉选择的指标
-		if len(listIds) > 0 {
-			cond += fmt.Sprintf(" AND %s NOT IN (%s)", indexOb.Cols().PrimaryId, utils.GetOrmInReplace(len(listIds)))
-			pars = append(pars, listIds)
-		}
-	}
-
-	fields := []string{indexOb.Cols().PrimaryId, indexOb.Cols().IndexCode, indexOb.Cols().IndexName}
-	list, e := indexOb.GetItemsByCondition(cond, pars, fields, "")
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("获取指标失败, %v", e)
-		return
-	}
-	if len(list) > 500 {
-		br.Msg = "选择指标超过500个, 请重新选择"
-		return
-	}
-	for _, v := range list {
-		resp = append(resp, &data_manage.ThsHfIndexListChoiceItem{
-			IndexId:   v.BaseFromThsHfIndexId,
-			IndexCode: v.IndexCode,
-			IndexName: v.IndexName,
-		})
-	}
-
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-}
-
-// MultiOpt
-// @Title 批量操作-移动分类/删除/刷新
-// @Description 批量操作-移动分类/删除/刷新
-// @Param	request	body data_manage.ThsHfIndexMultiOptReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/index/multi_opt [post]
-func (this *BaseFromThsHfController) MultiOpt() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfIndexMultiOptReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &params); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if !utils.InArrayByInt([]int{1, 2, 3}, params.OptType) {
-		br.Msg = "请选择操作类型"
-		return
-	}
-	if len(params.IndexIds) == 0 {
-		br.Msg = "请选择指标"
-		return
-	}
-	if params.OptType == 1 && params.MoveClassifyId <= 0 {
-		br.Msg = "请选择分类"
-		return
-	}
-	if params.OptType == 3 && !utils.InArrayByInt([]int{1, 2}, params.RefreshType) {
-		br.Msg = "请选择刷新方式"
-		return
-	}
-	resp := new(data_manage.ThsHfIndexMultiOptResp)
-
-	// 指标名称
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	indexMap := make(map[int]*data_manage.BaseFromThsHfIndex)
-	{
-		cond := fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().PrimaryId, utils.GetOrmInReplace(len(params.IndexIds)))
-		pars := make([]interface{}, 0)
-		pars = append(pars, params.IndexIds)
-		list, e := indexOb.GetItemsByCondition(cond, pars, []string{indexOb.Cols().PrimaryId, indexOb.Cols().IndexCode, indexOb.Cols().IndexName}, "")
-		if e != nil {
-			br.Msg = "删除失败"
-			br.ErrMsg = fmt.Sprintf("获取源指标列表失败, %v", e)
-			return
-		}
-		for _, v := range list {
-			indexMap[v.BaseFromThsHfIndexId] = v
-		}
-	}
-
-	// 批量移动
-	if params.OptType == 1 {
-		if e := indexOb.UpdateClassifyMulti(params.IndexIds, params.MoveClassifyId); e != nil {
-			br.Msg = "移动失败"
-			br.ErrMsg = fmt.Sprintf("批量移动分类失败, %v", e)
-			return
-		}
-	}
-
-	// 批量删除
-	if params.OptType == 2 {
-		// 被引用的指标需要提示出来, 未被引用的直接删除
-		usedIndexIds := make([]int, 0)
-		{
-			edbMappingOb := new(data_manage.BaseFromEdbMapping)
-			cond := fmt.Sprintf(" AND %s IN (%s)", edbMappingOb.Cols().BaseFromIndexId, utils.GetOrmInReplace(len(params.IndexIds)))
-			pars := make([]interface{}, 0)
-			pars = append(pars, params.IndexIds)
-			list, e := edbMappingOb.GetItemsByCondition(cond, pars, []string{}, "")
-			if e != nil {
-				br.Msg = "删除失败"
-				br.ErrMsg = fmt.Sprintf("获取源指标关联失败, %v", e)
-				return
-			}
-			for _, v := range list {
-				if !utils.InArrayByInt(usedIndexIds, v.BaseFromIndexId) {
-					usedIndexIds = append(usedIndexIds, v.BaseFromIndexId)
-				}
-			}
-		}
-
-		// 可删除的指标
-		removeIndexIds := params.IndexIds
-		if len(usedIndexIds) > 0 {
-			removeIndexIds = utils.MinusInt(params.IndexIds, usedIndexIds)
-
-			// 标记不允许删除的
-			for _, v := range usedIndexIds {
-				t := indexMap[v]
-				if t == nil {
-					continue
-				}
-				resp.Fail = append(resp.Fail, &data_manage.ThsHfIndexBaseInfo{
-					IndexId:   v,
-					IndexCode: t.IndexCode,
-					IndexName: t.IndexName,
-				})
-			}
-		}
-
-		if len(removeIndexIds) > 0 {
-			if e := indexOb.MultiRemove(removeIndexIds); e != nil {
-				br.Msg = "删除失败"
-				br.ErrMsg = fmt.Sprintf("批量删除指标失败, %v", e)
-				return
-			}
-
-			if utils.UseMongo {
-				mogDataObj := mgo.BaseFromThsHfData{}
-				for _, v := range removeIndexIds {
-					if e := mogDataObj.RemoveMany(bson.M{"base_from_ths_hf_index_id": v}); e != nil {
-						br.Msg = "操作失败"
-						br.ErrMsg = fmt.Sprintf("批量删除指标数据失败-Mgo, %v", e)
-						return
-					}
-				}
-			} else {
-				dataOb := new(data_manage.BaseFromThsHfData)
-				cond := fmt.Sprintf(" %s IN (%s)", dataOb.Cols().BaseFromThsHfIndexId, utils.GetOrmInReplace(len(removeIndexIds)))
-				pars := make([]interface{}, 0)
-				pars = append(pars, removeIndexIds)
-				if e := dataOb.RemoveByCondition(cond, pars); e != nil {
-					br.Msg = "删除失败"
-					br.ErrMsg = fmt.Sprintf("批量删除指标数据失败, %v", e)
-					return
-				}
-			}
-
-			// 标记删除成功的
-			for _, v := range removeIndexIds {
-				t := indexMap[v]
-				if t == nil {
-					continue
-				}
-				resp.Success = append(resp.Success, &data_manage.ThsHfIndexBaseInfo{
-					IndexId:   v,
-					IndexCode: t.IndexCode,
-					IndexName: t.IndexName,
-				})
-			}
-		}
-	}
-
-	// 批量刷新
-	if params.OptType == 3 {
-		isAsync, e := data.RefreshBaseThsHfIndex(params.IndexIds, params.RefreshType)
-		if e != nil {
-			br.Msg = "刷新失败"
-			br.ErrMsg = fmt.Sprintf("批量刷新指标失败, %v", e)
-			return
-		}
-		if isAsync {
-			br.Ret = 200
-			br.Success = true
-			br.Msg = "操作成功, 刷新指标较多, 请10分钟后查看"
-			return
-		}
-	}
-
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}
-
-// Save2EdbPre
-// @Title 批量新增指标库-前置
-// @Description 批量新增指标库-前置
-// @Param	request	body data_manage.ThsHfIndexMultiSave2EdbReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/index/save2edb_pre [post]
-func (this *BaseFromThsHfController) Save2EdbPre() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfIndexMultiSave2EdbPreReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &params); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if len(params.IndexIds) == 0 {
-		br.Msg = "请选择指标"
-		return
-	}
-	convertRule := params.ConvertRule
-	if convertRule.ConvertType != 1 && convertRule.ConvertType != 2 {
-		br.Msg = "请选择数据转换方式"
-		return
-	}
-
-	// 生成的指标名称后缀
-	var (
-		suffixName  string
-		startTimeCn string
-		endTimeCn   string
-		calculateCn string
-	)
-	dayMap := map[int]string{1: "当日", 2: "前日"}
-	calculateMap := map[int]string{1: "均值", 2: "最大值", 3: "最小值"}
-	if convertRule.ConvertType == 1 {
-		if convertRule.ConvertFixed.FixedDay != 1 && convertRule.ConvertFixed.FixedDay != 2 {
-			br.Msg = "请选择指定时间"
-			return
-		}
-		if convertRule.ConvertFixed.FixedTime == "" {
-			br.Msg = "请选择指定时间"
-			return
-		}
-		timePrefix := time.Now().Local().Format(utils.FormatDate)
-		st := fmt.Sprintf("%s %s", timePrefix, convertRule.ConvertFixed.FixedTime)
-		startTime, e := time.Parse(utils.FormatDateTime, st)
-		if e != nil {
-			br.Msg = "指定时间格式有误"
-			return
-		}
-		startTimeCn = fmt.Sprintf("%s%s", dayMap[convertRule.ConvertFixed.FixedDay], startTime.Format("15点04"))
-	}
-	if convertRule.ConvertType == 2 {
-		if convertRule.ConvertArea.StartDay != 1 && convertRule.ConvertArea.StartDay != 2 {
-			br.Msg = "请选择起始时间"
-			return
-		}
-		if convertRule.ConvertArea.StartTime == "" {
-			br.Msg = "请选择起始时间"
-			return
-		}
-		var startTimePre string
-		if convertRule.ConvertArea.StartDay == 1 {
-			startTimePre = time.Now().Local().Format(utils.FormatDate)
-		}
-		if convertRule.ConvertArea.StartDay == 2 {
-			startTimePre = time.Now().Local().AddDate(0, 0, -1).Format(utils.FormatDate)
-		}
-		st := fmt.Sprintf("%s %s", startTimePre, convertRule.ConvertArea.StartTime)
-		startTime, e := time.Parse(utils.FormatDateTime, st)
-		if e != nil {
-			br.Msg = "起始时间格式有误"
-			return
-		}
-		startTimeCn = fmt.Sprintf("%s%s", dayMap[convertRule.ConvertArea.StartDay], startTime.Format("15点04"))
-
-		if convertRule.ConvertArea.EndDay != 1 && convertRule.ConvertArea.EndDay != 2 {
-			br.Msg = "请选择截止时间"
-			return
-		}
-		if convertRule.ConvertArea.EndTime == "" {
-			br.Msg = "请选择截止时间"
-			return
-		}
-		var endTimePre string
-		if convertRule.ConvertArea.EndDay == 1 {
-			endTimePre = time.Now().Local().Format(utils.FormatDate)
-		}
-		if convertRule.ConvertArea.EndDay == 2 {
-			endTimePre = time.Now().Local().AddDate(0, 0, -1).Format(utils.FormatDate)
-		}
-		ed := fmt.Sprintf("%s %s", endTimePre, convertRule.ConvertArea.EndTime)
-		endTime, e := time.Parse(utils.FormatDateTime, ed)
-		if e != nil {
-			br.Msg = "截止时间格式有误"
-			return
-		}
-		endTimeCn = fmt.Sprintf("至%s%s", dayMap[convertRule.ConvertArea.EndDay], endTime.Format("15点04"))
-		if startTime.After(endTime) {
-			br.Msg = "起始日期不可早于截止日期"
-			return
-		}
-		calculateCn = calculateMap[convertRule.ConvertArea.CalculateType]
-	}
-	suffixName = fmt.Sprint(startTimeCn, endTimeCn, calculateCn)
-
-	// 查询指标
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	cond := fmt.Sprintf(" AND %s IN (%s)", indexOb.Cols().PrimaryId, utils.GetOrmInReplace(len(params.IndexIds)))
-	pars := make([]interface{}, 0)
-	pars = append(pars, params.IndexIds)
-	list, e := indexOb.GetItemsByCondition(cond, pars, []string{}, "")
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("获取指标失败, %v", e)
-		return
-	}
-
-	resp := make([]*data_manage.ThsHfIndexMultiSave2EdbPreItem, 0)
-	for _, v := range list {
-		t := new(data_manage.ThsHfIndexMultiSave2EdbPreItem)
-		t.IndexId = v.BaseFromThsHfIndexId
-		t.IndexCode = v.IndexCode
-		t.IndexName = v.IndexName
-		edbCn := data_manage.ThsHfEdbCodeCn[v.Indicator]
-		if edbCn == "" {
-			edbCn = v.Indicator
-		}
-		t.NewIndexName = fmt.Sprint(v.StockCode, v.Frequency, edbCn, suffixName)
-		t.StockCode = v.StockCode
-		t.EdbCode = v.Indicator
-		t.Unit = v.Unit
-		t.Frequency = v.Frequency
-		t.NewFrequency = "日度"
-		resp = append(resp, t)
-	}
-
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-}
-
-// Save2Edb
-// @Title 批量新增指标库
-// @Description 批量新增指标库
-// @Param	request	body data_manage.ThsHfIndexMultiSave2EdbReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/index/save2edb [post]
-func (this *BaseFromThsHfController) Save2Edb() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var params data_manage.ThsHfIndexMultiSave2EdbReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &params); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if len(params.NewIndexes) == 0 {
-		br.Msg = "请选择指标"
-		return
-	}
-	convertRule := params.ConvertRule
-	if convertRule.ConvertType != 1 && convertRule.ConvertType != 2 {
-		br.Msg = "请选择数据转换方式"
-		return
-	}
-	if convertRule.ConvertType == 1 {
-		if convertRule.ConvertFixed.FixedDay != 1 && convertRule.ConvertFixed.FixedDay != 2 {
-			br.Msg = "请选择指定时间"
-			return
-		}
-		if convertRule.ConvertFixed.FixedTime == "" {
-			br.Msg = "请选择指定时间"
-			return
-		}
-		timePrefix := time.Now().Local().Format(utils.FormatDate)
-		st := fmt.Sprintf("%s %s", timePrefix, convertRule.ConvertFixed.FixedTime)
-		_, e := time.Parse(utils.FormatDateTime, st)
-		if e != nil {
-			br.Msg = "指定时间格式有误"
-			return
-		}
-	}
-	if convertRule.ConvertType == 2 {
-		if convertRule.ConvertArea.StartDay != 1 && convertRule.ConvertArea.StartDay != 2 {
-			br.Msg = "请选择起始时间"
-			return
-		}
-		if convertRule.ConvertArea.StartTime == "" {
-			br.Msg = "请选择起始时间"
-			return
-		}
-		var startTimePre string
-		if convertRule.ConvertArea.StartDay == 1 {
-			startTimePre = time.Now().Local().Format(utils.FormatDate)
-		}
-		if convertRule.ConvertArea.StartDay == 2 {
-			startTimePre = time.Now().Local().AddDate(0, 0, -1).Format(utils.FormatDate)
-		}
-		st := fmt.Sprintf("%s %s", startTimePre, convertRule.ConvertArea.StartTime)
-		startTime, e := time.Parse(utils.FormatDateTime, st)
-		if e != nil {
-			br.Msg = "起始时间格式有误"
-			return
-		}
-
-		if convertRule.ConvertArea.EndDay != 1 && convertRule.ConvertArea.EndDay != 2 {
-			br.Msg = "请选择截止时间"
-			return
-		}
-		if convertRule.ConvertArea.EndTime == "" {
-			br.Msg = "请选择截止时间"
-			return
-		}
-		var endTimePre string
-		if convertRule.ConvertArea.EndDay == 1 {
-			endTimePre = time.Now().Local().Format(utils.FormatDate)
-		}
-		if convertRule.ConvertArea.EndDay == 2 {
-			endTimePre = time.Now().Local().AddDate(0, 0, -1).Format(utils.FormatDate)
-		}
-		ed := fmt.Sprintf("%s %s", endTimePre, convertRule.ConvertArea.EndTime)
-		endTime, e := time.Parse(utils.FormatDateTime, ed)
-		if e != nil {
-			br.Msg = "截止时间格式有误"
-			return
-		}
-		if startTime.After(endTime) {
-			br.Msg = "起始日期不可早于截止日期"
-			return
-		}
-	}
-	resp := new(data_manage.ThsHfIndexMultiSave2EdbResp)
-
-	// 判断指标名称是否重复
-	edbNameExist := make(map[string]bool)
-	{
-		items, e := data_manage.GetEdbInfoFieldList(``, make([]interface{}, 0), []string{"edb_name"})
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("获取指标名称列表失败, %v", e)
-			return
-		}
-		for _, v := range items {
-			edbNameExist[v.EdbName] = true
-		}
-	}
-	for _, v := range params.NewIndexes {
-		if edbNameExist[v.NewIndexName] {
-			resp.Exist = append(resp.Exist, v)
-		}
-	}
-	if len(resp.Exist) > 0 {
-		br.Data = resp
-		br.Ret = 200
-		br.Success = true
-		br.Msg = "含重复指标名称"
-		return
-	}
-
-	// 请求指标库新增
-	for _, v := range params.NewIndexes {
-		var r data_manage.ThsHfIndexMultiSave2EdbLibReq
-		r.ConvertRule = convertRule
-		v.SysAdminId = sysUser.AdminId
-		v.SysAdminName = sysUser.RealName
-		r.NewIndex = v
-		b, e := json.Marshal(r)
-		if e != nil {
-			v.Tips = "新增失败"
-			v.ErrMsg = e.Error()
-			resp.Fail = append(resp.Fail, v)
-			continue
-		}
-
-		res, e := data.AddBaseEdbInfo(string(b), utils.DATA_SOURCE_THS, utils.DATA_SUB_SOURCE_HIGH_FREQUENCY, this.Lang)
-		if e != nil {
-			v.Tips = "新增失败"
-			v.ErrMsg = fmt.Sprintf("AddBaseEdbInfo, err: %v", e)
-			resp.Fail = append(resp.Fail, v)
-			continue
-		}
-		if res.Ret != 200 {
-			v.Tips = res.Msg
-			v.ErrMsg = fmt.Sprintf("AddBaseEdbInfo, Ret: %d, ErrMsg: %s", res.Ret, res.ErrMsg)
-			resp.Fail = append(resp.Fail, v)
-			continue
-		}
-		v.Tips = "新增成功"
-		resp.Success = append(resp.Success, v)
-	}
-
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}

+ 0 - 490
controllers/data_manage/base_from_ths_hf_classify.go

@@ -1,490 +0,0 @@
-package data_manage
-
-import (
-	"encoding/json"
-	"eta_gn/eta_api/models"
-	"eta_gn/eta_api/models/data_manage"
-	"eta_gn/eta_api/services/data"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"sort"
-	"strconv"
-	"strings"
-	"time"
-)
-
-// ClassifyList
-// @Title 分类列表-含指标
-// @Description 分类列表-含指标
-// @Param   ParentId  query  int  false  "父级ID"
-// @Success 200 {object} data_manage.ThsHfSearchEdbResp
-// @router /ths_hf/classify/list [get]
-func (this *BaseFromThsHfController) ClassifyList() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	parentId, _ := this.GetInt("ParentId")
-
-	resp := make([]*data_manage.BaseFromThsHfClassifyListItem, 0)
-	// 查询分类
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	{
-		cond := fmt.Sprintf(" AND %s = ?", classifyOb.Cols().ParentId)
-		pars := make([]interface{}, 0)
-		pars = append(pars, parentId)
-		list, e := classifyOb.GetItemsByCondition(cond, pars, []string{}, fmt.Sprintf("%s ASC", classifyOb.Cols().Sort))
-		if e != nil {
-			br.Msg = "获取失败"
-			br.ErrMsg = fmt.Sprintf("获取子分类失败, %v", e)
-			return
-		}
-		for _, v := range list {
-			resp = append(resp, &data_manage.BaseFromThsHfClassifyListItem{
-				ClassifyId:     v.BaseFromThsHfClassifyId,
-				ClassifyName:   v.ClassifyName,
-				ClassifyNameEn: v.ClassifyNameEn,
-				ParentId:       v.ParentId,
-				Level:          v.Level,
-				Sort:           v.Sort,
-				UniqueCode:     v.UniqueCode,
-			})
-		}
-	}
-
-	// 查询指标
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	{
-		cond := fmt.Sprintf(" AND %s = ?", indexOb.Cols().BaseFromThsHfClassifyId)
-		pars := make([]interface{}, 0)
-		pars = append(pars, parentId)
-		list, e := indexOb.GetItemsByCondition(cond, pars, []string{}, fmt.Sprintf("%s ASC", indexOb.Cols().Sort))
-		if e != nil {
-			br.Msg = "获取失败"
-			br.ErrMsg = fmt.Sprintf("获取分类下指标失败, %v", e)
-			return
-		}
-		for _, v := range list {
-			resp = append(resp, &data_manage.BaseFromThsHfClassifyListItem{
-				ItemType:   1,
-				IndexId:    v.BaseFromThsHfIndexId,
-				IndexCode:  v.IndexCode,
-				IndexName:  v.IndexName,
-				ParentId:   parentId,
-				Sort:       v.Sort,
-				UniqueCode: v.IndexCode,
-			})
-		}
-	}
-	sort.Slice(resp, func(i, j int) bool {
-		return resp[i].Sort < resp[j].Sort
-	})
-
-	br.Data = resp
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-}
-
-// ClassifyTree
-// @Title 分类树
-// @Description 分类树
-// @Success 200 {object} data_manage.ThsHfSearchEdbResp
-// @router /ths_hf/classify/tree [get]
-func (this *BaseFromThsHfController) ClassifyTree() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-
-	// 获取所有分类
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	list, e := classifyOb.GetItemsByCondition(``, make([]interface{}, 0), []string{}, fmt.Sprintf("%s ASC, %s ASC", classifyOb.Cols().ParentId, classifyOb.Cols().Sort))
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = fmt.Sprintf("获取分类列表失败, %v", e)
-		return
-	}
-	items := make([]*data_manage.BaseFromThsHfClassifyItem, 0)
-	for _, v := range list {
-		items = append(items, v.Format2Item())
-	}
-	tree := data.GetThsHfClassifyTreeRecursive(items, 0)
-
-	br.Data = tree
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-}
-
-// ClassifyAdd
-// @Title 新增分类
-// @Description 新增分类
-// @Param	request	body data_manage.ThsHfClassifyAddReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/classify/add [post]
-func (this *BaseFromThsHfController) ClassifyAdd() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var req data_manage.ThsHfClassifyAddReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	req.ClassifyName = strings.TrimSpace(req.ClassifyName)
-	if req.ClassifyName == "" {
-		br.Msg = "请输入分类名称"
-		return
-	}
-	if req.ParentId < 0 {
-		br.Msg = "请选择上级分类"
-		return
-	}
-	if req.Level > 6 {
-		br.Msg = "目前只支持6级目录"
-		return
-	}
-
-	// 校验分类名称
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	{
-		cond := fmt.Sprintf(" AND %s = ?", classifyOb.Cols().ParentId)
-		if this.Lang == utils.EnLangVersion {
-			cond += fmt.Sprintf(" AND %s = ?", classifyOb.Cols().ClassifyNameEn)
-		} else {
-			cond += fmt.Sprintf(" AND %s = ?", classifyOb.Cols().ClassifyName)
-		}
-		pars := make([]interface{}, 0)
-		pars = append(pars, req.ParentId, req.ClassifyName)
-		count, e := classifyOb.GetCountByCondition(cond, pars)
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("获取分类名称重复数失败, %v", e)
-			return
-		}
-		if count > 0 {
-			br.Msg = "分类名称已存在"
-			return
-		}
-	}
-
-	// 层级路径
-	var levelPath string
-	var rootId int
-	if req.ParentId > 0 {
-		parent, e := classifyOb.GetItemById(req.ParentId)
-		if e != nil {
-			br.Msg = "上级分类有误"
-			br.ErrMsg = fmt.Sprintf("获取上级分类失败, %v", e)
-			return
-		}
-		levelPath = parent.LevelPath
-		rootId = parent.RootId
-	}
-
-	sortMax, e := classifyOb.GetSortMax(req.ParentId)
-	if e != nil {
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("获取分类最大排序失败, %v", e)
-		return
-	}
-	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
-	classifyOb.ParentId = req.ParentId
-	classifyOb.ClassifyName = req.ClassifyName
-	classifyOb.ClassifyNameEn = req.ClassifyName
-	classifyOb.Level = req.Level + 1
-	classifyOb.Sort = sortMax + 1
-	classifyOb.SysUserId = sysUser.AdminId
-	classifyOb.SysUserRealName = sysUser.RealName
-	classifyOb.UniqueCode = utils.MD5(classifyOb.TableName() + "_" + timestamp)
-	classifyOb.CreateTime = time.Now().Local()
-	classifyOb.ModifyTime = time.Now().Local()
-	if e = classifyOb.Create(); e != nil {
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("新增分类失败, %v", e)
-		return
-	}
-	if req.ParentId > 0 {
-		// 用英文逗号拼接方便查询
-		classifyOb.LevelPath = fmt.Sprintf("%s,%d", levelPath, classifyOb.BaseFromThsHfClassifyId)
-		classifyOb.RootId = rootId
-	} else {
-		classifyOb.LevelPath = fmt.Sprint(classifyOb.BaseFromThsHfClassifyId)
-		classifyOb.RootId = classifyOb.BaseFromThsHfClassifyId
-	}
-	if e = classifyOb.Update([]string{classifyOb.Cols().LevelPath, classifyOb.Cols().RootId}); e != nil {
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("更新分类失败, %v", e)
-		return
-	}
-
-	br.Data = classifyOb.BaseFromThsHfClassifyId
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}
-
-// ClassifyEdit
-// @Title 编辑分类
-// @Description 编辑分类
-// @Param	request	body data_manage.ThsHfClassifyEditReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/classify/edit [post]
-func (this *BaseFromThsHfController) ClassifyEdit() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var req data_manage.ThsHfClassifyEditReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if req.ClassifyId < 0 {
-		br.Msg = "请选择分类"
-		return
-	}
-	req.ClassifyName = strings.TrimSpace(req.ClassifyName)
-	if req.ClassifyName == "" {
-		br.Msg = "请输入分类名称"
-		return
-	}
-
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	classifyItem, e := classifyOb.GetItemById(req.ClassifyId)
-	if e != nil {
-		if utils.IsErrNoRow(e) {
-			br.Msg = "分类不存在, 请刷新页面"
-			return
-		}
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("获取分类失败, %v", e)
-		return
-	}
-
-	// 校验分类名称
-	{
-		cond := fmt.Sprintf(" AND %s <> ?", classifyOb.Cols().PrimaryId)
-		if this.Lang == utils.EnLangVersion {
-			cond += fmt.Sprintf(" AND %s = ?", classifyOb.Cols().ClassifyNameEn)
-		} else {
-			cond += fmt.Sprintf(" AND %s = ?", classifyOb.Cols().ClassifyName)
-		}
-		pars := make([]interface{}, 0)
-		pars = append(pars, req.ClassifyId, req.ClassifyName)
-		count, e := classifyOb.GetCountByCondition(cond, pars)
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("获取分类名称重复数失败, %v", e)
-			return
-		}
-		if count > 0 {
-			br.Msg = "分类名称已存在"
-			return
-		}
-	}
-	classifyItem.ClassifyName = req.ClassifyName
-	classifyItem.ClassifyNameEn = req.ClassifyName
-	classifyItem.ModifyTime = time.Now().Local()
-	updateCols := []string{classifyOb.Cols().ClassifyName, classifyOb.Cols().ClassifyNameEn, classifyOb.Cols().ModifyTime}
-	if e = classifyItem.Update(updateCols); e != nil {
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("更新分类失败, %v", e)
-		return
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}
-
-// ClassifyRemove
-// @Title 删除分类
-// @Description 删除分类
-// @Param	request	body data_manage.ThsHfClassifyRemoveReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/classify/remove [post]
-func (this *BaseFromThsHfController) ClassifyRemove() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var req data_manage.ThsHfClassifyRemoveReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if req.ClassifyId < 0 {
-		br.Msg = "请选择分类"
-		return
-	}
-
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	classifyItem, e := classifyOb.GetItemById(req.ClassifyId)
-	if e != nil {
-		if utils.IsErrNoRow(e) {
-			br.Ret = 200
-			br.Success = true
-			br.Msg = "获取成功"
-			return
-		}
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("获取分类失败, %v", e)
-		return
-	}
-
-	// 查询子分类
-	{
-		cond := fmt.Sprintf(" AND %s = ?", classifyOb.Cols().ParentId)
-		pars := make([]interface{}, 0)
-		pars = append(pars, req.ClassifyId)
-		count, e := classifyOb.GetCountByCondition(cond, pars)
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("获取子分类数失败, %v", e)
-			return
-		}
-		if count > 0 {
-			br.Msg = "该分类下含有子分类, 不允许删除"
-			return
-		}
-	}
-
-	// 查询指标
-	indexOb := new(data_manage.BaseFromThsHfIndex)
-	{
-		cond := fmt.Sprintf(" AND %s = ?", indexOb.Cols().BaseFromThsHfClassifyId)
-		pars := make([]interface{}, 0)
-		pars = append(pars, req.ClassifyId)
-		count, e := indexOb.GetCountByCondition(cond, pars)
-		if e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = fmt.Sprintf("获取分类下指标数失败, %v", e)
-			return
-		}
-		if count > 0 {
-			br.Msg = "该分类下含有指标, 不允许删除"
-			return
-		}
-	}
-
-	if e := classifyItem.Remove(); e != nil {
-		br.Msg = "操作失败"
-		br.ErrMsg = fmt.Sprintf("删除分类失败, %v", e)
-		return
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}
-
-// ClassifyMove
-// @Title 移动分类
-// @Description 移动分类
-// @Param	request	body data_manage.BaseFromThsHfClassifyMoveReq true "type json string"
-// @Success 200 string "操作成功"
-// @router /ths_hf/classify/move [post]
-func (this *BaseFromThsHfController) ClassifyMove() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
-		}
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-	var req data_manage.BaseFromThsHfClassifyMoveReq
-	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
-		br.Msg = "参数解析异常"
-		br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
-		return
-	}
-	if req.ClassifyId <= 0 && req.ItemId <= 0 {
-		br.Msg = "请选择分类或指标"
-		return
-	}
-
-	err, errMsg := data.ThsHfMoveClassify(req, sysUser)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "操作成功"
-}

File diff suppressed because it is too large
+ 68 - 1320
controllers/data_manage/edb_info.go


+ 0 - 61
controllers/data_manage/edb_info_refresh.go

@@ -151,57 +151,6 @@ func (c *EdbInfoController) RefreshClassifyList() {
 			list = append(list, tmp)
 		}
 
-	case utils.DATA_SOURCE_YS: // 有色
-
-		list = append(list, &edb_refresh.BaseClassifyItems{
-			ClassifyId:   0,
-			ClassifyName: "未分类",
-			ParentId:     0,
-			UniqueCode:   fmt.Sprint(0),
-			Children:     nil,
-		})
-		rootList, err := data_manage.GetBaseFromSmmClassifyByParentId(0)
-		if err != nil && !utils.IsErrNoRow(err) {
-			br.Msg = "获取失败"
-			br.ErrMsg = "获取数据失败,Err:" + err.Error()
-			return
-		}
-
-		classifyAll, err := data_manage.GetAllBaseFromSmmClassify()
-		if err != nil && !utils.IsErrNoRow(err) {
-			br.Msg = "获取失败"
-			br.ErrMsg = "获取数据失败,Err:" + err.Error()
-			return
-		}
-
-		rootChildMap := make(map[int][]*edb_refresh.BaseClassifyItems)
-		for _, v := range classifyAll {
-			rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], &edb_refresh.BaseClassifyItems{
-				ClassifyId:   v.ClassifyId,
-				ClassifyName: v.ClassifyName,
-				ParentId:     v.ParentId,
-				UniqueCode:   fmt.Sprint(v.ClassifyId),
-				Children:     nil,
-			})
-		}
-		for _, v := range rootList {
-			tmp := &edb_refresh.BaseClassifyItems{
-				ClassifyId:   v.ClassifyId,
-				ClassifyName: v.ClassifyName,
-				ParentId:     v.ParentId,
-				UniqueCode:   fmt.Sprint(v.ClassifyId),
-				Children:     nil,
-			}
-			if existItems, ok := rootChildMap[v.ClassifyId]; ok {
-				tmp.Children = existItems
-			} else {
-				items := make([]*edb_refresh.BaseClassifyItems, 0)
-				tmp.Children = items
-			}
-			list = append(list, tmp)
-
-		}
-
 	default:
 		tmpList, err := data_manage.GetAllEdbClassify()
 		if err != nil && !utils.IsErrNoRow(err) {
@@ -552,8 +501,6 @@ func (c *EdbInfoController) SaveEdbRefreshStatus() {
 	switch req.Source {
 	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL: // 钢联
 		err = data_manage.ModifyMysteelChemicalUpdateStatus(edbIdList, edbCodeList, isStop)
-	case utils.DATA_SOURCE_YS: // 有色
-		err = data_manage.ModifySmmUpdateStatus(edbIdList, edbCodeList, isStop)
 	default:
 		err = data_manage.ModifyEdbInfoUpdateStatus(edbIdList, isStop, calculateEdbIdList)
 	}
@@ -867,14 +814,6 @@ func (c *EdbInfoController) GetEdbRefreshEdbConfig() {
 			return
 		}
 		frequency = item.Frequency
-	case utils.DATA_SOURCE_YS: // 有色
-		item, err := data_manage.GetSmmIndexById(edbInfoId)
-		if err != nil {
-			br.Msg = "获取指标信息失败"
-			br.ErrMsg = err.Error()
-			return
-		}
-		frequency = item.Frequency
 	default:
 		item, err := data_manage.GetEdbInfoById(edbInfoId)
 		if err != nil {

+ 0 - 241
controllers/data_manage/smm_api.go

@@ -1,241 +0,0 @@
-package data_manage
-
-import (
-	"encoding/json"
-	"eta_gn/eta_api/models"
-	"eta_gn/eta_api/models/data_manage"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"strconv"
-	"strings"
-)
-
-// SmmIndexList
-// @Title 有色api数据指标列表
-// @Description 有色api数据指标列表
-// @Success 200 {object} data_manage.SmmClassify
-// @router /smm/api/list [post]
-func (this *EdbInfoController) SmmApiList() {
-	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
-	}
-	var req data_manage.SmmIndexListReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	types := req.Types
-	frequency := req.Frequency
-	dataState := req.DataState
-	keyword := req.Keyword
-	indexCodes := req.IndexCodes
-	sortType := req.SortType
-	sortParam := req.SortParam
-	pageSize := req.PageSize
-	currentIndex := req.CurrentIndex
-
-	if sortType == "" {
-		sortType = "desc"
-	}
-
-	var startSize int
-	if pageSize <= 0 {
-		pageSize = utils.PageSize20
-	}
-	if currentIndex <= 0 {
-		currentIndex = 1
-	}
-	startSize = utils.StartIndex(currentIndex, pageSize)
-
-	var condition string
-	var pars []interface{}
-
-	if len(types) > 0 {
-		condition += " AND ( "
-		for _, v := range types {
-			typeArr := strings.Split(v, ",")
-			for i, v := range typeArr {
-				if i == 0 {
-					condition += " ( "
-				}
-				typeStr := "type_"
-				typeStr += fmt.Sprintf("%d", i+1)
-				condition += typeStr + " =? "
-				pars = append(pars, v)
-				if i == len(typeArr)-1 {
-					condition += " ) "
-				} else {
-					condition += " AND "
-				}
-			}
-			condition += " OR "
-		}
-		condition = strings.Trim(condition, "OR ")
-		condition += " ) "
-	}
-
-	if frequency != "" {
-		frequencyArr := strings.Split(frequency, ",")
-		condition += ` AND frequency IN (` + utils.GetOrmInReplace(len(frequencyArr)) + `) `
-		pars = append(pars, frequencyArr)
-	}
-
-	if dataState != "" {
-		stateArr := strings.Split(dataState, ",")
-		if strings.Contains(dataState, "normal") {
-			stateArr = append(stateArr, "")
-			condition += ` AND data_state IN (` + utils.GetOrmInReplace(len(stateArr)) + `) `
-			pars = append(pars, stateArr)
-		} else {
-			condition += ` AND data_state IN (` + utils.GetOrmInReplace(len(stateArr)) + `) `
-			pars = append(pars, stateArr)
-		}
-	}
-
-	sortStr := ``
-
-	if keyword != "" {
-		keyWordArr := strings.Split(keyword, " ")
-		if len(keyWordArr) > 0 {
-			condition += " AND ( "
-			keywordStr := strings.Replace(keyword, " ", "", -1)
-			condition += ` CONCAT(index_name,index_code) LIKE '%` + keywordStr + `%' OR `
-			sortStr += ` CASE WHEN CONCAT(index_name,index_code) LIKE '%` + keywordStr + `%' THEN 1 `
-			for i, v := range keyWordArr {
-				condition += ` CONCAT(index_name,index_code) LIKE '%` + v + `%' OR`
-				sortStr += ` WHEN CONCAT(index_name,index_code) LIKE '%` + v + `%' THEN  ` + strconv.Itoa(i+2) + ` `
-			}
-			sortStr += ` END, `
-			condition = strings.TrimRight(condition, "OR")
-			condition += " ) "
-		}
-	}
-
-	if indexCodes != "" {
-		indexCodeArr := strings.Split(indexCodes, ",")
-		indexCodeStr := ""
-		for _, v := range indexCodeArr {
-			indexCodeStr += "'" + v + "',"
-		}
-		indexCodeStr = strings.TrimRight(indexCodeStr, ",")
-		condition += " AND index_code IN (" + indexCodeStr + ") "
-	}
-
-	if sortParam != `` {
-		sortStr += fmt.Sprintf("%s %s,modify_time desc ", utils.PascalToSnake(sortParam), sortType)
-	} else {
-		sortStr += " modify_time desc "
-	}
-
-	total, err := data_manage.GetSmmIndexDataListCount(condition, pars)
-	if err != nil {
-		br.Msg = "获取指标总数失败"
-		br.ErrMsg = "获取指标总数失败,Err:" + err.Error()
-		return
-	}
-
-	indexList, err := data_manage.GetSmmIndexDataList(condition, sortStr, pars, startSize, pageSize)
-	if err != nil {
-		br.Msg = "获取指标列表失败"
-		br.ErrMsg = "获取指标列表失败,Err:" + err.Error()
-		return
-	}
-
-	for _, v := range indexList {
-		v.TypeAll = v.Type1 + "/" + v.Type2 + "/" + v.Type3
-	}
-
-	page := paging.GetPaging(currentIndex, pageSize, total)
-	var ret data_manage.BaseFromSmmIndexListResp
-	ret.List = indexList
-	ret.Paging = page
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = ret
-}
-
-// SmmApiTypeList
-// @Title 有色api数据分类列表
-// @Description 有色api数据分类列表
-// @Success 200 {object} data_manage.SmmClassify
-// @router /smm/api/type/list [get]
-func (this *EdbInfoController) SmmApiTypeList() {
-	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
-	}
-
-	typeList, err := data_manage.GetBaseFromSmmIndexTypeList()
-	if err != nil {
-		br.Msg = "获取指标列表失败"
-		br.ErrMsg = "获取指标列表失败,Err:" + err.Error()
-		return
-	}
-
-	resp := make([]data_manage.TypeListRespItem, 0)
-
-	typeMap := make(map[string]map[string][]string)
-	//type2Map := make(map[string][]string)
-
-	//type2Map := make(map[string]data_manage.TypeListRespItem)
-
-	// 初始化
-	for _, v := range typeList {
-		if v.Type1 != "" {
-			if _, ok := typeMap[v.Type1]; !ok {
-				typeMap[v.Type1] = make(map[string][]string)
-			} else {
-				if _, ok := typeMap[v.Type1][v.Type2]; !ok {
-					typeMap[v.Type1][v.Type2] = make([]string, 0)
-				}
-			}
-		}
-	}
-
-	for _, v := range typeList {
-		if v.Type1 != "" {
-			typeMap[v.Type1][v.Type2] = append(typeMap[v.Type1][v.Type2], v.Type3)
-		}
-	}
-
-	for type1, type2Map := range typeMap {
-		var item data_manage.TypeListRespItem
-		item.Type = type1
-		for type2, type3List := range type2Map {
-			var child data_manage.TypeListRespItem
-			child.Type = type2
-			for _, type3 := range type3List {
-				child.Child = append(child.Child, data_manage.TypeListRespItem{type3, nil})
-			}
-			item.Child = append(item.Child, child)
-		}
-		resp = append(resp, item)
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resp
-}

+ 0 - 1184
controllers/data_manage/smm_data.go

@@ -1,1184 +0,0 @@
-package data_manage
-
-import (
-	"encoding/json"
-	"eta_gn/eta_api/models"
-	"eta_gn/eta_api/models/data_manage"
-	"eta_gn/eta_api/models/data_manage/request"
-	"eta_gn/eta_api/services/alarm_msg"
-	"eta_gn/eta_api/services/data"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"github.com/tealeg/xlsx"
-	"os"
-	"path/filepath"
-	"strings"
-	"time"
-)
-
-// @Title 有色数据分类
-// @Description 有色数据分类接口
-// @Success 200 {object} data_manage.SmmClassify
-// @router /smm/classify [get]
-func (this *EdbInfoController) SmmClassify() {
-	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
-	}
-
-	rootList, err := data_manage.GetBaseFromSmmClassifyByParentId(0)
-	if err != nil && !utils.IsErrNoRow(err) {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-
-	classifyAll, err := data_manage.GetAllBaseFromSmmClassify()
-	if err != nil && !utils.IsErrNoRow(err) {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-
-	/*baseFromSmmIndexMap := make(map[int][]*data_manage.BaseFromSmmClassifyItems)
-
-	allBaseFromSmmIndex, err := data_manage.GetSmmIndexAll()
-	if err != nil && !utils.IsErrNoRow(err) {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
-		return
-	}
-	for _, v := range allBaseFromSmmIndex {
-		baseFromSmmIndexMap[v.ClassifyId] = append(baseFromSmmIndexMap[v.ClassifyId], v)
-	}*/
-
-	rootChildMap := make(map[int][]*data_manage.BaseFromSmmClassifyItems)
-	for _, v := range classifyAll {
-		rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
-		/*if existItems, ok := baseFromSmmIndexMap[v.ClassifyId]; ok {
-			v.Children = existItems
-		} else {
-			items := make([]*data_manage.BaseFromSmmClassifyItems, 0)
-			v.Children = items
-		}*/
-	}
-	var ret data_manage.BaseFromSmmClassifyResp
-	nodeAll := make([]*data_manage.BaseFromSmmClassifyItems, 0)
-	for _, v := range rootList {
-		if existItems, ok := rootChildMap[v.ClassifyId]; ok {
-			v.Children = existItems
-		} else {
-			items := make([]*data_manage.BaseFromSmmClassifyItems, 0)
-			v.Children = items
-		}
-		nodeAll = append(nodeAll, v)
-	}
-
-	//查询未分类的指标列表
-	initClassify := &data_manage.BaseFromSmmClassifyItems{
-		ClassifyId:         0,
-		BaseFromSmmIndexId: 0,
-		ClassifyName:       "未分类",
-		ClassifyNameEn:     "Unclassified",
-		ParentId:           0,
-		Level:              1,
-		Sort:               0,
-		Children:           nil,
-	}
-	/*initIndexList, err := data_manage.GetBaseFromSmmIndexByClassifyId(initClassify.ClassifyId)
-	if err != nil {
-		br.Msg = "获取未分类指标失败"
-		br.ErrMsg = "获取未分类指标失败,Err:" + err.Error()
-		return
-	}
-
-	for _, v := range initIndexList {
-		tmp := &data_manage.BaseFromSmmClassifyItems{
-			ClassifyId:           v.ClassifyId,
-			BaseFromSmmIndexId:   v.BaseFromSmmIndexId,
-			BaseFromSmmIndexCode: v.IndexCode,
-			ClassifyName:         v.IndexName,
-			ParentId:             0,
-			Level:                0,
-			Sort:                 0,
-			Children:             nil,
-		}
-		initClassify.Children = append(initClassify.Children, tmp)
-	}*/
-	finalList := make([]*data_manage.BaseFromSmmClassifyItems, 0)
-	finalList = append(finalList, initClassify)
-	finalList = append(finalList, nodeAll...)
-	ret.List = finalList
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = ret
-}
-
-// SmmIndexList
-// @Title 有色数据指标
-// @Description 有色数据指标列表接口
-// @Success 200 {object} data_manage.SmmClassify
-// @router /smm/index/list [get]
-func (this *EdbInfoController) SmmIndexList() {
-	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
-	}
-	classifyId, _ := this.GetInt("ClassifyId", 0)
-
-	list := make([]*data_manage.BaseFromSmmClassifyItems, 0)
-	indexList, err := data_manage.GetBaseFromSmmIndexByClassifyId(classifyId)
-	if err != nil {
-		br.Msg = "获取未分类指标失败"
-		br.ErrMsg = "获取未分类指标失败,Err:" + err.Error()
-		return
-	}
-
-	for _, v := range indexList {
-		tmp := &data_manage.BaseFromSmmClassifyItems{
-			ClassifyId:           v.ClassifyId,
-			BaseFromSmmIndexId:   v.BaseFromSmmIndexId,
-			BaseFromSmmIndexCode: v.IndexCode,
-			ClassifyName:         v.IndexName,
-			ParentId:             0,
-			Level:                0,
-			Sort:                 0,
-			Children:             nil,
-		}
-		list = append(list, tmp)
-	}
-	var ret data_manage.BaseFromSmmClassifyResp
-	ret.List = list
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = ret
-}
-
-// SmmClassifyName
-// @Title 有色数据分类名称查询
-// @Description 有色数据分类名称查询接口
-// @Success 200 {object} data_manage.SmmClassify
-// @router /smm/classify/name [get]
-func (this *EdbInfoController) SmmClassifyName() {
-	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
-	}
-
-	rootList, err := data_manage.GetBaseFromSmmClassifyByParentId(0)
-	if err != nil && !utils.IsErrNoRow(err) {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-
-	classifyAll, err := data_manage.GetAllBaseFromSmmClassify()
-	if err != nil && !utils.IsErrNoRow(err) {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-
-	rootChildMap := make(map[int][]*data_manage.BaseFromSmmClassifyNameItems)
-	for _, v := range classifyAll {
-		tmp := &data_manage.BaseFromSmmClassifyNameItems{
-			ClassifyId:   v.ClassifyId,
-			ClassifyName: v.ClassifyName,
-			ParentId:     v.ParentId,
-			Children:     nil,
-		}
-		rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], tmp)
-	}
-	var ret data_manage.BaseFromSmmClassifyNameResp
-	nodeAll := make([]*data_manage.BaseFromSmmClassifyNameItems, 0)
-	for _, v := range rootList {
-		tmp := &data_manage.BaseFromSmmClassifyNameItems{
-			ClassifyId:   v.ClassifyId,
-			ClassifyName: v.ClassifyName,
-			ParentId:     v.ParentId,
-			Children:     nil,
-		}
-		if existItems, ok := rootChildMap[v.ClassifyId]; ok {
-			tmp.Children = existItems
-		} else {
-			items := make([]*data_manage.BaseFromSmmClassifyNameItems, 0)
-			tmp.Children = items
-		}
-		nodeAll = append(nodeAll, tmp)
-	}
-
-	ret.List = nodeAll
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = ret
-}
-
-// AddSmmClassify
-// @Title 新增分类
-// @Description 新增分类接口
-// @Param	request	body data_manage.AddBaseFromSmmClassifyReq true "type json string"
-// @Success 200 Ret=200 保存成功
-// @router /smm/classify/add [post]
-func (this *EdbInfoController) AddSmmClassify() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	var req request.AddBaseFromSmmClassifyReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-	if req.ClassifyName == "" {
-		br.Msg = "请输入分类名称"
-		br.IsSendEmail = false
-		return
-	}
-	req.ClassifyName = utils.TrimStr(req.ClassifyName)
-	req.ClassifyName = strings.Replace(req.ClassifyName, "/t", "", -1)
-
-	//添加指标
-	smmClassifyInfo, err, errMsg := data.AddSmmClassify(req.ClassifyName, req.ParentId, this.SysUser.AdminId, this.SysUser.RealName, this.Lang)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = errMsg + ";Err:" + err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-
-	// 如果是添加一级分类,那么默认加上 价格、供应、需求、库存 四个二级分类
-	if smmClassifyInfo.ParentId == 0 {
-		secondClassifyList := []string{"价格", "供应", "需求", "库存"}
-		for _, v := range secondClassifyList {
-			_, _, tmpErrMsg := data.AddSmmClassify(v, smmClassifyInfo.ClassifyId, this.SysUser.AdminId, this.SysUser.RealName, this.Lang)
-			if tmpErrMsg != `` {
-				go alarm_msg.SendAlarmMsg("SMM原始数据-添加一级分类时,默认添加二级分类失败,一级分类名称:"+req.ClassifyName+",二级分类名称:"+v+", Err:"+tmpErrMsg, 3)
-				return
-			}
-		}
-	}
-	resp := data_manage.AddSmmClassifyResp{
-		ClassifyId: smmClassifyInfo.ClassifyId,
-		//UniqueCode:                        fmt.Sprint(SmmClassifyInfo.BaseFromSmmClassifyId),
-	}
-	br.Data = resp
-	br.Ret = 200
-	br.Msg = "保存成功"
-	br.Success = true
-	br.IsAddLog = true
-}
-
-// EditSmmClassify
-// @Title 修改分类
-// @Description 修改分类接口
-// @Param	request	body data_manage.EditBaseFromMysteelChemicalClassifyReq true "type json string"
-// @Success 200 Ret=200 修改成功
-// @router /smm/classify/edit [post]
-func (this *EdbInfoController) EditSmmClassify() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	var req request.EditBaseFromSmmClassifyReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-	if req.ClassifyName == "" {
-		br.Msg = "请输入分类名称"
-		br.IsSendEmail = false
-		return
-	}
-
-	if req.ClassifyId <= 0 {
-		br.Msg = "参数错误"
-		br.IsSendEmail = false
-		return
-	}
-
-	err, errMsg := data.EditSmmClassify(req.ClassifyId, req.ClassifyName, this.Lang, this.SysUser)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = errMsg + ";Err:" + err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-
-	br.Ret = 200
-	br.Msg = "保存成功"
-	br.Success = true
-	br.IsAddLog = true
-}
-
-// @Title 有色数据频度
-// @Description 有色数据频度接口
-// @Param   ClassifyId   query   string  true       "分类Id"
-// @Success 200 {object} data_manage.LzFrequency
-// @router /smm/frequency [get]
-func (this *EdbInfoController) SmmFrequency() {
-	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
-	}
-	classifyId, _ := this.GetInt("ClassifyId")
-	if classifyId < 0 {
-		br.Msg = "请选择分类"
-		br.ErrMsg = "请选择分类"
-		return
-	}
-
-	frequencyList, err := data_manage.GetSmmFrequencyByClassifyId(classifyId)
-	if err != nil {
-		br.Msg = "获取频度失败"
-		br.ErrMsg = "获取频度失败,Err:" + err.Error()
-		return
-	}
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = frequencyList
-}
-
-// MoveSmmClassify
-// @Title 分类移动接口
-// @Description 分类移动接口
-// @Success 200 {object} data_manage.MoveBaseFromMysteelChemicalClassifyReq
-// @router /smm/classify/move [post]
-func (this *EdbInfoController) MoveSmmClassify() {
-	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
-	}
-
-	var req request.MoveBaseFromSmmClassifyReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	if req.ClassifyId <= 0 {
-		br.Msg = "参数错误"
-		br.ErrMsg = "分类id小于等于0"
-		br.IsSendEmail = false
-		return
-	}
-
-	err, errMsg := data.MoveSmmClassify(req.ClassifyId, req.ParentId, req.PrevClassifyId, req.NextClassifyId)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-	br.Ret = 200
-	br.Success = true
-	br.IsAddLog = true
-	br.Msg = "移动成功"
-}
-
-// DeleteSmmClassify
-// @Title 删除分类
-// @Description 删除分类接口
-// @Param	request	body data_manage.DelBaseFromSmmClassifyReq true "type json string"
-// @Success 200 Ret=200 删除成功
-// @router /smm/classify/del [post]
-func (this *EdbInfoController) DeleteSmmClassify() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	var req request.DelBaseFromSmmClassifyReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	if req.ClassifyId < 0 {
-		br.Msg = "参数错误"
-		br.IsSendEmail = false
-		return
-	}
-
-	err, errMsg := data.DelSmmClassify(req.ClassifyId, this.SysUser)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = errMsg + ";Err:" + err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-
-	br.Ret = 200
-	br.Msg = "删除成功"
-	br.Success = true
-	br.IsAddLog = true
-}
-
-// MoveSmmData
-// @Title SMM指标移动接口
-// @Description SMM指标移动接口
-// @Success 200 {object} data_manage.MoveBaseFromSmmReq
-// @router /smm/move [post]
-func (this *EdbInfoController) MoveSmmData() {
-	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
-	}
-
-	var req request.MoveBaseFromSmmReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	if req.BaseFromSmmIndexId <= 0 {
-		br.Msg = "参数错误"
-		br.ErrMsg = "指标id小于等于0"
-		br.IsSendEmail = false
-		return
-	}
-
-	if req.ClassifyId < 0 {
-		br.Msg = "请选择分类"
-		br.ErrMsg = "请选择分类"
-		br.IsSendEmail = false
-		return
-	}
-
-	err, errMsg := data.MoveSmmData2(req.BaseFromSmmIndexId, req.ClassifyId, req.PrevBaseFromSmmIndexId, req.NextBaseFromSmmIndexId)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-	br.Ret = 200
-	br.Success = true
-	br.IsAddLog = true
-	br.Msg = "移动成功"
-}
-
-// EditSmm
-// @Title 编辑有色指标
-// @Description 编辑有色指标接口
-// @Param	request	body data_manage.AddEdbClassifyReq true "type json string"
-// @Success 200 Ret=200 保存成功
-// @router /smm/edit [post]
-func (this *EdbInfoController) EditSmm() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	var req request.EditBaseFromSmmReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-	if req.BaseFromSmmIndexId <= 0 {
-		br.Msg = "请选择指标"
-		br.IsSendEmail = false
-		return
-	}
-	if req.ClassifyId <= 0 {
-		br.Msg = "请选择分类"
-		br.IsSendEmail = false
-		return
-	}
-
-	//编辑指标
-	smmIndexInfo, err, errMsg := data.EditSmmIndex(req.BaseFromSmmIndexId, req.ClassifyId, this.SysUser)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = errMsg + ";Err:" + err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-
-	resp := data_manage.EditSmmIndexInfoResp{
-		BaseFromSmmIndexId: smmIndexInfo.BaseFromSmmIndexId,
-		IndexCode:          smmIndexInfo.IndexCode,
-	}
-	br.Data = resp
-	br.Ret = 200
-	br.Msg = "保存成功"
-	br.Success = true
-	br.IsAddLog = true
-}
-
-// @Title 获取钢联数据
-// @Description 获取钢联数据接口
-// @Param   PageSize   query   int  true       "每页数据条数"
-// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   ClassifyId   query   string  true       "分类id"
-// @Param   Frequency   query   string  true       "频度名称"
-// @Success 200 {object} data_manage.LzFrequency
-// @router /smm/data [get]
-func (this *EdbInfoController) SmmData() {
-	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
-	}
-
-	pageSize, _ := this.GetInt("PageSize")
-	currentIndex, _ := this.GetInt("CurrentIndex")
-	var startSize int
-
-	if pageSize <= 0 {
-		pageSize = utils.PageSize20
-	}
-	if currentIndex <= 0 {
-		currentIndex = 1
-	}
-	startSize = utils.StartIndex(currentIndex, pageSize)
-
-	classifyId, _ := this.GetInt("ClassifyId")
-	if classifyId < 0 {
-		br.Msg = "请选择分类"
-		br.ErrMsg = "请选择分类"
-		return
-	}
-	frequency := this.GetString("Frequency")
-	if frequency == "" {
-		br.Msg = "请选择频度"
-		br.ErrMsg = "请选择频度"
-		return
-	}
-
-	//获取指标
-	var condition string
-	var pars []interface{}
-
-	if classifyId >= 0 {
-		condition += ` AND classify_id=? `
-		pars = append(pars, classifyId)
-	}
-
-	if frequency != "" {
-		condition += ` AND frequency=? `
-		pars = append(pars, frequency)
-	}
-
-	smmList, err := data_manage.GetSmmIndex(condition, pars)
-	if err != nil {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-	resultList := make([]*data_manage.SmmIndexList, 0)
-	for _, v := range smmList {
-		product := new(data_manage.SmmIndexList)
-		product.BaseFromSmmIndexId = v.BaseFromSmmIndexId
-		product.Unit = v.Unit
-		product.IndexCode = v.IndexCode
-		product.IndexName = v.IndexName
-		product.Frequency = v.Frequency
-		product.ModifyTime = v.ModifyTime
-
-		total, err := data_manage.GetSmmIndexDataCount(v.IndexCode)
-		page := paging.GetPaging(currentIndex, pageSize, total)
-		dataList, err := data_manage.GetSmmIndexData(v.IndexCode, startSize, pageSize)
-		if err != nil {
-			br.Msg = "获取数据失败"
-			br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
-			return
-		}
-		if dataList == nil {
-			dataList = make([]*data_manage.SmmIndexData, 0)
-		}
-		product.DataList = dataList
-		product.Paging = page
-		resultList = append(resultList, product)
-	}
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resultList
-}
-
-// SmmSearchList
-// @Title SMM模糊搜索
-// @Description SMM模糊搜索
-// @Param   Keyword   query   string  ture       "关键字搜索"
-// @Success 200 {object} models.BaseResponse
-// @router /smm/search_list [get]
-func (this *EdbInfoController) SmmSearchList() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请重新登录"
-		return
-	}
-
-	//关键字
-	keyword := this.GetString("Keyword")
-
-	list, err := data_manage.GetSmmItemList(keyword)
-	if err != nil {
-		br.ErrMsg = "获取失败,Err:" + err.Error()
-		br.Msg = "获取失败"
-		return
-	}
-	classifyIds := make([]int, 0)
-	for _, v := range list {
-		if v.ClassifyId > 0 {
-			classifyIds = append(classifyIds, v.ClassifyId)
-		}
-	}
-	if len(classifyIds) > 0 {
-		// 查询父级分类信息
-		classifyList, e := data_manage.GetBaseFromSmmClassifyByIds(classifyIds)
-		if e != nil {
-			br.Msg = "获取目录信息失败"
-			br.ErrMsg = "获取失获取目录信息失败,Err:" + err.Error()
-			return
-		}
-		classifyListMap := make(map[int]int, 0)
-		for _, v := range classifyList {
-			classifyListMap[v.ClassifyId] = v.ParentId
-		}
-		for _, v := range list {
-			if p, ok := classifyListMap[v.ClassifyId]; ok {
-				v.ParentClassifyId = p
-			}
-		}
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = list
-}
-
-// SmmSingleData
-// @Title 获取Smm数据
-// @Description 获取smm单条数据接口
-// @Param   IndexCode   query   string  true       "指标唯一编码"
-// @Success 200 {object} models.BaseResponse
-// @router /smm/single_data [get]
-func (this *EdbInfoController) SmmSingleData() {
-	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
-	}
-	indexCode := this.GetString("IndexCode")
-	indexInfo, err := data_manage.GetBaseFromSmmIndexByIndexCode(indexCode)
-	if err != nil {
-		br.Msg = "获取指标信息失败"
-		br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
-		return
-	}
-	dataList, err := data_manage.GetSmmIndexDataByCode(indexCode)
-	if err != nil {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-	var ret data_manage.SmmSingleDataResp
-	ret.ClassifyId = indexInfo.ClassifyId
-	ret.BaseFromSmmIndexId = indexInfo.BaseFromSmmIndexId
-	ret.IndexCode = indexInfo.IndexCode
-	ret.IndexName = indexInfo.IndexName
-	ret.Frequency = indexInfo.Frequency
-	ret.Interface = indexInfo.Interface
-	ret.Name = indexInfo.Name
-	ret.StartTime = indexInfo.StartTime
-	ret.FinishTime = indexInfo.FinishTime
-	ret.ApiStartTime = indexInfo.ApiStartTime
-	ret.ApiUpdateTime = indexInfo.ApiUpdateTime
-	ret.CreateTime = indexInfo.CreateTime.Format(utils.FormatDateTime)
-	ret.ModifyTime = indexInfo.ModifyTime.Format(utils.FormatDateTime)
-	ret.Unit = indexInfo.Unit
-	ret.Data = dataList
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = ret
-}
-
-// DeleteSmmData
-// @Title 删除指标
-// @Description 删除指标接口
-// @Param	request	body data_manage.DelBaseFromSmmReq true "type json string"
-// @Success 200 Ret=200 删除成功
-// @router /smm/del [post]
-func (this *EdbInfoController) DeleteSmmData() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	var req request.DelBaseFromSmmReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	if req.BaseFromSmmIndexId < 0 {
-		br.Msg = "参数错误"
-		br.IsSendEmail = false
-		return
-	}
-
-	err, errMsg := data.DelSmmData(req.BaseFromSmmIndexId)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = errMsg + ";Err:" + err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-
-	br.Ret = 200
-	br.Msg = "删除成功"
-	br.Success = true
-	br.IsAddLog = true
-}
-
-// ResetSmmData
-// @Title 指标数据清除分类
-// @Description 指标数据清除分类
-// @Param	request	body data_manage.DelBaseFromSmmReq true "type json string"
-// @Success 200 Ret=200 操作成功
-// @router /smm/reset [post]
-func (this *EdbInfoController) ResetSmmData() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	var req request.DelBaseFromSmmReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	if req.BaseFromSmmIndexId < 0 {
-		br.Msg = "参数错误"
-		br.IsSendEmail = false
-		return
-	}
-
-	err, errMsg := data.ResetSmmData(req.BaseFromSmmIndexId)
-	if errMsg != `` {
-		br.Msg = errMsg
-		br.ErrMsg = errMsg
-		if err != nil {
-			br.ErrMsg = errMsg + ";Err:" + err.Error()
-		} else {
-			br.IsSendEmail = false
-		}
-		return
-	}
-
-	br.Ret = 200
-	br.Msg = "操作成功"
-	br.Success = true
-	br.IsAddLog = true
-}
-
-// ExportSmmList
-// @Title 导出Smm数据
-// @Description 导出Smm数据
-// @Param   IndexName   query   string  false       "名称关键词"
-// @Param   IndexCode   query   string  false       "指标唯一编码"
-// @Param   ClassifyId   query   string  true       "分类"
-// @Param   Frequency   query   string  true       "频度"
-// @Param   UnitName   query   string  false       "单位"
-// @Param   ModifyTime   query   string  false       "更新时间"
-// @Success 200  导出成功
-// @router /export/smmList [get]
-func (this *EdbInfoController) ExportSmmList() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请重新登录"
-		return
-	}
-
-	//typeName := this.GetString("TypeName") //分类
-	//frequency := this.GetString("Frequency")
-
-	indexCode := this.GetString("IndexCode") //指标唯一编码
-	classifyId, _ := this.GetInt("ClassifyId")
-	secNameList := make([]*models.EdbdataExportList, 0)
-
-	dir, _ := os.Executable()
-	exPath := filepath.Dir(dir)
-
-	downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
-	xlsxFile := xlsx.NewFile()
-
-	if classifyId >= 0 && indexCode == "" {
-
-		frequencies, err := data_manage.GetSmmFrequency(classifyId)
-		if err != nil {
-			fmt.Println("GetSmmFrequency err:", err.Error())
-			utils.FileLog.Info("GetSmmFrequency err:" + err.Error())
-			return
-		}
-		for _, frequency := range frequencies {
-
-			//获取指标
-			var pars []interface{}
-			pars = append(pars, classifyId)
-			pars = append(pars, frequency)
-			condition := " AND classify_id=? AND frequency=? "
-			secNameList, err := data_manage.GetSmmIndex(condition, pars)
-			if err != nil {
-				fmt.Println("获取数据失败,Err:" + err.Error())
-				return
-			}
-			if len(secNameList) <= 0 {
-				fmt.Println("secNameList长度为0")
-				return
-			}
-			sheetNew, err := xlsxFile.AddSheet(*frequency)
-
-			if err != nil {
-				fmt.Println("新增Sheet失败", err.Error())
-				return
-			}
-			//sheetNew.SetColWidth()
-			//获取指标数据
-			windRow := sheetNew.AddRow()
-			secNameRow := sheetNew.AddRow()
-			indexCodeRow := sheetNew.AddRow()
-			frequencyRow := sheetNew.AddRow()
-			unitRow := sheetNew.AddRow()
-			lastModifyDateRow := sheetNew.AddRow()
-			//获取分类下指标最大数据量
-			dataMax, err := data_manage.GetSmmDataMaxCount(classifyId)
-			if err != nil {
-				fmt.Println("获取指标最大数据量失败", err.Error())
-				return
-			}
-			fmt.Println("dataMax:", dataMax)
-			setRowIndex := 6
-			for k, sv := range secNameList {
-				//获取数据
-				dataList, err := data_manage.GetSmmIndexDataByCode(sv.IndexCode)
-				if err != nil {
-					br.Msg = "获取数据失败"
-					br.ErrMsg = "获取数据失败,Err:" + err.Error()
-					return
-				}
-				if len(dataList) > 0 {
-					windRow.AddCell().SetValue("Smm")
-					secNameRow.AddCell().SetValue("指标名称")
-					indexCodeRow.AddCell().SetValue("指标ID")
-					frequencyRow.AddCell().SetValue("频率")
-					unitRow.AddCell().SetValue("单位")
-					lastModifyDateRow.AddCell().SetValue("更新时间")
-
-					secNameRow.AddCell().SetValue(sv.IndexName)
-					indexCodeRow.AddCell().SetValue(sv.IndexCode)
-					frequencyRow.AddCell().SetValue(sv.Frequency)
-
-					unitRow.AddCell().SetValue(sv.Unit)
-					lastModifyDateRow.AddCell().SetValue(sv.ModifyTime)
-
-					windRow.AddCell()
-					windRow.AddCell()
-					secNameRow.AddCell()
-					indexCodeRow.AddCell()
-					frequencyRow.AddCell()
-					unitRow.AddCell()
-					lastModifyDateRow.AddCell()
-					min := k * 3
-					sheetNew.SetColWidth(min, min, 15)
-
-					if len(dataList) <= 0 {
-						for n := 0; n < dataMax; n++ {
-							rowIndex := setRowIndex + n
-							row := sheetNew.Row(rowIndex)
-							row.AddCell()
-							row.AddCell()
-							row.AddCell()
-						}
-					} else {
-						endRowIndex := 0
-						for rk, dv := range dataList {
-							rowIndex := setRowIndex + rk
-							row := sheetNew.Row(rowIndex)
-							displayDate, _ := time.Parse(utils.FormatDate, dv.DataTime)
-							displayDateCell := row.AddCell()
-							style := new(xlsx.Style)
-							style.ApplyAlignment = true
-							style.Alignment.WrapText = true
-							displayDateCell.SetStyle(style)
-							displayDateCell.SetDate(displayDate)
-
-							row.AddCell().SetValue(dv.Value)
-							row.AddCell()
-							endRowIndex = rowIndex
-						}
-						if len(dataList) < dataMax {
-							dataLen := dataMax - len(dataList)
-							for n := 0; n < dataLen; n++ {
-								rowIndex := (endRowIndex + 1) + n
-								row := sheetNew.Row(rowIndex)
-								row.AddCell()
-								row.AddCell()
-								row.AddCell()
-							}
-						}
-					}
-				}
-			}
-		}
-	} else {
-		frequencies, err := data_manage.GetSmmFrequencyByCode(indexCode)
-		if err != nil {
-			fmt.Println("GetSmmFrequencyByCode err:", err.Error())
-			utils.FileLog.Info("GetSmmFrequencyByCode err:" + err.Error())
-			return
-		}
-		for _, frequency := range frequencies {
-			//获取数据
-			dataList, err := data_manage.GetSmmIndexDataByCode(indexCode)
-			if err != nil {
-				br.Msg = "获取数据失败"
-				br.ErrMsg = "获取数据失败,Err:" + err.Error()
-				return
-			}
-			if len(dataList) > 0 {
-				name := this.GetString("IndexName")
-				unit := this.GetString("UnitName")
-				modifyTime := this.GetString("ModifyTime")
-
-				sheet, err := xlsxFile.AddSheet(*frequency)
-				if err != nil {
-					br.Msg = "新增Sheet失败"
-					br.ErrMsg = "新增Sheet失败,Err:" + err.Error()
-					return
-				}
-				//获取指标数据
-				windRow := sheet.AddRow()
-				windRow.AddCell().SetValue("Smm")
-				rowSecName := sheet.AddRow()
-				celSecName := rowSecName.AddCell()
-				celSecName.SetValue("指标名称")
-				cellSenName := rowSecName.AddCell()
-				cellSenName.SetValue(name)
-				indexCodeRow := sheet.AddRow()
-				indexCodeRow.AddCell().SetValue("指标ID")
-				indexCodeRow.AddCell().SetValue(indexCode)
-
-				rowFrequency := sheet.AddRow()
-				celFrequency := rowFrequency.AddCell()
-				celFrequency.SetValue("频率")
-				cellFrequency := rowFrequency.AddCell()
-				cellFrequency.SetValue(frequency)
-
-				rowUnit := sheet.AddRow()
-				celUnit := rowUnit.AddCell()
-				celUnit.SetValue("单位")
-				cellUnit := rowUnit.AddCell()
-				cellUnit.SetValue(unit)
-
-				rowModifyDate := sheet.AddRow()
-				rowModifyCell := rowModifyDate.AddCell()
-				rowModifyCell.SetValue("更新时间")
-				rowModifyCell = rowModifyDate.AddCell()
-				rowModifyCell.SetValue(modifyTime)
-				dataMax, err := data_manage.GetSmmIndexDataCount(indexCode)
-				if len(dataList) <= 0 {
-					for n := 0; n < dataMax; n++ {
-						rowIndex := 6 + n
-						row := sheet.Row(rowIndex)
-						row.AddCell()
-						row.AddCell()
-						row.AddCell()
-					}
-				} else {
-					endRowIndex := 0
-					for rk, dv := range dataList {
-						rowIndex := 6 + rk
-						row := sheet.Row(rowIndex)
-						displayDate, _ := time.Parse(utils.FormatDate, dv.DataTime)
-						displayDateCell := row.AddCell()
-						style := new(xlsx.Style)
-						style.ApplyAlignment = true
-						style.Alignment.WrapText = true
-						displayDateCell.SetStyle(style)
-						displayDateCell.SetDate(displayDate)
-
-						row.AddCell().SetValue(dv.Value)
-						row.AddCell()
-						endRowIndex = rowIndex
-					}
-					if len(dataList) < dataMax {
-						dataLen := dataMax - len(dataList)
-						for n := 0; n < dataLen; n++ {
-							rowIndex := (endRowIndex + 1) + n
-							row := sheet.Row(rowIndex)
-							row.AddCell()
-							row.AddCell()
-							row.AddCell()
-						}
-					}
-				}
-			}
-		}
-	}
-
-	err := xlsxFile.Save(downLoadnFilePath)
-	if err != nil {
-		//有指标无数据时先导出一遍空表
-		sheet, err := xlsxFile.AddSheet("无数据")
-		if err != nil {
-			br.Msg = "新增Sheet失败"
-			br.ErrMsg = "新增Sheet失败,Err:" + err.Error()
-			return
-		}
-		rowSecName := sheet.AddRow()
-		celSecName := rowSecName.AddCell()
-		celSecName.SetValue("")
-		err = xlsxFile.Save(downLoadnFilePath)
-		if err != nil {
-			br.Msg = "保存文件失败"
-			br.ErrMsg = "保存文件失败"
-			return
-		}
-	}
-	fileName := `Smm数据`
-	if len(secNameList) > 0 {
-		fileName = secNameList[0].ClassifyName
-	}
-	fileName += time.Now().Format("06.01.02") + `.xlsx` //文件名称
-	this.Ctx.Output.Download(downLoadnFilePath, fileName)
-	defer func() {
-		os.Remove(downLoadnFilePath)
-	}()
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "success"
-
-}

+ 0 - 467
controllers/data_manage/yongyi_data.go

@@ -1,467 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/models"
-	"eta_gn/eta_api/models/data_manage"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"github.com/tealeg/xlsx"
-	"os"
-	"path/filepath"
-	"strings"
-	"time"
-)
-
-// YongyiClassify
-// @Title 涌益咨询数据分类
-// @Description 涌益咨询数据分类接口
-// @Success 200 {object} data_manage.BaseFromYongyiClassify
-// @router /yongyi/classify [get]
-func (this *EdbInfoController) YongyiClassify() {
-	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
-	}
-
-	classifyAll, err := data_manage.GetAllBaseFromYongyiClassify()
-	if err != nil && !utils.IsErrNoRow(err) {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-	//组装一级分类
-	rootMap := make(map[int][]*data_manage.BaseFromYongyiClassifyItems)
-	list := make([]*data_manage.BaseFromYongyiClassifyItems, 0)
-	for _, classify := range classifyAll {
-		if classify.ParentId == 0 {
-			if _, ok := rootMap[classify.ClassifyId]; !ok {
-				rootMap[classify.ClassifyId] = make([]*data_manage.BaseFromYongyiClassifyItems, 0)
-				list = append(list, classify)
-			}
-		} else {
-			child, ok := rootMap[classify.ParentId]
-			if ok {
-				child = append(child, classify)
-				rootMap[classify.ParentId] = child
-			}
-		}
-	}
-
-	for k, v := range list {
-		child, ok := rootMap[v.ClassifyId]
-		if ok {
-			list[k].Children = child
-		}
-	}
-	//组装二级分类
-	var ret data_manage.BaseFromYongyiClassifyResp
-	ret.List = list
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = ret
-}
-
-// YongyiIndexData
-// @Title 获取钢联数据
-// @Description 获取钢联数据接口
-// @Param   PageSize   query   int  true       "每页数据条数"
-// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   ClassifyId   query   string  true       "分类id"
-// @Success 200 {object} data_manage.LzFrequency
-// @router /yongyi/index/data [get]
-func (this *EdbInfoController) YongyiIndexData() {
-	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
-	}
-
-	pageSize, _ := this.GetInt("PageSize")
-	currentIndex, _ := this.GetInt("CurrentIndex")
-	var startSize int
-
-	if pageSize <= 0 {
-		pageSize = utils.PageSize20
-	}
-	if currentIndex <= 0 {
-		currentIndex = 1
-	}
-	startSize = utils.StartIndex(currentIndex, pageSize)
-
-	classifyId, _ := this.GetInt("ClassifyId")
-	if classifyId < 0 {
-		br.Msg = "请选择分类"
-		br.ErrMsg = "请选择分类"
-		return
-	}
-
-	//获取指标
-	var condition string
-	var pars []interface{}
-
-	if classifyId >= 0 {
-		condition += ` AND classify_id=? `
-		pars = append(pars, classifyId)
-	}
-
-	yongyiList, err := data_manage.GetYongyiIndex(condition, pars)
-	if err != nil {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-	resultList := make([]*data_manage.BaseFromYongyiIndexList, 0)
-	for _, v := range yongyiList {
-		product := new(data_manage.BaseFromYongyiIndexList)
-		product.YongyiIndexId = v.YongyiIndexId
-		product.Unit = v.Unit
-		product.IndexCode = v.IndexCode
-		product.IndexName = v.IndexName
-		product.Frequency = v.Frequency
-		product.ModifyTime = v.ModifyTime
-
-		total, err := data_manage.GetYongyiIndexDataCount(v.IndexCode)
-		page := paging.GetPaging(currentIndex, pageSize, total)
-		dataList, err := data_manage.GetYongyiIndexData(v.IndexCode, startSize, pageSize)
-		if err != nil {
-			br.Msg = "获取数据失败"
-			br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
-			return
-		}
-		if dataList == nil {
-			dataList = make([]*data_manage.BaseFromYongyiData, 0)
-		}
-		product.DataList = dataList
-		product.Paging = page
-		resultList = append(resultList, product)
-	}
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resultList
-}
-
-// YongyiSearchList
-// @Title Yongyi模糊搜索
-// @Description Yongyi模糊搜索
-// @Param   Keyword   query   string  ture       "关键字搜索"
-// @Success 200 {object} models.BaseResponse
-// @router /yongyi/search_list [get]
-func (this *EdbInfoController) YongyiSearchList() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请重新登录"
-		return
-	}
-
-	list := make([]*data_manage.BaseFromYongyiIndexSearchItem, 0)
-	var err error
-	//关键字
-	keyword := this.GetString("Keyword")
-	if keyword != "" {
-		keyWordArr := strings.Split(keyword, " ")
-
-		if len(keyWordArr) > 0 {
-			condition := ""
-			for _, v := range keyWordArr {
-				condition += ` AND CONCAT(index_name,index_code) LIKE '%` + v + `%'`
-			}
-			list, err = data_manage.GetYongyiItemList(condition)
-			if err != nil {
-				br.ErrMsg = "获取失败,Err:" + err.Error()
-				br.Msg = "获取失败"
-				return
-			}
-		}
-
-	} else {
-		// todo es 模糊搜索
-		list, err = data_manage.GetYongyiItemList("")
-		if err != nil {
-			br.ErrMsg = "获取失败,Err:" + err.Error()
-			br.Msg = "获取失败"
-			return
-		}
-	}
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = list
-}
-
-// YongyiSingleData
-// @Title 获取Yongyi数据
-// @Description 获取Yongyi单条数据接口
-// @Param   IndexCode   query   string  true       "指标唯一编码"
-// @Success 200 {object} models.BaseResponse
-// @router /yongyi/single_data [get]
-func (this *EdbInfoController) YongyiSingleData() {
-	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
-	}
-	indexCode := this.GetString("IndexCode")
-	indexInfo, err := data_manage.GetBaseFromYongyiIndexByIndexCode(indexCode)
-	if err != nil {
-		br.Msg = "获取指标信息失败"
-		br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
-		return
-	}
-	dataTmpList, err := data_manage.GetYongyiIndexDataByCode(indexCode)
-	if err != nil {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-	var ret data_manage.YongyiSingleDataResp
-	var dataList []*data_manage.YongyiSingleData
-
-	ret.ClassifyId = indexInfo.ClassifyId
-	ret.YongyiIndexId = indexInfo.YongyiIndexId
-	ret.IndexCode = indexInfo.IndexCode
-	ret.IndexName = indexInfo.IndexName
-	ret.Frequency = indexInfo.Frequency
-	ret.CreateTime = indexInfo.CreateTime.Format(utils.FormatDateTime)
-	ret.ModifyTime = indexInfo.ModifyTime.Format(utils.FormatDateTime)
-	ret.Unit = indexInfo.Unit
-	for _, v := range dataTmpList {
-		tmp := &data_manage.YongyiSingleData{
-			Value:    v.Value,
-			DataTime: v.DataTime,
-		}
-		dataList = append(dataList, tmp)
-	}
-	ret.Data = dataList
-
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = ret
-}
-
-// ExportYongyiList
-// @Title 导出Yongyi数据
-// @Description 导出Yongyi数据
-// @Param   IndexName   query   string  false       "名称关键词"
-// @Param   IndexCode   query   string  false       "指标唯一编码"
-// @Param   ClassifyId   query   string  true       "分类"
-// @Success 200  导出成功
-// @router /yongyi/export [get]
-func (this *EdbInfoController) ExportYongyiList() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请重新登录"
-		return
-	}
-
-	indexCode := this.GetString("IndexCode") //指标唯一编码
-	classifyId, _ := this.GetInt("ClassifyId")
-	//secNameList := make([]*models.EdbdataExportList, 0)
-
-	dir, _ := os.Executable()
-	exPath := filepath.Dir(dir)
-
-	downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
-	xlsxFile := xlsx.NewFile()
-
-	var pars []interface{}
-	condition := ""
-	if classifyId > 0 {
-		//获取指标
-		condition += " AND classify_id=?"
-		pars = append(pars, classifyId)
-	}
-	if indexCode != "" {
-		//获取指标
-		condition += " AND index_code=?"
-		pars = append(pars, indexCode)
-	}
-	indexList, err := data_manage.GetYongyiIndex(condition, pars)
-	if err != nil {
-		fmt.Println("获取数据失败,Err:" + err.Error())
-		return
-	}
-	if len(indexList) <= 0 {
-		fmt.Println("indexList 为空")
-		br.Ret = 200
-		br.Success = true
-		br.Msg = "success"
-		return
-	}
-	sheetNew := new(xlsx.Sheet)
-	// todo 分类名称
-	sheetNew, err = xlsxFile.AddSheet("涌益咨询")
-	//sheetNew.SetColWidth()
-	//获取指标数据
-	windRow := sheetNew.AddRow()
-	secNameRow := sheetNew.AddRow()
-	indexCodeRow := sheetNew.AddRow()
-	frequencyRow := sheetNew.AddRow()
-	unitRow := sheetNew.AddRow()
-	lastModifyDateRow := sheetNew.AddRow()
-	//获取分类下指标最大数据量
-	var dataMax int
-	setRowIndex := 6
-	indexCodeList := make([]string, 0)
-	for _, v := range indexList {
-		indexCodeList = append(indexCodeList, v.IndexCode)
-	}
-	dataListMap := make(map[string][]*data_manage.BaseFromYongyiData)
-	if len(indexList) > 0 {
-		allDataList, e := data_manage.GetYongyiIndexDataByCodes(indexCodeList)
-		if e != nil {
-			br.Msg = "获取数据失败"
-			br.ErrMsg = "获取数据失败,Err:" + e.Error()
-			return
-		}
-		for _, v := range allDataList {
-			dataListMap[v.IndexCode] = append(dataListMap[v.IndexCode], v)
-		}
-		for _, v := range dataListMap {
-			if len(v) > dataMax {
-				dataMax = len(v)
-			}
-		}
-	}
-
-	for k, sv := range indexList {
-		//获取数据
-		dataList, ok := dataListMap[sv.IndexCode]
-		if !ok {
-			continue
-		}
-		if len(dataList) > 0 {
-			windRow.AddCell().SetValue("涌益咨询")
-			secNameRow.AddCell().SetValue("指标名称")
-			indexCodeRow.AddCell().SetValue("指标ID")
-			frequencyRow.AddCell().SetValue("频率")
-			unitRow.AddCell().SetValue("单位")
-			lastModifyDateRow.AddCell().SetValue("更新时间")
-
-			secNameRow.AddCell().SetValue(sv.IndexName)
-			indexCodeRow.AddCell().SetValue(sv.IndexCode)
-			frequencyRow.AddCell().SetValue(sv.Frequency)
-
-			unitRow.AddCell().SetValue(sv.Unit)
-			lastModifyDateRow.AddCell().SetValue(sv.ModifyTime)
-
-			windRow.AddCell()
-			windRow.AddCell()
-			secNameRow.AddCell()
-			indexCodeRow.AddCell()
-			frequencyRow.AddCell()
-			unitRow.AddCell()
-			lastModifyDateRow.AddCell()
-			min := k * 3
-			sheetNew.SetColWidth(min, min, 15)
-
-			if len(dataList) <= 0 {
-				for n := 0; n < dataMax; n++ {
-					rowIndex := setRowIndex + n
-					row := sheetNew.Row(rowIndex)
-					row.AddCell()
-					row.AddCell()
-					row.AddCell()
-				}
-			} else {
-				endRowIndex := 0
-				for rk, dv := range dataList {
-					rowIndex := setRowIndex + rk
-					row := sheetNew.Row(rowIndex)
-					displayDate, _ := time.Parse(utils.FormatDate, dv.DataTime)
-					displayDateCell := row.AddCell()
-					style := new(xlsx.Style)
-					style.ApplyAlignment = true
-					style.Alignment.WrapText = true
-					displayDateCell.SetStyle(style)
-					displayDateCell.SetDate(displayDate)
-
-					row.AddCell().SetValue(dv.Value)
-					row.AddCell()
-					endRowIndex = rowIndex
-				}
-				if len(dataList) < dataMax {
-					dataLen := dataMax - len(dataList)
-					for n := 0; n < dataLen; n++ {
-						rowIndex := (endRowIndex + 1) + n
-						row := sheetNew.Row(rowIndex)
-						row.AddCell()
-						row.AddCell()
-						row.AddCell()
-					}
-				}
-			}
-		}
-	}
-
-	err = xlsxFile.Save(downLoadnFilePath)
-	if err != nil {
-		//有指标无数据时先导出一遍空表
-		sheet, err := xlsxFile.AddSheet("无数据")
-		if err != nil {
-			br.Msg = "新增Sheet失败"
-			br.ErrMsg = "新增Sheet失败,Err:" + err.Error()
-			return
-		}
-		rowSecName := sheet.AddRow()
-		celSecName := rowSecName.AddCell()
-		celSecName.SetValue("")
-		err = xlsxFile.Save(downLoadnFilePath)
-		if err != nil {
-			br.Msg = "保存文件失败"
-			br.ErrMsg = "保存文件失败"
-			return
-		}
-	}
-	fileName := `涌益咨询数据`
-	if len(indexList) > 0 {
-		fileName = indexList[0].IndexName
-	}
-	fileName += time.Now().Format("06.01.02") + `.xlsx` //文件名称
-	this.Ctx.Output.Download(downLoadnFilePath, fileName)
-	defer func() {
-		os.Remove(downLoadnFilePath)
-	}()
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "success"
-
-}

+ 0 - 478
models/data_manage/base_from_smm.go

@@ -1,478 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"time"
-)
-
-type BaseFromSmm struct {
-	BaseFromSmmId int `gorm:"primaryKey" `
-	Aid           int
-	Name          string
-	Interface     string
-	ApiUpdate     int
-	ApiUpdateType string
-	ApiType       int
-	ApiTypeAll    string
-	Type1         string `orm:"column(type_1)"`
-	Type2         string `orm:"column(type_2)"`
-	Type3         string `orm:"column(type_3)"`
-	ApiStartTime  string
-	ApiUpdateTime string
-	StartTime     string
-	FinishTime    string
-	AuthModule    string
-	AuthLang      string
-	ApiLabel      string
-	Enable        string
-	EditPerson    string
-	EditTime      string
-	AuthDur       int
-	AuthDurType   string
-}
-
-func GetBaseFromSmmList() (list []*BaseFromSmm, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_smm `
-	err = o.Raw(sql).Scan(&list).Error
-
-	return
-}
-
-func GetBaseFromSmmBySmmCode(smmCode string) (item *BaseFromSmm, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_smm WHERE interface=?`
-	err = o.Raw(sql, smmCode).First(&item).Error
-
-	return
-}
-
-type BaseFromSmmIndex struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey" `
-	ClassifyId         int
-	Interface          string
-	Name               string
-	IndexCode          string
-	IndexName          string
-	Type1              string `orm:"column(type_1)"`
-	Type2              string `orm:"column(type_2)"`
-	Type3              string `orm:"column(type_3)"`
-	Frequency          string
-	Unit               string
-	ApiStartTime       string
-	ApiUpdateTime      string
-	StartTime          string
-	FinishTime         string
-	Sort               int
-	CreateTime         time.Time
-	ModifyTime         time.Time
-	DataState          string
-	ReleaseTime        string
-	StartDate          string
-	EndDate            string
-}
-
-func AddBaseFromSmmIndex(item *BaseFromSmmIndex) (lastId int64, err error) {
-	err = global.DmSQL["data"].Create(item).Error
-	if err != nil {
-		return
-	}
-	lastId = int64(item.ClassifyId)
-
-	return
-}
-
-func GetBaseFromSmmIndex() (list []*BaseFromSmmIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_smm_index `
-	err = o.Raw(sql).Scan(&list).Error
-
-	return
-}
-
-type BaseFromSmmData struct {
-	SmmDataId          int `orm:"column(smm_data_id);pk" gorm:"primaryKey" `
-	BaseFromSmmIndexId int
-	IndexCode          string
-	DataTime           string
-	Value              string
-	CreateTime         time.Time
-	ModifyTime         time.Time
-	DataTimestamp      int64
-}
-
-func AddBaseFromSmmData(item *BaseFromSmmData) (lastId int64, err error) {
-	err = global.DmSQL["data"].Create(item).Error
-	if err != nil {
-		return
-	}
-	lastId = int64(item.BaseFromSmmIndexId)
-
-	return
-}
-
-func GetBaseFromSmmDataAll() (list []*BaseFromSmmData, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_smm_data `
-	err = o.Raw(sql).Scan(&list).Error
-
-	return
-}
-
-func ModifyBaseFromSmmData(smmDataId int, value string) (err error) {
-	o := global.DmSQL["data"]
-	sql := `UPDATE base_from_smm_data SET value=?,modify_time=NOW() WHERE smm_data_id=? `
-	err = o.Exec(sql, value, smmDataId).Error
-
-	return
-}
-
-func GetBaseFromSmmIndexBySmmCode(smmCode string) (list []*BaseFromSmmIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_smm_index WHERE interface=? `
-	err = o.Raw(sql, smmCode).Scan(&list).Error
-
-	return
-}
-
-type SmmMaxOrMinDate struct {
-	MinDate string `json:"min_date"`
-	MaxDate string `json:"max_date"`
-}
-
-func GetBaseFromSmmMaxOrMinDate(indexCode string) (min_date, max_date string, err error) {
-	o := global.DmSQL["data"]
-	var tmpData SmmMaxOrMinDate
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM base_from_smm_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).Scan(&tmpData).Error
-	if err != nil {
-		return
-	}
-	min_date = tmpData.MinDate
-	max_date = tmpData.MaxDate
-
-	return
-}
-
-func ModifyBaseFromSmmMinDateAndMaxDate(baseFromSmmIndexId int, minDate, maxDate string) (err error) {
-	o := global.DmSQL["data"]
-	sql := ` UPDATE base_from_smm_index SET start_date=?,end_date=?,modify_time=NOW() WHERE base_from_smm_index_id=? `
-	err = o.Exec(sql, minDate, maxDate, baseFromSmmIndexId).Error
-
-	return
-}
-
-func GetBaseFromSmmDataAllByIndexCode(indexCode string) (list []*BaseFromSmmData, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_smm_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}
-
-func GetBaseFromSmmIndexByIndexCode(indexCode string) (list *BaseFromSmmIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_smm_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).First(&list).Error
-
-	return
-}
-
-// GetBaseFromSmmIndexCountByClassifyIds 获取分类下指标的个数
-func GetBaseFromSmmIndexCountByClassifyIds(classifyIds []int) (count int, err error) {
-	o := global.DmSQL["data"]
-	num := len(classifyIds)
-	if num <= 0 {
-		return
-	}
-	sql := `SELECT COUNT(1) AS count FROM base_from_smm_index WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	err = o.Raw(sql, classifyIds).Scan(&count).Error
-
-	return
-}
-
-// GetBaseFromSmmIndexByClassifyId 获取根据分类查询指标
-func GetBaseFromSmmIndexByClassifyId(classifyId int) (list []*BaseFromSmmIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_smm_index WHERE classify_id =? ORDER BY sort ASC, base_from_smm_index_id ASC `
-	err = o.Raw(sql, classifyId).Scan(&list).Error
-
-	return
-}
-
-// GetBaseFromSmmIndexByIndexId 根据指标id获取指标信息
-func GetBaseFromSmmIndexByIndexId(indexId int) (item *BaseFromSmmIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_smm_index WHERE base_from_smm_index_id=? `
-	err = o.Raw(sql, indexId).First(&item).Error
-
-	return
-}
-
-// GetBaseFromSmmIndexMaxSortByClassifyId 根据指标id获取指标信息
-func GetBaseFromSmmIndexMaxSortByClassifyId(classifyId int) (sort int, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT COALESCE(MAX(sort), 0) as sort FROM base_from_smm_index WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).Scan(&sort).Error
-
-	return
-}
-
-// GetBaseFromSmmIndexMinSortByClassifyId 获取最小不等于0的排序
-func GetBaseFromSmmIndexMinSortByClassifyId(classifyId int) (sort int, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT COALESCE(MIN(sort), 0) as sort FROM base_from_smm_index WHERE classify_id=? and sort <> 0 `
-	err = o.Raw(sql, classifyId).Scan(&sort).Error
-
-	return
-}
-
-type BaseFromSmmIndexType struct {
-	Type2 string `orm:"column(type_2)"`
-	Type3 string `orm:"column(type_3)"`
-}
-
-// GetBaseFromSmmIndexType 获取历史指标信息类型
-func GetBaseFromSmmIndexType() (list []BaseFromSmmIndexType, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT type_2, type_3 from base_from_smm_index where type_2 <> "" GROUP BY type_2, type_3`
-	err = o.Raw(sql).Scan(&list).Error
-
-	return
-}
-
-// MoveBaseFromSmmIndex 移动指标分类
-func MoveBaseFromSmmIndex(chartInfoId, classifyId int) (err error) {
-	o := global.DmSQL["data"]
-	sql := ` UPDATE base_from_smm_index
-			SET
-			  classify_id = ?, modify_time=NOW() 
-			WHERE base_from_smm_index_id = ?`
-	err = o.Exec(sql, classifyId, chartInfoId).Error
-
-	return
-}
-
-// UpdateBaseFromSmmIndexByClassifyId 根据指标id更新排序
-func UpdateBaseFromSmmIndexByClassifyId(classifyId, nowSort, prevIndexInfoId int, updateSort string) (err error) {
-	o := global.DmSQL["data"]
-	sql := ` update base_from_smm_index set sort = ` + updateSort + ` WHERE classify_id=? AND  `
-	if prevIndexInfoId > 0 {
-		sql += ` ( sort > ? or (base_from_smm_index_id > ` + fmt.Sprint(prevIndexInfoId) + ` and sort = ` + fmt.Sprint(nowSort) + `))`
-	}
-	err = o.Exec(sql, classifyId, nowSort).Error
-
-	return
-}
-
-// MoveUpSmmIndexBySort 往上移动
-func MoveUpSmmIndexBySort(classifyId, nextSort, currentSort int) (err error) {
-	o := global.DmSQL["data"]
-	sql := `update base_from_smm_index set sort = sort + 1 where classify_id=? and sort >= ? and sort< ?`
-	err = o.Exec(sql, classifyId, nextSort, currentSort).Error
-
-	return
-}
-
-// MoveDownSmmIndexBySort 往下移动
-func MoveDownSmmIndexBySort(classifyId, prevSort, currentSort int) (err error) {
-	o := global.DmSQL["data"]
-	sql := `update base_from_smm_index set sort = sort - 1 where classify_id=? and sort <= ? and sort> ? `
-	err = o.Exec(sql, classifyId, prevSort, currentSort).Error
-
-	return
-}
-
-// GetFirstBaseFromSmmIndexByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
-func GetFirstBaseFromSmmIndexByClassifyId(classifyId int) (item *BaseFromSmmIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_smm_index WHERE classify_id=? order by sort asc,base_from_smm_index_id asc limit 1`
-	err = o.Raw(sql, classifyId).Scan(&item).Error
-
-	return
-}
-
-// Update 更新Smm指标基础信息
-func (item *BaseFromSmmIndex) Update(cols []string) (err error) {
-	err = global.DmSQL["data"].Select(cols).Updates(item).Error
-
-	return
-}
-
-// DeleteBaseFromSmmIndexById 根据指标id删除对应的指标、指标数据
-func DeleteBaseFromSmmIndexById(smmIndexId int) (err error) {
-	to := global.DmSQL["data"].Begin()
-	defer func() {
-		if err != nil {
-			_ = to.Rollback()
-		} else {
-			_ = to.Commit()
-		}
-	}()
-
-	//删除指标
-	sql := `DELETE FROM base_from_smm_index WHERE base_from_smm_index_id = ? `
-	err = to.Exec(sql, smmIndexId).Error
-	if err != nil {
-		return
-	}
-
-	//删除指标数据
-	sql = `DELETE FROM base_from_smm_data WHERE base_from_smm_index_id = ? `
-	err = to.Exec(sql, smmIndexId).Error
-	if err != nil {
-		return
-	}
-
-	return
-}
-
-// EditSmmIndexInfoResp 新增指标的返回
-type EditSmmIndexInfoResp struct {
-	BaseFromSmmIndexId int    `description:"指标ID"`
-	IndexCode          string `description:"指标code"`
-}
-
-type SmmSingleDataResp struct {
-	BaseFromSmmIndexId int
-	ClassifyId         int
-	Interface          string
-	Name               string
-	IndexCode          string
-	IndexName          string
-	Frequency          string
-	Unit               string
-	ApiStartTime       string
-	ApiUpdateTime      string
-	StartTime          string
-	FinishTime         string
-	CreateTime         string
-	ModifyTime         string
-	Data               []*SmmIndexData
-}
-
-func GetSmmIndexDataList(condition, sortStr string, pars []interface{}, startSize, pageSize int) (items []*BaseFromSmmIndexItem, err error) {
-	sql := `select * FROM base_from_smm_index
-               WHERE 1=1 `
-	if condition != "" {
-		sql += condition
-	}
-	sql += ` ORDER BY ` + sortStr
-	sql += `  limit ?,? `
-	o := global.DmSQL["data"]
-
-	pars = append(pars, startSize)
-	pars = append(pars, pageSize)
-	err = o.Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-func GetSmmIndexDataListCount(condition string, pars []interface{}) (total int, err error) {
-	sql := `select count(1) FROM base_from_smm_index
-               WHERE 1=1 `
-	if condition != "" {
-		sql += condition
-	}
-	o := global.DmSQL["data"]
-	err = o.Raw(sql, pars...).Scan(&total).Error
-
-	return
-}
-
-type BaseFromSmmIndexListResp struct {
-	List   []*BaseFromSmmIndexItem
-	Paging *paging.PagingItem `description:"分页数据"`
-}
-
-type BaseFromSmmIndexItem struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey" `
-	ClassifyId         int
-	Interface          string
-	Name               string
-	IndexCode          string
-	IndexName          string
-	Type1              string `orm:"column(type_1)"`
-	Type2              string `orm:"column(type_2)"`
-	Type3              string `orm:"column(type_3)"`
-	Frequency          string
-	Unit               string
-	ApiStartTime       string
-	ApiUpdateTime      string
-	StartTime          string
-	FinishTime         string
-	Sort               int
-	CreateTime         string
-	ModifyTime         string
-	DataState          string
-	ReleaseTime        string
-	StartDate          string
-	EndDate            string
-	TypeAll            string
-}
-
-type BaseFromSmmIndexTypeList struct {
-	Type1 string `orm:"column(type_1)"`
-	Type2 string `orm:"column(type_2)"`
-	Type3 string `orm:"column(type_3)"`
-}
-
-// GetBaseFromSmmIndexTypeList
-func GetBaseFromSmmIndexTypeList() (list []BaseFromSmmIndexTypeList, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT type_1,type_2, type_3 from base_from_smm_index GROUP BY type_1,type_2,type_3 `
-	err = o.Raw(sql).Scan(&list).Error
-
-	return
-}
-
-type TypeListRespItem struct {
-	Type  string
-	Child []TypeListRespItem
-}
-
-func GetSmmIndexDataListNoPage(condition string, pars []interface{}) (items []*BaseFromSmmIndexItem, err error) {
-	sql := `select * FROM base_from_smm_index
-               WHERE 1=1 `
-	if condition != "" {
-		sql += condition
-	}
-	o := global.DmSQL["data"]
-	err = o.Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-func GetBaseFromSmmIndexByIndexCodes(indexCodes string) (list []*BaseFromSmmIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_smm_index WHERE index_code IN (` + indexCodes + `)`
-	err = o.Raw(sql).Scan(&list).Error
-
-	return
-}
-
-// SmmIndexListReq
-type SmmIndexListReq struct {
-	Types        []string `description:"分类"`
-	Frequency    string   `description:"频度"`
-	DataState    string   `description:"数据状态"`
-	Keyword      string   `description:"关键字"`
-	IndexCodes   string   `description:"指标代码"`
-	SortType     string   `description:"排序类型"`
-	SortParam    string   `description:"排序参数"`
-	PageSize     int
-	CurrentIndex int
-}
-
-// SmmIndexExistCheckReq
-type SmmIndexExistCheckReq struct {
-	Types     []string `description:"分类"`
-	Frequency string   `description:"频度"`
-	DataState string   `description:"数据状态"`
-	EdbCode   string   `description:"指标代码"`
-	SelectAll bool     `description:"是否全选"`
-	Keyword   string   `description:"关键字"`
-}

+ 0 - 264
models/data_manage/base_from_smm_classify.go

@@ -1,264 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"eta_gn/eta_api/utils"
-	"time"
-)
-
-// BaseFromSmmClassify SMM原始数据分类表
-type BaseFromSmmClassify struct {
-	ClassifyId      int       `orm:"column(classify_id);pk" gorm:"primaryKey" `
-	ClassifyName    string    `description:"分类名称"`
-	ParentId        int       `description:"父级id"`
-	SysUserId       int       `description:"创建人id"`
-	SysUserRealName string    `description:"创建人姓名"`
-	Level           int       `description:"层级"`
-	Sort            int       `description:"排序字段,越小越靠前,默认值:10"`
-	ModifyTime      time.Time `description:"修改时间"`
-	CreateTime      time.Time `description:"创建时间"`
-	ClassifyNameEn  string    `description:"英文分类名称"`
-}
-
-// AddBaseFromSmmClassify 添加SMM原始数据分类
-func AddBaseFromSmmClassify(item *BaseFromSmmClassify) (lastId int64, err error) {
-	err = global.DmSQL["data"].Create(item).Error
-	if err != nil {
-		return
-	}
-
-	lastId = int64(item.ClassifyId)
-
-	return
-}
-
-// GetBaseFromSmmClassifyCount 获取分类名称的个数
-func GetBaseFromSmmClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT COUNT(1) AS count FROM base_from_smm_classify WHERE classify_name=? AND parent_id=? `
-	err = o.Raw(sql, classifyName, parentId).Scan(&count).Error
-
-	return
-}
-
-// GetBaseFromSmmClassifyEnCount
-// @Description: 获取英文分类名称的个数
-// @author: Roc
-// @datetime 2024-04-16 16:49:03
-// @param classifyNameEn string
-// @param parentId int
-// @return count int
-// @return err error
-func GetBaseFromSmmClassifyEnCount(classifyNameEn string, parentId int) (count int, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT COUNT(1) AS count FROM base_from_smm_classify WHERE classify_name_en = ? AND parent_id = ? `
-	err = o.Raw(sql, classifyNameEn, parentId).Scan(&count).Error
-
-	return
-}
-
-// GetBaseFromSmmClassifyById 通过分类id的获取分类信息
-func GetBaseFromSmmClassifyById(classifyId int) (item *BaseFromSmmClassify, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_smm_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).Scan(&item).Error
-
-	return
-}
-
-// EditBaseFromSmmClassify 修改SMM原始数据分类
-func EditBaseFromSmmClassify(classifyId int, classifyName string) (err error) {
-	o := global.DmSQL["data"]
-	sql := `UPDATE base_from_smm_classify SET classify_name=?,modify_time=NOW() WHERE classify_id=? `
-	err = o.Exec(sql, classifyName, classifyId).Error
-
-	return
-}
-
-// EditBaseFromSmmClassifyEn
-// @Description: 修改SMM原始数据英文分类
-// @author: Roc
-// @datetime 2024-04-16 16:50:55
-// @param classifyId int
-// @param classifyNameEn string
-// @return err error
-func EditBaseFromSmmClassifyEn(classifyId int, classifyNameEn string) (err error) {
-	o := global.DmSQL["data"]
-	sql := `UPDATE base_from_smm_classify SET classify_name_en = ?,modify_time=NOW() WHERE classify_id=? `
-	err = o.Exec(sql, classifyNameEn, classifyId).Error
-
-	return
-}
-
-// UpdateBaseFromSmmClassifySort 修改SMM原始数据分类的排序
-func UpdateBaseFromSmmClassifySort(classifyId int) (err error) {
-	o := global.DmSQL["data"]
-	sql := `UPDATE base_from_smm_classify SET sort=classify_id, modify_time=NOW() WHERE classify_id=? `
-	err = o.Exec(sql, classifyId).Error
-
-	return
-}
-
-type BaseFromSmmClassifyItems struct {
-	ClassifyId           int                         `description:"分类ID"`
-	BaseFromSmmIndexId   int                         `description:"指标类型ID"`
-	BaseFromSmmIndexCode string                      `description:"指标唯一编码"`
-	ClassifyName         string                      `description:"分类名称"`
-	ClassifyNameEn       string                      `description:"英文分类名称"`
-	ParentId             int                         `description:"父级id"`
-	Level                int                         `description:"层级"`
-	Sort                 int                         `description:"排序字段,越小越靠前,默认值:10"`
-	Children             []*BaseFromSmmClassifyItems `gorm:"-" description:"下级"`
-}
-
-type BaseFromSmmClassifyNameItems struct {
-	ClassifyId   int                             `description:"分类ID"`
-	ClassifyName string                          `description:"分类名称"`
-	ParentId     int                             `description:"父级id"`
-	Children     []*BaseFromSmmClassifyNameItems `gorm:"-" description:"下级"`
-}
-
-type BaseFromSmmClassifyResp struct {
-	List []*BaseFromSmmClassifyItems
-}
-
-type BaseFromSmmClassifyNameResp struct {
-	List []*BaseFromSmmClassifyNameItems
-}
-
-type BaseFromSmmClassifyItemsButton struct {
-	AddButton    bool `description:"是否可添加"`
-	OpButton     bool `description:"是否可编辑"`
-	DeleteButton bool `description:"是否可删除"`
-	MoveButton   bool `description:"是否可移动"`
-}
-
-// GetBaseFromSmmClassifyByParentId 根据上级id获取当下的分类列表数据
-func GetBaseFromSmmClassifyByParentId(parentId int) (items []*BaseFromSmmClassifyItems, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_smm_classify WHERE parent_id=? order by sort asc,classify_id asc`
-	err = o.Raw(sql, parentId).Scan(&items).Error
-
-	return
-}
-
-// GetBaseFromSmmClassifyByIds 根据id获取当下的分类列表数据
-func GetBaseFromSmmClassifyByIds(classifyIds []int) (items []*BaseFromSmmClassifyItems, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_smm_classify WHERE parent_id > 0 and classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) order by sort asc, classify_id asc`
-	err = o.Raw(sql, classifyIds).Scan(&items).Error
-
-	return
-}
-
-// GetAllBaseFromSmmClassify 获取所有的分类列表数据
-func GetAllBaseFromSmmClassify() (items []*BaseFromSmmClassifyItems, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_smm_classify WHERE parent_id <> 0 order by sort asc,classify_id asc`
-	err = o.Raw(sql).Scan(&items).Error
-
-	return
-}
-
-type DeleteBaseFromSmmClassifyReq struct {
-	ClassifyId int `description:"分类id"`
-	EdbInfoId  int `description:"指标id"`
-}
-
-type BaseFromSmmClassifyListResp struct {
-	AllNodes      []*BaseFromSmmClassifyItems
-	CanOpClassify bool `description:"是否允许操作分类"`
-}
-
-type BaseFromSmmClassifySimplify struct {
-	ClassifyId   int    `description:"分类id"`
-	ClassifyName string `description:"分类名称"`
-	ParentId     int
-}
-
-// MoveUpSmmIndexClassifyBySort 往上移动
-func MoveUpSmmIndexClassifyBySort(parentId, nextSort, currentSort int) (err error) {
-	sql := `update base_from_smm_classify set sort = sort + 1 where parent_id=? and sort >= ? and sort< ?`
-	err = global.DmSQL["data"].Exec(sql, parentId, nextSort, currentSort).Error
-
-	return
-}
-
-// MoveDownSmmIndexClassifyBySort 往下移动
-func MoveDownSmmIndexClassifyBySort(parentId, prevSort, currentSort int) (err error) {
-	o := global.DmSQL["data"]
-	sql := `update base_from_smm_classify set sort = sort - 1 where parent_id=? and sort <= ? and sort> ? `
-	err = o.Exec(sql, parentId, prevSort, currentSort).Error
-
-	return
-}
-
-// GetSmmIndexClassifyMinSort 获取最小不等于0的排序
-func GetSmmIndexClassifyMinSort(parentId int) (sort int, err error) {
-	sql := `select COALESCE(MIN(sort), 0) as sort from base_from_smm_classify where parent_id=? and sort <> 0 `
-	err = global.DmSQL["data"].Raw(sql, parentId).Scan(&sort).Error
-
-	return
-}
-
-// Update 更新分类基础信息
-func (BaseFromSmmClassify *BaseFromSmmClassify) Update(cols []string) (err error) {
-	o := global.DmSQL["data"]
-	err = o.Select(cols).Updates(BaseFromSmmClassify).Error
-
-	return
-}
-
-type AddSmmClassifyResp struct {
-	ClassifyId int
-}
-
-// DeleteSmmClassifyByClassifyId 根据分类id删除对应的指标分类
-func DeleteSmmClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := global.DmSQL["data"]
-	num := len(classifyIdList)
-	if num <= 0 {
-		return
-	}
-	//删除分类
-	sql := `DELETE FROM base_from_smm_classify WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	err = o.Exec(sql, classifyIdList).Error
-
-	return
-}
-
-// AddSmmClassifyMulti 批量新增SMM类别
-func AddSmmClassifyMulti(list []*BaseFromSmmClassify) (err error) {
-	o := global.DmSQL["data"]
-	err = o.CreateInBatches(list, utils.MultiAddNum).Error
-
-	return
-}
-
-// InitSmmClassifySort 初始化sort值
-func InitSmmClassifySort() (err error) {
-	o := global.DmSQL["data"]
-	sql := `UPDATE base_from_smm_classify 
-SET modify_time=NOW(), sort = classify_id`
-	err = o.Exec(sql).Error
-
-	return
-}
-
-// InitSmmIndexClassifyId 历史数据的classifyId值
-func InitSmmIndexClassifyId() (err error) {
-	o := global.DmSQL["data"]
-	sql := `UPDATE base_from_smm_index s
-LEFT JOIN (
-SELECT
-	c1.classify_id,
-	CONCAT( c2.classify_name, c1.classify_name ) AS type_name 
-FROM
-	base_from_smm_classify c1
-	LEFT JOIN base_from_smm_classify c2 ON c1.parent_id = c2.classify_id 
-	) AS t ON CONCAT( s.type_2, s.type_3 ) = t.type_name
-	SET s.classify_id = t.classify_id, s.modify_time=NOW() where s.type_2 <>""`
-	err = o.Exec(sql).Error
-
-	return
-}

+ 0 - 523
models/data_manage/base_from_ths_hf.go

@@ -1,523 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"strings"
-	"time"
-)
-
-// TODO:有时间还是放在配置里面吧...
-var (
-	ThsHfPeriodArr = []int{1, 3, 5, 10, 15, 30, 60}                                                                                                                                // 时间周期
-	ThsHfCPSArr    = []string{"no", "forward1", "forward2", "forward3", "forward4", "backward1", "backward2", "backward3", "backward4"}                                            // 复权方式
-	ThsHfFillArr   = []string{"Original", "Previous", "Blank"}                                                                                                                     // 非交易间隔处理
-	ThsHfEdbCodeCn = map[string]string{"open": "开盘价", "close": "收盘价", "high": "最高价", "low": "最低价", "avgprice": "均价", "volume": "成交价", "amt": "成交额", "pct_chg": "涨跌幅", "oi": "持仓量"} // 可选指标代码对应中文
-)
-
-// BaseFromThsHfIndex 同花顺高频数据
-type BaseFromThsHfIndex struct {
-	BaseFromThsHfIndexId    int       `orm:"column(base_from_ths_hf_index_id);pk" gorm:"primaryKey" `
-	BaseFromThsHfClassifyId int       `description:"分类ID"`
-	IndexCode               string    `description:"指标编码"`
-	IndexName               string    `description:"指标名称"`
-	Unit                    string    `description:"单位"`
-	Source                  string    `description:"数据来源"`
-	Frequency               string    `description:"频度"`
-	StartDate               time.Time `description:"开始日期(至时分秒)"`
-	EndDate                 time.Time `description:"结束日期(至时分秒)"`
-	Describe                string    `description:"指标描述"`
-	Sort                    int       `description:"排序"`
-	IsStop                  int       `description:"是否停更:0-否;1-停更"`
-	TerminalCode            string    `description:"所属终端编码"`
-	StockCode               string    `description:"证券代码"`
-	Indicator               string    `description:"同花顺指标代码"`
-	ApiPars                 string    `description:"API请求参数"`
-	LatestValue             float64   `description:"最新值"`
-	SysUserId               int       `description:"创建人ID"`
-	SysUserRealName         string    `description:"创建人姓名"`
-	CreateTime              time.Time `description:"创建时间"`
-	ModifyTime              time.Time `description:"修改时间"`
-}
-
-func (m *BaseFromThsHfIndex) TableName() string {
-	return "base_from_ths_hf_index"
-}
-
-type BaseFromThsHfIndexCols struct {
-	PrimaryId               string
-	BaseFromThsHfClassifyId string
-	IndexCode               string
-	IndexName               string
-	Unit                    string
-	Source                  string
-	Frequency               string
-	StartDate               string
-	EndDate                 string
-	Describe                string
-	Sort                    string
-	IsStop                  string
-	TerminalCode            string
-	StockCode               string
-	Indicator               string
-	ApiPars                 string
-	LatestValue             string
-	SysUserId               string
-	SysUserRealName         string
-	CreateTime              string
-	ModifyTime              string
-}
-
-func (m *BaseFromThsHfIndex) Cols() BaseFromThsHfIndexCols {
-	return BaseFromThsHfIndexCols{
-		PrimaryId:               "base_from_ths_hf_index_id",
-		BaseFromThsHfClassifyId: "base_from_ths_hf_classify_id",
-		IndexCode:               "index_code",
-		IndexName:               "index_name",
-		Unit:                    "unit",
-		Source:                  "source",
-		Frequency:               "frequency",
-		StartDate:               "start_date",
-		EndDate:                 "end_date",
-		Describe:                "describe",
-		Sort:                    "sort",
-		IsStop:                  "is_stop",
-		TerminalCode:            "terminal_code",
-		StockCode:               "stock_code",
-		Indicator:               "indicator",
-		ApiPars:                 "api_pars",
-		LatestValue:             "latest_value",
-		SysUserId:               "sys_user_id",
-		SysUserRealName:         "sys_user_real_name",
-		CreateTime:              "create_time",
-		ModifyTime:              "modify_time",
-	}
-}
-
-func (m *BaseFromThsHfIndex) Create() (err error) {
-	err = global.DmSQL["data"].Create(m).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) CreateMulti(items []*BaseFromThsHfIndex) (err error) {
-	if len(items) == 0 {
-		return
-	}
-	err = global.DmSQL["data"].CreateInBatches(items, utils.MultiAddNum).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) Update(cols []string) (err error) {
-	o := global.DmSQL["data"]
-	err = o.Select(cols).Updates(m).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) Remove() (err error) {
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Exec(sql, m.BaseFromThsHfIndexId).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) MultiRemove(ids []int) (err error) {
-	if len(ids) == 0 {
-		return
-	}
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	err = o.Exec(sql, ids).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) RemoveByCondition(condition string, pars []interface{}) (err error) {
-	if condition == "" {
-		return
-	}
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	err = o.Exec(sql, pars...).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) GetItemById(id int) (item *BaseFromThsHfIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).First(&item).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *BaseFromThsHfIndex, err error) {
-	o := global.DmSQL["data"]
-	order := ``
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
-	err = o.Raw(sql, pars...).First(&item).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars...).Scan(&count).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromThsHfIndex, err error) {
-	o := global.DmSQL["data"]
-	fields := strings.Join(fieldArr, ",")
-	if len(fieldArr) == 0 {
-		fields = `*`
-	}
-	order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	err = o.Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-func (m *BaseFromThsHfIndex) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BaseFromThsHfIndex, err error) {
-	o := global.DmSQL["data"]
-	fields := strings.Join(fieldArr, ",")
-	if len(fieldArr) == 0 {
-		fields = `*`
-	}
-	order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-
-	pars = append(pars, startSize)
-	pars = append(pars, pageSize)
-
-	err = o.Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-// BaseFromThsHfIndexItem 同花顺高频数据信息
-type BaseFromThsHfIndexItem struct {
-	IndexId      int     `description:"同花顺高频数据ID"`
-	ClassifyId   int     `description:"分类ID"`
-	IndexCode    string  `description:"指标编码"`
-	IndexName    string  `description:"指标名称"`
-	Unit         string  `description:"单位"`
-	Source       string  `description:"数据来源"`
-	Frequency    string  `description:"频度"`
-	StartDate    string  `description:"开始日期(至时分秒)"`
-	EndDate      string  `description:"结束日期(至时分秒)"`
-	Describe     string  `description:"指标描述"`
-	Sort         int     `description:"排序"`
-	StockCode    string  `description:"证券代码"`
-	Indicator    string  `description:"同花顺指标代码"`
-	LatestValue  float64 `description:"最新值"`
-	ClassifyPath string  `description:"完整分类路径"`
-	CreateTime   string  `description:"创建时间"`
-	ModifyTime   string  `description:"修改时间"`
-}
-
-func (m *BaseFromThsHfIndex) Format2Item() (item *BaseFromThsHfIndexItem) {
-	item = new(BaseFromThsHfIndexItem)
-	item.ClassifyId = m.BaseFromThsHfClassifyId
-	item.IndexId = m.BaseFromThsHfIndexId
-	item.IndexCode = m.IndexCode
-	item.IndexName = m.IndexName
-	item.Unit = m.Unit
-	item.Source = m.Source
-	item.Frequency = m.Frequency
-	item.StartDate = utils.TimeTransferString(utils.FormatDateTime, m.StartDate)
-	item.EndDate = utils.TimeTransferString(utils.FormatDateTime, m.EndDate)
-	item.Describe = m.Describe
-	item.Sort = m.Sort
-	item.StockCode = m.StockCode
-	item.Indicator = m.Indicator
-	item.LatestValue = m.LatestValue
-	item.CreateTime = utils.TimeTransferString(utils.FormatDateTime, m.CreateTime)
-	item.ModifyTime = utils.TimeTransferString(utils.FormatDateTime, m.ModifyTime)
-	return
-}
-
-func (m *BaseFromThsHfIndex) UpdateClassifyMulti(ids []int, classifyId int) (err error) {
-	if len(ids) == 0 || classifyId <= 0 {
-		return
-	}
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`UPDATE %s SET %s = ?, %s = NOW() WHERE %s IN (%s)`, m.TableName(), m.Cols().BaseFromThsHfClassifyId, m.Cols().ModifyTime, m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	err = o.Exec(sql, classifyId, ids).Error
-
-	return
-}
-
-// ThsHfSearchEdbReq 搜索指标请求体
-type ThsHfSearchEdbReq struct {
-	StockCode string `form:"StockCode" description:"证券代码" `
-	EdbCode   string `form:"EdbCode" description:"指标代码"`
-	StartTime string `form:"StartTime" description:"每日数据开始时间"`
-	EndTime   string `form:"EndTime" description:"每日数据结束时间"`
-	Interval  int    `form:"Interval" description:"时间周期"`
-	Fill      string `form:"Fill" description:"非交易间隔处理"`
-	CPS       string `form:"CPS" description:"复权方式"`
-	BaseDate  string `form:"BaseDate" description:"复权基点"`
-}
-
-// ThsHfExistCheckResp 指标存在校验响应
-type ThsHfExistCheckResp struct {
-	ExistAll   bool                   `description:"指标是否全部存在: true-是; false-否"`
-	ExistIndex []ThsHfExistCheckIndex `description:"已存在的指标信息"`
-}
-
-// ThsHfExistCheckIndex 指标存在校验-指标信息
-type ThsHfExistCheckIndex struct {
-	IndexId   int    `description:"指标ID"`
-	IndexCode string `description:"指标编码"`
-	IndexName string `description:"指标名称"`
-}
-
-// ThsHfSearchEdbResp 响应体
-type ThsHfSearchEdbResp struct {
-	StockCode string               `description:"证券代码" `
-	EdbCode   string               `description:"指标代码"`
-	IndexName string               `description:"指标名称"`
-	Frequency int                  `description:"频度: 1-60"`
-	IndexData []ThsHfSearchEdbData `description:"指标数据"`
-}
-
-type ThsHfSearchEdbData struct {
-	DataTime string
-	Value    string
-}
-
-// ThsHfIndexWithData 同花顺高频指标
-type ThsHfIndexWithData struct {
-	StockCode string            `description:"证券代码"`
-	EdbCode   string            `description:"指标代码"`
-	IndexData []*ThsHfIndexData `description:"指标数据"`
-}
-
-// ThsHfIndexData 同花顺高频指标数据
-type ThsHfIndexData struct {
-	DataTime time.Time `description:"数据时间(2006-01-02 15:04)"`
-	Value    float64   `description:"数据值"`
-}
-
-// ThsHfIndexDataLibResp 同花顺高频指标-指标库响应
-type ThsHfIndexDataLibResp struct {
-	Ret     int
-	Msg     string
-	ErrMsg  string
-	ErrCode string
-	Data    []*ThsHfIndexWithData
-	Success bool `description:"true 执行成功,false 执行失败"`
-}
-
-// ThsHfAddEdbReq 新增指标请求体
-type ThsHfAddEdbReq struct {
-	StartTime string                   `description:"每日数据开始时间"`
-	EndTime   string                   `description:"每日数据结束时间"`
-	Interval  int                      `description:"时间周期"`
-	Fill      string                   `description:"非交易间隔处理"`
-	CPS       string                   `description:"复权方式"`
-	BaseDate  string                   `description:"复权基点"`
-	IndexList []*ThsHfBaseAddIndexItem `description:"指标信息"`
-}
-
-type ThsHfBaseAddIndexItem struct {
-	ClassifyId int    `description:"分类ID"`
-	Unit       string `description:"单位"`
-	IndexName  string `description:"指标名称"`
-	Frequency  string `description:"频度"`
-	StockCode  string `description:"证券代码"`
-	EdbCode    string `description:"指标代码"`
-}
-
-type ThsHfBaseAddReq struct {
-	StartTime             string `description:"每日数据开始时间"`
-	EndTime               string `description:"每日数据结束时间"`
-	Interval              int    `description:"时间周期"`
-	Fill                  string `description:"非交易间隔处理"`
-	CPS                   string `description:"复权方式"`
-	BaseDate              string `description:"复权基点"`
-	SysAdminId            int    `description:"创建人ID"`
-	SysAdminName          string `description:"创建人姓名"`
-	ThsHfBaseAddIndexItem `description:"指标信息"`
-}
-
-// ThsHfIndexEditReq 编辑指标请求
-type ThsHfIndexEditReq struct {
-	IndexId    int    `description:"指标ID"`
-	IndexName  string `description:"指标名称"`
-	ClassifyId int    `description:"分类ID"`
-	Unit       string `description:"单位"`
-}
-
-// ThsHfIndexOptReq 指标操作请求
-type ThsHfIndexOptReq struct {
-	IndexId int `description:"指标ID"`
-}
-
-// ThsHfIndexListChoiceReq 指标列表选择请求
-type ThsHfIndexListChoiceReq struct {
-	ClassifyId   string `form:"ClassifyId" description:"分类ID(多选)"`
-	IncludeChild bool   `form:"IncludeChild" description:"是否包含子分类"`
-	Frequency    string `form:"Frequency" description:"频度(多选)"`
-	SysAdminId   string `form:"SysAdminId" description:"创建人ID(多选)"`
-	Keywords     string `form:"Keywords" description:"关键词: 指标ID/指标名称"`
-	ListIds      string `form:"ListIds" description:"列表选择项/排除项(全选为true时为排除项)"`
-	SelectAll    bool   `form:"SelectAll" description:"是否全选: true/false"`
-}
-
-// ThsHfIndexListChoiceItem 指标列表选择响应
-type ThsHfIndexListChoiceItem struct {
-	IndexId   int    `description:"指标ID"`
-	IndexCode string `description:"指标编码"`
-	IndexName string `description:"指标名称"`
-}
-
-// ThsHfIndexMultiOptReq 指标批量操作请求
-type ThsHfIndexMultiOptReq struct {
-	IndexIds       []int `description:"指标IDs"`
-	OptType        int   `description:"操作类型: 1-移动分类; 2-删除; 3-刷新"`
-	MoveClassifyId int   `description:"移动至分类ID"`
-	RefreshType    int   `description:"刷新类型: 1-最近6小时; 2-全部刷新"`
-}
-
-// ThsHfIndexListForm 指标列表表单
-type ThsHfIndexListForm struct {
-	PageSize     int    `form:"PageSize" description:"每页数据量"`
-	CurrentIndex int    `form:"CurrentIndex" description:"页码"`
-	SortField    int    `form:"SortField" description:"排序字段: 1-指标开始时间; 2-指标最新时间; 3-更新时间; 4-最新值"`
-	SortType     int    `form:"SortType" description:"排序类型: 1-升序; 2-降序"`
-	ClassifyId   string `form:"ClassifyId" description:"分类ID(多选)"`
-	IncludeChild bool   `form:"IncludeChild" description:"是否包含子分类"`
-	Frequency    string `form:"Frequency" description:"频度(多选)"`
-	SysAdminId   string `form:"SysAdminId" description:"创建人ID(多选)"`
-	Keywords     string `form:"Keywords" description:"关键词: 指标ID/指标名称"`
-}
-
-type ThsHfIndexPageListResp struct {
-	List   []*BaseFromThsHfIndexItem
-	Paging *paging.PagingItem `description:"分页数据"`
-}
-
-func GetThsHfIndexById(indexId int) (item *BaseFromThsHfIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_ths_hf_index WHERE base_from_ths_hf_index_id = ?`
-	err = o.Raw(sql, indexId).First(&item).Error
-
-	return
-}
-
-// UpdateThsHfIndexSortByClassifyId 根据分类id更新排序
-func UpdateThsHfIndexSortByClassifyId(classifyId, nowSort int, prevEdbInfoId int, updateSort string) (err error) {
-	o := global.DmSQL["data"]
-	sql := ` update base_from_ths_hf_index set sort = ` + updateSort + ` WHERE base_from_ths_hf_classify_id=?`
-	if prevEdbInfoId > 0 {
-		sql += ` AND ( sort > ? or ( base_from_ths_hf_index_id > ` + fmt.Sprint(prevEdbInfoId) + ` and sort=` + fmt.Sprint(nowSort) + ` )) `
-	} else {
-		sql += ` AND ( sort > ? )`
-	}
-	err = o.Exec(sql, classifyId, nowSort).Error
-
-	return
-}
-
-// GetThsHfIndexMaxSortByClassifyId 获取分类下指标的最大的排序数
-func GetThsHfIndexMaxSortByClassifyId(classifyId int) (sort int, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT COALESCE(MAX(sort), 0) as sort FROM base_from_ths_hf_index WHERE base_from_ths_hf_classify_id = ?`
-	err = o.Raw(sql, classifyId).Scan(&sort).Error
-
-	return
-}
-
-// GetFirstThsHfIndexByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
-func GetFirstThsHfIndexByClassifyId(classifyId int) (item *BaseFromThsHfIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_ths_hf_index WHERE base_from_ths_hf_classify_id = ? order by sort asc,base_from_ths_hf_index_id asc limit 1`
-	err = o.Raw(sql, classifyId).First(&item).Error
-
-	return
-}
-
-type ThsHfIndexConvert2EdbRule struct {
-	ConvertType  int `description:"转换类型: 1-指定时间值; 2-区间计算值"`
-	ConvertFixed struct {
-		FixedDay  int    `description:"指定时间值日期: 1-当日; 2-前一日"`
-		FixedTime string `description:"指定时间值时点(HH:mm:ss)"`
-	} `description:"指定时间值"`
-	ConvertArea struct {
-		StartDay      int    `description:"起始时间日期: 1-当日; 2-前一日"`
-		StartTime     string `description:"起始时间时点(HH:mm:ss)"`
-		EndDay        int    `description:"截止时间日期: 1-当日; 2-前一日"`
-		EndTime       string `description:"截止时间时点(HH:mm:ss)"`
-		CalculateType int    `description:"计算类型: 1-区间均值; 2-最大值; 3-最小值"`
-	} `description:"区间计算值"`
-}
-
-// ThsHfIndexMultiSave2EdbPreReq 批量添加指标库请求
-type ThsHfIndexMultiSave2EdbPreReq struct {
-	ConvertRule ThsHfIndexConvert2EdbRule
-	IndexIds    []int `description:"指标IDs"`
-}
-
-type ThsHfIndexMultiSave2EdbReq struct {
-	ConvertRule ThsHfIndexConvert2EdbRule
-	NewIndexes  []*ThsHfIndexMultiSave2EdbPreItem `description:"新增指标"`
-}
-
-type ThsHfIndexMultiSave2EdbLibReq struct {
-	ConvertRule ThsHfIndexConvert2EdbRule
-	NewIndex    *ThsHfIndexMultiSave2EdbPreItem `description:"新增指标"`
-}
-
-// ThsHfIndexMultiSave2EdbPreItem 批量新增指标库信息
-type ThsHfIndexMultiSave2EdbPreItem struct {
-	IndexId      int    `description:"指标ID"`
-	IndexCode    string `description:"指标编码"`
-	IndexName    string `description:"原指标名称"`
-	NewIndexName string `description:"新指标名称"`
-	StockCode    string `description:"证券代码"`
-	EdbCode      string `description:"指标代码"`
-	Unit         string `description:"单位"`
-	Frequency    string `description:"原频度"`
-	NewFrequency string `description:"新频度(固定日度)"`
-	ClassifyId   int    `description:"指标库分类ID"`
-	SysAdminId   int    `description:"创建人ID"`
-	SysAdminName string `description:"创建人姓名"`
-	Tips         string `description:"提示信息"`
-	ErrMsg       string `description:"错误信息"`
-}
-
-type ThsHfIndexMultiSave2EdbResp struct {
-	Exist   []*ThsHfIndexMultiSave2EdbPreItem `description:"已存在的指标"`
-	Success []*ThsHfIndexMultiSave2EdbPreItem `description:"添加成功的指标"`
-	Fail    []*ThsHfIndexMultiSave2EdbPreItem `description:"添加失败的指标"`
-}
-
-type ThsHfIndexMultiOptResp struct {
-	Success []*ThsHfIndexBaseInfo `description:"操作成功的指标"`
-	Fail    []*ThsHfIndexBaseInfo `description:"操作失败的指标"`
-}
-
-type ThsHfIndexBaseInfo struct {
-	IndexId   int    `description:"指标ID"`
-	IndexCode string `description:"指标编码"`
-	IndexName string `description:"指标名称"`
-}

+ 0 - 314
models/data_manage/base_from_ths_hf_classify.go

@@ -1,314 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"strings"
-	"time"
-)
-
-// BaseFromThsHfClassify 同花顺高频数据-分类
-type BaseFromThsHfClassify struct {
-	BaseFromThsHfClassifyId int       `orm:"column(base_from_ths_hf_classify_id);pk" gorm:"primaryKey" `
-	ClassifyName            string    `description:"分类名称"`
-	ClassifyNameEn          string    `description:"英文分类名称"`
-	ParentId                int       `description:"父级ID"`
-	SysUserId               int       `description:"创建人ID"`
-	SysUserRealName         string    `description:"创建人姓名"`
-	Level                   int       `description:"层级"`
-	Sort                    int       `description:"排序"`
-	RootId                  int       `description:"顶级分类ID"`
-	LevelPath               string    `description:"层级路径"`
-	UniqueCode              string    `description:"唯一编码"`
-	CreateTime              time.Time `description:"创建时间"`
-	ModifyTime              time.Time `description:"修改时间"`
-}
-
-func (m *BaseFromThsHfClassify) TableName() string {
-	return "base_from_ths_hf_classify"
-}
-
-type BaseFromThsHfClassifyCols struct {
-	PrimaryId       string
-	ClassifyName    string
-	ClassifyNameEn  string
-	ParentId        string
-	SysUserId       string
-	SysUserRealName string
-	Level           string
-	Sort            string
-	RootId          string
-	LevelPath       string
-	UniqueCode      string
-	CreateTime      string
-	ModifyTime      string
-}
-
-func (m *BaseFromThsHfClassify) Cols() BaseFromThsHfClassifyCols {
-	return BaseFromThsHfClassifyCols{
-		PrimaryId:       "base_from_ths_hf_classify_id",
-		ClassifyName:    "classify_name",
-		ClassifyNameEn:  "classify_name_en",
-		ParentId:        "parent_id",
-		SysUserId:       "sys_user_id",
-		SysUserRealName: "sys_user_real_name",
-		Level:           "level",
-		Sort:            "sort",
-		RootId:          "root_id",
-		LevelPath:       "level_path",
-		UniqueCode:      "unique_code",
-		CreateTime:      "create_time",
-		ModifyTime:      "modify_time",
-	}
-}
-
-func (m *BaseFromThsHfClassify) Create() (err error) {
-	err = global.DmSQL["data"].Create(m).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) CreateMulti(items []*BaseFromThsHfClassify) (err error) {
-	if len(items) == 0 {
-		return
-	}
-	err = global.DmSQL["data"].CreateInBatches(items, utils.MultiAddNum).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) Update(cols []string) (err error) {
-	err = global.DmSQL["data"].Select(cols).Updates(m).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) Remove() (err error) {
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = global.DmSQL["data"].Exec(sql, m.BaseFromThsHfClassifyId).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) MultiRemove(ids []int) (err error) {
-	if len(ids) == 0 {
-		return
-	}
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	err = global.DmSQL["data"].Exec(sql, ids).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) RemoveByCondition(condition string, pars []interface{}) (err error) {
-	if condition == "" {
-		return
-	}
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	err = global.DmSQL["data"].Exec(sql, pars).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) GetItemById(id int) (item *BaseFromThsHfClassify, err error) {
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).First(&item).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *BaseFromThsHfClassify, err error) {
-	o := global.DmSQL["data"]
-	order := ``
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
-	err = o.Raw(sql, pars...).First(&item).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars...).Scan(&count).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromThsHfClassify, err error) {
-	o := global.DmSQL["data"]
-	fields := strings.Join(fieldArr, ",")
-	if len(fieldArr) == 0 {
-		fields = `*`
-	}
-	order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	err = o.Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-func (m *BaseFromThsHfClassify) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BaseFromThsHfClassify, err error) {
-	o := global.DmSQL["data"]
-	fields := strings.Join(fieldArr, ",")
-	if len(fieldArr) == 0 {
-		fields = `*`
-	}
-	order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-
-	pars = append(pars, startSize)
-	pars = append(pars, pageSize)
-	err = o.Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-// BaseFromThsHfClassifyItem 同花顺高频数据信息
-type BaseFromThsHfClassifyItem struct {
-	ClassifyId     int                          `description:"分类ID"`
-	ClassifyName   string                       `description:"分类名称"`
-	ClassifyNameEn string                       `description:"英文分类名称"`
-	ParentId       int                          `description:"父级ID"`
-	Level          int                          `description:"层级"`
-	Sort           int                          `description:"排序"`
-	LevelPath      string                       `description:"层级路径"`
-	UniqueCode     string                       `description:"唯一编码"`
-	Children       []*BaseFromThsHfClassifyItem `gorm:"-" description:"子分类"`
-}
-
-func (m *BaseFromThsHfClassify) Format2Item() (item *BaseFromThsHfClassifyItem) {
-	item = new(BaseFromThsHfClassifyItem)
-	item.ClassifyId = m.BaseFromThsHfClassifyId
-	item.ClassifyName = m.ClassifyName
-	item.ClassifyNameEn = m.ClassifyNameEn
-	item.ParentId = m.ParentId
-	item.Level = m.Level
-	item.Sort = m.Sort
-	item.LevelPath = m.LevelPath
-	item.UniqueCode = m.UniqueCode
-	item.Children = make([]*BaseFromThsHfClassifyItem, 0)
-	return
-}
-
-type ThsHfClassifyAddReq struct {
-	ClassifyName string `description:"分类名称"`
-	ParentId     int    `description:"父级ID, 第一级传0"`
-	Level        int    `description:"层级, 第一级传0, 其余传上一级的层级"`
-}
-
-type ThsHfClassifyEditReq struct {
-	ClassifyId   int    `description:"分类ID"`
-	ClassifyName string `description:"分类名称"`
-}
-
-func (m *BaseFromThsHfClassify) GetSortMax(parentId int) (sort int, err error) {
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`SELECT COALESCE(MAX(%s), 0) as sort FROM %s WHERE %s = ?`, m.Cols().Sort, m.TableName(), m.Cols().ParentId)
-	err = o.Raw(sql, parentId).Scan(&sort).Error
-
-	return
-}
-
-type ThsHfClassifyRemoveReq struct {
-	ClassifyId int `description:"分类ID"`
-}
-
-type BaseFromThsHfClassifyListItem struct {
-	ItemType       int                              `description:"类型: 0-分类; 1-指标"`
-	ClassifyId     int                              `description:"分类ID"`
-	ClassifyName   string                           `description:"分类名称"`
-	ClassifyNameEn string                           `description:"英文分类名称"`
-	IndexId        int                              `description:"指标ID"`
-	IndexCode      string                           `description:"指标编码"`
-	IndexName      string                           `description:"指标名称"`
-	ParentId       int                              `description:"父级ID"`
-	Level          int                              `description:"层级"`
-	Sort           int                              `description:"排序"`
-	UniqueCode     string                           `description:"唯一编码, 指标的话用indexCode"`
-	Children       []*BaseFromThsHfClassifyListItem `gorm:"-" description:"子分类"`
-}
-
-type BaseFromThsHfClassifyMoveReq struct {
-	ClassifyId       int `description:"分类ID"`
-	ParentClassifyId int `description:"父级分类ID"`
-	PrevClassifyId   int `description:"上一个兄弟节点分类ID"`
-	NextClassifyId   int `description:"下一个兄弟节点分类ID"`
-	ItemId           int `description:"指标ID, 如果指标ID有值,则移动对象为指标,否则认为移动对象为分类"`
-	PrevItemId       int `description:"上一个指标ID"`
-	NextItemId       int `description:"下一个指标ID"`
-}
-
-func GetThsHfClassifyById(classifyId int) (item *BaseFromThsHfClassify, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_ths_hf_classify WHERE base_from_ths_hf_classify_id = ?`
-	err = o.Raw(sql, classifyId).First(&item).Error
-
-	return
-}
-
-func GetThsHfClassifyByRootIdLevel(rootId int, orderStr string) (items []*BaseFromThsHfClassify, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_ths_hf_classify WHERE root_id = ? `
-	if orderStr != "" {
-		sql += orderStr
-	} else {
-		sql += ` order by level desc, sort asc, base_from_ths_hf_classify_id asc`
-	}
-	err = o.Raw(sql, rootId).Scan(&items).Error
-
-	return
-}
-
-// UpdateThsHfClassifySortByParentId 根据父类id更新排序
-func UpdateThsHfClassifySortByParentId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	sql := ` update base_from_ths_hf_classify set sort = ` + updateSort + ` WHERE parent_id = ? AND sort > ? `
-	if classifyId > 0 {
-		sql += ` or ( base_from_ths_hf_classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
-	}
-	err = global.DmSQL["data"].Exec(sql, parentId, nowSort).Error
-
-	return
-}
-
-// GetFirstThsHfClassifyByParentId 获取当前父级分类下,且排序数相同 的排序第一条的数据
-func GetFirstThsHfClassifyByParentId(parentId int) (item *BaseFromThsHfClassify, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_ths_hf_classify WHERE parent_id = ? order by sort asc,base_from_ths_hf_classify_id asc limit 1`
-	err = o.Raw(sql, parentId).First(&item).Error
-
-	return
-}
-
-func UpdateThsHfClassifyChildByParentClassifyId(classifyIds []int, rootId int, levelStep int) (err error) {
-	o := global.DmSQL["data"]
-	var pars []interface{}
-	pars = append(pars, rootId, levelStep)
-	pars = append(pars, classifyIds)
-	// 更新相关联的二级分类的parentId,和classify_name_second
-	sql := `update base_from_ths_hf_classify SET root_id = ?, level = level+? where base_from_ths_hf_classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `)`
-	err = o.Exec(sql, pars...).Error
-	if err != nil {
-		return
-	}
-
-	return
-}
-
-// GetThsHfClassifyByParentIdAndName 根据父级ID和名称获取分类
-func GetThsHfClassifyByParentIdAndName(parentId int, classifyName string, classifyId int) (item *BaseFromThsHfClassify, err error) {
-	sql := `SELECT * FROM base_from_ths_hf_classify WHERE parent_id = ? AND classify_name = ? AND base_from_ths_hf_classify_id <> ? LIMIT 1`
-	err = global.DmSQL["data"].Raw(sql, parentId, classifyName, classifyId).First(&item).Error
-
-	return
-}

+ 0 - 185
models/data_manage/base_from_ths_hf_data.go

@@ -1,185 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"strings"
-	"time"
-)
-
-// BaseFromThsHfData 同花顺高频数据-指标数据
-type BaseFromThsHfData struct {
-	BaseFromThsHfDataId  int       `orm:"column(base_from_ths_hf_data_id);pk" gorm:"primaryKey" `
-	BaseFromThsHfIndexId int       `description:"指标ID"`
-	IndexCode            string    `description:"指标编码"`
-	DataTime             time.Time `description:"数据日期(至时分秒)"`
-	Value                float64   `description:"数据值"`
-	UniqueCode           string    `description:"唯一编码"`
-	CreateTime           time.Time `description:"创建时间"`
-	ModifyTime           time.Time `description:"修改时间"`
-	DataTimestamp        int64     `description:"数据日期时间戳"`
-}
-
-func (m *BaseFromThsHfData) TableName() string {
-	return "base_from_ths_hf_data"
-}
-
-type BaseFromThsHfDataCols struct {
-	PrimaryId            string
-	BaseFromThsHfIndexId string
-	IndexCode            string
-	DataTime             string
-	Value                string
-	UniqueCode           string
-	CreateTime           string
-	ModifyTime           string
-	DataTimestamp        string
-}
-
-func (m *BaseFromThsHfData) Cols() BaseFromThsHfDataCols {
-	return BaseFromThsHfDataCols{
-		PrimaryId:            "base_from_ths_hf_data_id",
-		BaseFromThsHfIndexId: "base_from_ths_hf_index_id",
-		IndexCode:            "index_code",
-		DataTime:             "data_time",
-		Value:                "value",
-		UniqueCode:           "unique_code",
-		CreateTime:           "create_time",
-		ModifyTime:           "modify_time",
-		DataTimestamp:        "data_timestamp",
-	}
-}
-
-func (m *BaseFromThsHfData) Create() (err error) {
-	err = global.DmSQL["data"].Create(m).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) CreateMulti(items []*BaseFromThsHfData) (err error) {
-	if len(items) == 0 {
-		return
-	}
-	err = global.DmSQL["data"].CreateInBatches(items, utils.MultiAddNum).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) Update(cols []string) (err error) {
-	o := global.DmSQL["data"]
-	err = o.Select(cols).Updates(m).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) Remove() (err error) {
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = global.DmSQL["data"].Exec(sql, m.BaseFromThsHfDataId).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) MultiRemove(ids []int) (err error) {
-	if len(ids) == 0 {
-		return
-	}
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	err = global.DmSQL["data"].Exec(sql, ids).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) RemoveByCondition(condition string, pars []interface{}) (err error) {
-	if condition == "" {
-		return
-	}
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	err = global.DmSQL["data"].Exec(sql, pars).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) GetItemById(id int) (item *BaseFromThsHfData, err error) {
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).First(&item).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *BaseFromThsHfData, err error) {
-	o := global.DmSQL["data"]
-	order := ``
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
-	err = o.Raw(sql, pars...).First(&item).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars...).Scan(&count).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromThsHfData, err error) {
-	o := global.DmSQL["data"]
-	fields := strings.Join(fieldArr, ",")
-	if len(fieldArr) == 0 {
-		fields = `*`
-	}
-	order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	err = o.Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-func (m *BaseFromThsHfData) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BaseFromThsHfData, err error) {
-	o := global.DmSQL["data"]
-	fields := strings.Join(fieldArr, ",")
-	if len(fieldArr) == 0 {
-		fields = `*`
-	}
-	order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
-	if orderRule != "" {
-		order = ` ORDER BY ` + orderRule
-	}
-	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-
-	pars = append(pars, startSize)
-	pars = append(pars, pageSize)
-	err = o.Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-// BaseFromThsHfDataItem 同花顺高频数据信息
-type BaseFromThsHfDataItem struct {
-	DataId     int     `description:"数据ID"`
-	IndexId    int     `description:"指标ID"`
-	IndexCode  string  `description:"指标编码"`
-	DataTime   string  `description:"数据日期(至时分秒)"`
-	Value      float64 `description:"数据值"`
-	UniqueCode string  `description:"唯一编码"`
-}
-
-func (m *BaseFromThsHfData) Format2Item() (item *BaseFromThsHfDataItem) {
-	item = new(BaseFromThsHfDataItem)
-	item.DataId = m.BaseFromThsHfDataId
-	item.IndexId = m.BaseFromThsHfIndexId
-	item.IndexCode = m.IndexCode
-	item.DataTime = utils.TimeTransferString(utils.FormatDateTime, m.DataTime)
-	item.Value = m.Value
-	item.UniqueCode = m.UniqueCode
-	return
-}

+ 0 - 152
models/data_manage/base_from_yongyi.go

@@ -1,152 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"eta_gn/eta_api/utils"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"time"
-)
-
-type BaseFromYongyiIndex struct {
-	YongyiIndexId int `orm:"column(yongyi_index_id);pk" gorm:"primaryKey" `
-	ClassifyId    int
-	IndexCode     string
-	IndexName     string
-	Frequency     string
-	Unit          string
-	Sort          int
-	CreateTime    time.Time
-	ModifyTime    time.Time
-}
-
-type BaseFromYongyiIndexList struct {
-	YongyiIndexId int `orm:"column(yongyi_index_id);pk" gorm:"primaryKey" `
-	ClassifyId    int
-	Interface     string
-	IndexCode     string
-	IndexName     string
-	Frequency     string
-	Unit          string
-	Sort          int
-	CreateTime    string
-	ModifyTime    string
-	DataList      []*BaseFromYongyiData
-	Paging        *paging.PagingItem `description:"分页数据"`
-}
-
-type YongyiSingleDataResp struct {
-	YongyiIndexId int
-	ClassifyId    int
-	IndexCode     string
-	IndexName     string
-	Frequency     string
-	Unit          string
-	StartTime     string
-	CreateTime    string
-	ModifyTime    string
-	Data          []*YongyiSingleData
-}
-
-type YongyiSingleData struct {
-	Value    string `orm:"column(value)" description:"日期"`
-	DataTime string `orm:"column(data_time)" description:"值"`
-}
-
-func GetYongyiIndex(condition string, pars []interface{}) (items []*BaseFromYongyiIndexList, err error) {
-	sql := ` SELECT * FROM base_from_yongyi_index WHERE 1=1  `
-	if condition != "" {
-		sql += condition
-	}
-	sql += ` ORDER BY sort ASC, yongyi_index_id asc`
-	err = global.DmSQL["data"].Raw(sql, pars...).Scan(&items).Error
-
-	return
-}
-
-func GetYongyiIndexDataCount(indexCode string) (count int, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT COUNT(1) AS count  FROM base_from_yongyi_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).Scan(&count).Error
-
-	return
-}
-
-func GetYongyiIndexData(indexCode string, startSize, pageSize int) (items []*BaseFromYongyiData, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT *  FROM base_from_yongyi_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	err = o.Raw(sql, indexCode, startSize, pageSize).Scan(&items).Error
-
-	return
-}
-
-func GetYongyiIndexDataByCodes(indexCode []string) (items []*BaseFromYongyiData, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT *  FROM base_from_yongyi_data WHERE index_code in (` + utils.GetOrmInReplace(len(indexCode)) + `) ORDER BY data_time DESC  `
-	err = o.Raw(sql, indexCode).Scan(&items).Error
-
-	return
-}
-
-type BaseFromYongyiData struct {
-	YongyiDataId  int `orm:"column(yongyi_data_id);pk" gorm:"primaryKey" `
-	YongyiIndexId int
-	IndexCode     string
-	DataTime      string
-	Value         string
-	CreateTime    string
-	ModifyTime    string
-	DataTimestamp int64
-}
-
-type BaseFromYongyiIndexSearchItem struct {
-	YongyiIndexId int `orm:"column(yongyi_index_id);pk" gorm:"primaryKey" `
-	ClassifyId    int
-	IndexCode     string
-	IndexName     string
-}
-
-// GetYongyiItemList 模糊查询Yongyi数据库指标列表
-func GetYongyiItemList(condition string) (items []*BaseFromYongyiIndexSearchItem, err error) {
-	o := global.DmSQL["data"]
-	sql := "SELECT * FROM base_from_yongyi_index  WHERE 1=1"
-	if condition != "" {
-		sql += condition
-	}
-	err = o.Raw(sql).Scan(&items).Error
-
-	return
-}
-
-func GetYongyiIndexDataByCode(indexCode string) (list []*BaseFromYongyiData, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_yongyi_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}
-
-func GetBaseFromYongyiIndexByIndexCode(indexCode string) (list *BaseFromYongyiIndex, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_yongyi_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).First(&list).Error
-
-	return
-}
-
-type BaseFromYongyiIndexType struct {
-	Type2 string `orm:"column(type_2)"`
-	Type3 string `orm:"column(type_3)"`
-}
-
-// Update 更新Yongyi指标基础信息
-func (item *BaseFromYongyiIndex) Update(cols []string) (err error) {
-	err = global.DmSQL["data"].Select(cols).Updates(item).Error
-
-	return
-}
-
-// EditYongyiIndexInfoResp 新增指标的返回
-type EditYongyiIndexInfoResp struct {
-	YongyiIndexId int    `description:"指标ID"`
-	IndexCode     string `description:"指标code"`
-}

+ 0 - 88
models/data_manage/base_from_yongyi_classify.go

@@ -1,88 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"time"
-)
-
-// BaseFromYongyiClassify Yongyi原始数据分类表
-type BaseFromYongyiClassify struct {
-	ClassifyId      int       `orm:"column(classify_id);pk" gorm:"primaryKey" `
-	ClassifyName    string    `description:"分类名称"`
-	ParentId        int       `description:"父级id"`
-	SysUserId       int       `description:"创建人id"`
-	SysUserRealName string    `description:"创建人姓名"`
-	Level           int       `description:"层级"`
-	Sort            int       `description:"排序字段,越小越靠前,默认值:10"`
-	ModifyTime      time.Time `description:"修改时间"`
-	CreateTime      time.Time `description:"创建时间"`
-}
-
-type BaseFromYongyiClassifyItems struct {
-	ClassifyId      int                            `description:"分类ID"`
-	YongyiIndexId   int                            `description:"指标类型ID"`
-	YongyiIndexCode string                         `description:"指标唯一编码"`
-	ClassifyName    string                         `description:"分类名称"`
-	ParentId        int                            `description:"父级id"`
-	Level           int                            `description:"层级"`
-	Sort            int                            `description:"排序字段,越小越靠前,默认值:10"`
-	Children        []*BaseFromYongyiClassifyItems `gorm:"-"`
-}
-
-type BaseFromYongyiClassifyNameItems struct {
-	ClassifyId   int    `description:"分类ID"`
-	ClassifyName string `description:"分类名称"`
-	ParentId     int    `description:"父级id"`
-}
-
-type BaseFromYongyiClassifyResp struct {
-	List []*BaseFromYongyiClassifyItems
-}
-
-type BaseFromYongyiClassifyNameResp struct {
-	List []*BaseFromYongyiClassifyNameItems
-}
-
-type BaseFromYongyiClassifyItemsButton struct {
-	AddButton    bool `description:"是否可添加"`
-	OpButton     bool `description:"是否可编辑"`
-	DeleteButton bool `description:"是否可删除"`
-	MoveButton   bool `description:"是否可移动"`
-}
-
-// GetAllBaseFromYongyiClassify 获取所有的分类列表数据
-func GetAllBaseFromYongyiClassify() (items []*BaseFromYongyiClassifyItems, err error) {
-	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM base_from_yongyi_classify order by parent_id asc, sort asc,classify_id asc`
-	err = o.Raw(sql).Scan(&items).Error
-
-	return
-}
-
-type DeleteBaseFromYongyiClassifyReq struct {
-	ClassifyId int `description:"分类id"`
-	EdbInfoId  int `description:"指标id"`
-}
-
-type BaseFromYongyiClassifyListResp struct {
-	AllNodes      []*BaseFromYongyiClassifyItems
-	CanOpClassify bool `description:"是否允许操作分类"`
-}
-
-type BaseFromYongyiClassifySimplify struct {
-	ClassifyId   int    `description:"分类id"`
-	ClassifyName string `description:"分类名称"`
-	ParentId     int
-}
-
-// Update 更新分类基础信息
-func (BaseFromYongyiClassify *BaseFromYongyiClassify) Update(cols []string) (err error) {
-	o := global.DmSQL["data"]
-	err = o.Select(cols).Updates(BaseFromYongyiClassify).Error
-
-	return
-}
-
-type AddYongyiClassifyResp struct {
-	ClassifyId int
-}

+ 0 - 26
models/data_manage/edb_data_baiinfo.go

@@ -1,26 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-)
-
-type BaseFromBaiinfoDataSimple struct {
-	BaiinfoDataId          int `orm:"column(baiinfo_data_id);pk" gorm:"primaryKey" `
-	BaseFromBaiinfoIndexId int
-	IndexCode              string
-	DataTime               string
-	Value                  string
-}
-
-func GetEdbDataBaiinfoMaxAndMinDate(edbCode string) (min_date, max_date string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_baiinfo WHERE edb_code=? `
-	var tmpData SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpData).Error
-	if err != nil {
-		return
-	}
-	min_date = tmpData.MinDate
-	max_date = tmpData.MaxDate
-
-	return
-}

+ 0 - 79
models/data_manage/edb_data_cffex.go

@@ -1,79 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-	"time"
-)
-
-type CffexData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-type BaseFromCffexDataSimple struct {
-	Id        int `orm:"column(base_from_trade_cffex_index_id);pk" gorm:"primaryKey" `
-	DealCode  string
-	BuyCode   string
-	SoldCode  string
-	DataTime  string
-	DealValue string
-	BuyValue  string
-	SoldValue string
-}
-
-type BaseInfoFromCffex struct {
-	DealName string
-	BuyName  string
-	SoldName string
-}
-
-type BaseFromTradeCFFEXIndex struct {
-	BaseFromTradeCffexIndexId int `orm:"column(base_from_trade_cffex_index_id);pk" gorm:"primaryKey" `
-	Rank                      int
-	DealShortName             string
-	DealName                  string
-	DealCode                  string
-	DealValue                 string
-	DealChange                int
-	BuyShortName              string
-	BuyName                   string
-	BuyCode                   string
-	BuyValue                  string
-	BuyChange                 int
-	SoldShortName             string
-	SoldName                  string
-	SoldCode                  string
-	SoldValue                 string
-	SoldChange                int
-	Frequency                 string
-	ClassifyName              string
-	ClassifyType              string
-	CreateTime                time.Time
-	ModifyTime                time.Time
-	DataTime                  string
-}
-
-func GetEdbDataCffexMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_cffex WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-// GetBaseInfoFromCffexByIndexCode 获取指标信息
-func GetBaseInfoFromCffexByIndexCode(indexCode, suffix string) (list []*BaseInfoFromCffex, err error) {
-	sql := `SELECT * FROM base_from_trade_cffex_index WHERE %s_code=? `
-	sql = fmt.Sprintf(sql, suffix)
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}

+ 0 - 79
models/data_manage/edb_data_coal.go

@@ -1,79 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-	"time"
-)
-
-type CoalData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-type BaseFromCoalDataSimple struct {
-	Id        int `orm:"column(base_from_trade_coal_index_id);pk" gorm:"primaryKey" `
-	DealCode  string
-	BuyCode   string
-	SoldCode  string
-	DataTime  string
-	DealValue string
-	BuyValue  string
-	SoldValue string
-}
-
-type BaseInfoFromCoal struct {
-	IndexName string
-	Frequency string
-	Unit      string
-}
-
-type BaseFromTradeCoalIndex struct {
-	BaseFromTradeCoalIndexId int `orm:"column(base_from_trade_coal_index_id);pk" gorm:"primaryKey" `
-	Rank                     int
-	DealShortName            string
-	DealName                 string
-	DealCode                 string
-	DealValue                string
-	DealChange               int
-	BuyShortName             string
-	BuyName                  string
-	BuyCode                  string
-	BuyValue                 string
-	BuyChange                int
-	SoldShortName            string
-	SoldName                 string
-	SoldCode                 string
-	SoldValue                string
-	SoldChange               int
-	Frequency                string
-	ClassifyName             string
-	ClassifyType             string
-	CreateTime               time.Time
-	ModifyTime               time.Time
-	DataTime                 string
-}
-
-func GetEdbDataCoalMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_coal WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-// GetBaseInfoFromCoalByIndexCode 获取指标信息
-func GetBaseInfoFromCoalByIndexCode(indexCode, suffix string) (list []*BaseInfoFromCoal, err error) {
-	sql := `SELECT * FROM base_from_coalmine_%s WHERE index_code=? `
-	sql = fmt.Sprintf(sql, suffix)
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}

+ 0 - 79
models/data_manage/edb_data_dl.go

@@ -1,79 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-	"time"
-)
-
-type DlData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-type BaseFromDlDataSimple struct {
-	Id        int `orm:"column(base_from_trade_dalian_index_id);pk" gorm:"primaryKey" `
-	DealCode  string
-	BuyCode   string
-	SoldCode  string
-	DataTime  string
-	DealValue string
-	BuyValue  string
-	SoldValue string
-}
-
-type BaseInfoFromDl struct {
-	DealName string
-	BuyName  string
-	SoldName string
-}
-
-type BaseFromTradeDalianIndex struct {
-	BaseFromTradeDalianIndexId int `orm:"column(base_from_trade_dalian_index_id);pk" gorm:"primaryKey" `
-	Rank                       int
-	DealShortName              string
-	DealName                   string
-	DealCode                   string
-	DealValue                  string
-	DealChange                 int
-	BuyShortName               string
-	BuyName                    string
-	BuyCode                    string
-	BuyValue                   string
-	BuyChange                  int
-	SoldShortName              string
-	SoldName                   string
-	SoldCode                   string
-	SoldValue                  string
-	SoldChange                 int
-	Frequency                  string
-	ClassifyName               string
-	ClassifyType               string
-	CreateTime                 time.Time
-	ModifyTime                 time.Time
-	DataTime                   string
-}
-
-func GetEdbDataDlMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_dl WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-// GetBaseInfoFromDalianByIndexCode 获取指标信息
-func GetBaseInfoFromDalianByIndexCode(indexCode, suffix string) (list []*BaseInfoFromDl, err error) {
-	sql := `SELECT * FROM base_from_trade_dalian_index WHERE %s_code=? `
-	sql = fmt.Sprintf(sql, suffix)
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}

+ 0 - 21
models/data_manage/edb_data_fubao.go

@@ -1,21 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-)
-
-// 富宝数据
-func GetEdbDataFubaoMaxOrMinDate(edbCode string) (min_date, max_date string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_ths WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	min_date = tmpDate.MinDate
-	max_date = tmpDate.MaxDate
-
-	return
-}

+ 0 - 93
models/data_manage/edb_data_gie.go

@@ -1,93 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-	"time"
-)
-
-type GieData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-func GetEdbDataGieMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_gie WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-type EicIndexV2 struct {
-	BaseFromEicIndexId     int `orm:"column(base_from_eic_index_id);pk" gorm:"primaryKey" `
-	Type                   string
-	EicCode                string
-	Name                   string
-	Status                 string
-	GasDayStart            string
-	GasInStorage           string
-	GasInStorageCode       string
-	Consumption            string
-	ConsumptionCode        string
-	ConsumptionFull        string
-	ConsumptionFullCode    string
-	Full                   string
-	FullCode               string
-	Trend                  string
-	TrendCode              string
-	Injection              string
-	InjectionCode          string
-	Withdrawal             string
-	WithdrawalCode         string
-	WorkingGasVolume       string
-	WorkingGasVolumeCode   string
-	InjectionCapacity      string
-	InjectionCapacityCode  string
-	WithdrawalCapacity     string
-	WithdrawalCapacityCode string
-	Info                   string
-	Parent                 string
-	CreateTime             time.Time
-	ModifyTime             time.Time
-	Children               []BaseFromTradeEicIndexV2 `gorm:"-"`
-}
-
-func GetBaseFromEicDataAllByIndexCodeV2(indexCode, suffix string) (list []*BaseFromTradeEicIndexV2, err error) {
-	var name string
-	if suffix == "" {
-		name = "eic_code"
-	} else if suffix == "GS" {
-		name = "gas_in_storage_code"
-	} else if suffix == "C" {
-		name = "consumption_code"
-	} else if suffix == "CF" {
-		name = "consumption_full_code"
-	} else if suffix == "F" {
-		name = "full_code"
-	} else if suffix == "T" {
-		name = "trend_code"
-	} else if suffix == "In" {
-		name = "injection_code"
-	} else if suffix == "Out" {
-		name = "withdrawal_code"
-	} else if suffix == "WGV" {
-		name = "working_gas_volume_code"
-	} else if suffix == "IC" {
-		name = "injection_capacity_code"
-	} else if suffix == "WC" {
-		name = "withdrawal_capacity_code"
-	}
-	sql := `SELECT * FROM base_from_trade_eic_index_v2 WHERE %s=? `
-	sql = fmt.Sprintf(sql, name)
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}

+ 0 - 25
models/data_manage/edb_data_gl.go

@@ -1,25 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-)
-
-func GetEdbDataGlMaxOrMinDate(edbCode string) (min_date, max_date string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_gl WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	min_date = tmpDate.MinDate
-	max_date = tmpDate.MaxDate
-
-	return
-}
-
-type GlData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}

+ 0 - 47
models/data_manage/edb_data_gz.go

@@ -1,47 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-)
-
-type GzData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-func GetEdbDataGzMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_gz WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-type GzIndexView struct {
-	BaseFromTradeGuangzhouIndexId    int     `description:"指标id"`
-	BaseFromTradeGuangzhouClassifyId int     `description:"分类id"`
-	IndexCode                        string  `description:"指标编码"`
-	IndexName                        string  `description:"指标名称"`
-	Frequency                        string  `description:"频率"`
-	Unit                             string  `description:"单位"`
-	StartDate                        string  `description:"开始日期"`
-	EndDate                          string  `description:"结束日期"`
-	Value                            float64 `description:"数据"`
-}
-
-// GetBaseInfoFromShByIndexCode 获取指标信息
-func GetBaseInfoFromGzByIndexCode(indexCode string) (item *GzIndexView, err error) {
-	sql := `SELECT * FROM base_from_trade_guangzhou_index WHERE index_code=? `
-	sql = fmt.Sprintf(sql)
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&item).Error
-
-	return
-}

+ 0 - 47
models/data_manage/edb_data_icpi.go

@@ -1,47 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-)
-
-type IcpiData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-func GetEdbDataIcpiMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_icpi WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-type IcpiIndexView struct {
-	BaseFromTradeGuangzhouIndexId    int     `description:"指标id"`
-	BaseFromTradeGuangzhouClassifyId int     `description:"分类id"`
-	IndexCode                        string  `description:"指标编码"`
-	IndexName                        string  `description:"指标名称"`
-	Frequency                        string  `description:"频率"`
-	Unit                             string  `description:"单位"`
-	StartDate                        string  `description:"开始日期"`
-	EndDate                          string  `description:"结束日期"`
-	Value                            float64 `description:"数据"`
-}
-
-// GetBaseInfoFromShByIndexCode 获取指标信息
-func GetBaseInfoFromIcpiByIndexCode(indexCode string) (item *IcpiIndexView, err error) {
-	sql := `SELECT * FROM base_from_icpi_index WHERE index_code=? `
-	sql = fmt.Sprintf(sql)
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&item).Error
-
-	return
-}

+ 0 - 20
models/data_manage/edb_data_lz.go

@@ -1,20 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-)
-
-func GetEdbDataLzMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_lz WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}

+ 6 - 1
models/data_manage/edb_data_manual.go

@@ -5,10 +5,15 @@ import (
 	"time"
 )
 
+type BaseDataMaxOrMinDate struct {
+	MinDate string `json:"min_date"`
+	MaxDate string `json:"max_date"`
+}
+
 func GetEdbDataManualMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
 	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_manual WHERE edb_code=? `
 
-	var tmpDate SmmMaxOrMinDate
+	var tmpDate BaseDataMaxOrMinDate
 	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
 	if err != nil {
 		return

+ 0 - 29
models/data_manage/edb_data_mysteel_chemical.go

@@ -1,29 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-)
-
-// GetEdbDataMysteelChemicalMaxOrMinDate 根据钢联化工指标code获取最大、最小日期
-func GetEdbDataMysteelChemicalMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_mysteel_chemical WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-// 更新钢联化工指标的刷新状态
-func UpdateMysteelChemicalRefreshStatus(edbCode string, isStop int) (err error) {
-	sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE index_code =? and is_stop=1`
-	err = global.DmSQL["data"].Exec(sql, isStop, edbCode).Error
-
-	return
-}

+ 0 - 48
models/data_manage/edb_data_oilchem.go

@@ -1,48 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-)
-
-type OilchemData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-func GetEdbDataOilchemMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_oilchem WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-type BaseFromOilchemIndexItem struct {
-	BaseFromSciIndexId int    `orm:"column(base_from_oilchem_index_id);pk" gorm:"primaryKey" ` // 主键,自动递增
-	IndexCode          string // 指标编码
-	IndexName          string // 指标名称
-	ClassifyId         int    // 分类Id
-	Unit               string // 单位
-	Frequency          string // 频度
-	Describe           string // 指标描述
-	CreateTime         string // 创建时间
-	ModifyTime         string // 修改时间
-}
-
-// GetBaseInfoFromOilchemByIndexCode 获取指标信息
-func GetBaseInfoFromOilchemByIndexCode(indexCode string) (item *BaseFromOilchemIndexItem, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_oilchem_index WHERE index_code=? `
-	sql = fmt.Sprintf(sql)
-	err = o.Raw(sql, indexCode).Scan(&item).Error
-
-	return
-}

+ 0 - 35
models/data_manage/edb_data_pb.go

@@ -1,35 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"time"
-)
-
-type EdbDataPb struct {
-	EdbDataId     int `gorm:"primaryKey" `
-	EdbInfoId     int
-	EdbCode       string
-	DataTime      string
-	Value         float64
-	Status        int
-	CreateTime    time.Time
-	ModifyTime    time.Time
-	Ticker        string
-	Field         string
-	DataTimestamp int64
-}
-
-func GetEdbDataPbMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_pb WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}

+ 0 - 20
models/data_manage/edb_data_sci.go

@@ -1,20 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-)
-
-func GetEdbDataSciMaxAndMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_sci WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}

+ 0 - 47
models/data_manage/edb_data_sci99.go

@@ -1,47 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-)
-
-type Sci99Data struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-func GetEdbDataSci99MaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_sci99 WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-type BaseFromSci99IndexItem struct {
-	BaseFromSciIndexId int    `orm:"column(base_from_sci99_index_id);pk" gorm:"primaryKey" ` // 主键,自动递增
-	IndexCode          string // 指标编码
-	IndexName          string // 指标名称
-	ClassifyId         int    // 分类Id
-	Unit               string // 单位
-	Frequency          string // 频度
-	Describe           string // 指标描述
-	CreateTime         string // 创建时间
-	ModifyTime         string // 修改时间
-}
-
-// GetBaseInfoFromSci99ByIndexCode 获取指标信息
-func GetBaseInfoFromSci99ByIndexCode(indexCode string) (item *BaseFromSci99IndexItem, err error) {
-	sql := `SELECT * FROM base_from_sci99_index WHERE index_code=? `
-	sql = fmt.Sprintf(sql)
-	err = global.DmSQL["data"].Raw(sql, indexCode).First(&item).Error
-
-	return
-}

+ 0 - 20
models/data_manage/edb_data_sci_hq.go

@@ -1,20 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-)
-
-func GetEdbDataSciHqMaxAndMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_sci_hq WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}

+ 0 - 79
models/data_manage/edb_data_sh.go

@@ -1,79 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-	"time"
-)
-
-type ShData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-type BaseFromShDataSimple struct {
-	Id        int `orm:"column(base_from_trade_shanghai_index_id);pk" gorm:"primaryKey" `
-	DealCode  string
-	BuyCode   string
-	SoldCode  string
-	DataTime  string
-	DealValue string
-	BuyValue  string
-	SoldValue string
-}
-
-type BaseInfoFromSh struct {
-	DealName string
-	BuyName  string
-	SoldName string
-}
-
-type BaseFromTradeShIndex struct {
-	BaseFromTradeShIndexId int `orm:"column(base_from_trade_shanghai_index_id);pk" gorm:"primaryKey" `
-	Rank                   int
-	DealShortName          string
-	DealName               string
-	DealCode               string
-	DealValue              string
-	DealChange             int
-	BuyShortName           string
-	BuyName                string
-	BuyCode                string
-	BuyValue               string
-	BuyChange              int
-	SoldShortName          string
-	SoldName               string
-	SoldCode               string
-	SoldValue              string
-	SoldChange             int
-	Frequency              string
-	ClassifyName           string
-	ClassifyType           string
-	CreateTime             time.Time
-	ModifyTime             time.Time
-	DataTime               string
-}
-
-func GetEdbDataShMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_sh WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-// GetBaseInfoFromShByIndexCode 获取指标信息
-func GetBaseInfoFromShByIndexCode(indexCode, suffix string) (list []*BaseInfoFromSh, err error) {
-	sql := `SELECT * FROM base_from_trade_shanghai_index WHERE %s_code=? `
-	sql = fmt.Sprintf(sql, suffix)
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}

+ 0 - 79
models/data_manage/edb_data_shfe.go

@@ -1,79 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-	"time"
-)
-
-type ShfeData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-type BaseFromShfeDataSimple struct {
-	Id        int `orm:"column(base_from_trade_ine_index_id);pk" gorm:"primaryKey" `
-	DealCode  string
-	BuyCode   string
-	SoldCode  string
-	DataTime  string
-	DealValue string
-	BuyValue  string
-	SoldValue string
-}
-
-type BaseInfoFromShfe struct {
-	DealName string
-	BuyName  string
-	SoldName string
-}
-
-type BaseFromTradeShfeIndex struct {
-	BaseFromTradeShfeIndexId int `orm:"column(base_from_trade_ine_index_id);pk" gorm:"primaryKey" `
-	Rank                     int
-	DealShortName            string
-	DealName                 string
-	DealCode                 string
-	DealValue                string
-	DealChange               int
-	BuyShortName             string
-	BuyName                  string
-	BuyCode                  string
-	BuyValue                 string
-	BuyChange                int
-	SoldShortName            string
-	SoldName                 string
-	SoldCode                 string
-	SoldValue                string
-	SoldChange               int
-	Frequency                string
-	ClassifyName             string
-	ClassifyType             string
-	CreateTime               time.Time
-	ModifyTime               time.Time
-	DataTime                 string
-}
-
-func GetEdbDataShfeMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_ine WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-// GetBaseInfoFromShfeByIndexCode 获取指标信息
-func GetBaseInfoFromShfeByIndexCode(indexCode, suffix string) (list []*BaseInfoFromShfe, err error) {
-	sql := `SELECT * FROM base_from_trade_ine_index WHERE %s_code=? `
-	sql = fmt.Sprintf(sql, suffix)
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}

+ 0 - 33
models/data_manage/edb_data_ths.go

@@ -1,33 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"time"
-)
-
-type EdbDataThs struct {
-	EdbDataId     int `gorm:"primaryKey" `
-	EdbInfoId     int
-	EdbCode       string
-	DataTime      string
-	Value         float64
-	Status        int
-	CreateTime    time.Time
-	ModifyTime    time.Time
-	DataTimestamp int64
-}
-
-func GetEdbDataThsMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_ths WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}

+ 0 - 34
models/data_manage/edb_data_wind.go

@@ -3,42 +3,8 @@ package data_manage
 import (
 	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"time"
 )
 
-type EdbDataWind struct {
-	EdbDataId     int `gorm:"primaryKey" `
-	EdbInfoId     int
-	EdbCode       string
-	DataTime      string
-	Value         float64
-	Status        int
-	CreateTime    time.Time
-	ModifyTime    time.Time
-	DataTimestamp int64
-}
-
-func GetEdbDataWindMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_wind WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-type EdbDataFromWind struct {
-	Close  map[string]float64 `json:"CLOSE"`
-	Dt     map[string]int64   `json:"DT"`
-	ErrMsg string
-}
-
 func EdbInfoUpdateStatusByEdbInfoId(edbInfoIds []int, isStop int, calculateEdbInfoIds []int) (err error) {
 	o := global.DmSQL["data"].Begin()
 	defer func() {

+ 0 - 92
models/data_manage/edb_data_ys.go

@@ -1,92 +0,0 @@
-/**
-* @Author: jgl
-* @Date: 2021/9/14 13:33
- */
-
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-)
-
-type BaseFromSmmDataSimple struct {
-	SmmDataId          int `orm:"column(smm_data_id);pk" gorm:"primaryKey" `
-	BaseFromSmmIndexId int
-	IndexCode          string
-	DataTime           string
-	Value              string
-}
-
-func GetEdbDataYsMaxAndMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_ys WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-type TokenResp struct {
-	Code int       `json:"Code"`
-	Msg  string    `json:"Msg"`
-	Data TokenData `json:"Data"`
-}
-
-type TokenData struct {
-	Token string `json:"Token"`
-}
-
-// request response
-type DataResp struct {
-	Code int      `json:"Code"`
-	Msg  string   `json:"Msg"`
-	Data *ApiData `json:"Data"`
-}
-
-// api data response
-type ApiData struct {
-	Status  int        `json:"Status"` //0 no permission,1 ok
-	Field   []ApiField `json:"Field"`
-	Content [][]string `json:"Content"`
-}
-
-// api title
-type ApiField struct {
-	Unit       string `json:"Unit"`
-	Info       string `json:"Info"`
-	Name       string `json:"Name"`
-	ColumnType string `json:"ColumnType"`
-	ColIndex   uint   `json:"ColIndex"`
-	IsDate     string `json:"IsDate"`
-}
-
-type YsResult struct {
-	Code int64 `json:"Code"`
-	Data struct {
-		CompanyList []interface{} `json:"CompanyList"`
-		Content     [][]string    `json:"Content"`
-		Field       []struct {
-			ColIndex   int64  `json:"ColIndex"`
-			ColumnType string `json:"ColumnType"`
-			Info       string `json:"Info"`
-			IsDate     string `json:"IsDate"`
-			Name       string `json:"Name"`
-			Unit       string `json:"Unit"`
-			DBColName  string `json:"db_col_name"`
-		} `json:"Field"`
-		CountPage   int64  `json:"count_page"`
-		CurrentPage int64  `json:"current_page"`
-		Frequency   string `json:"frequency"`
-		Mindate     string `json:"mindate"`
-		PageNum     int64  `json:"page_num"`
-		Status      int64  `json:"status"`
-		TotalNum    int64  `json:"total_num"`
-	} `json:"Data"`
-	Msg string `json:"Msg"`
-}

+ 0 - 80
models/data_manage/edb_data_zz.go

@@ -1,80 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"fmt"
-	"time"
-)
-
-type ZzData struct {
-	InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
-	DataTime   string `orm:"column(DATA_DATE)" description:"值"`
-}
-
-type BaseFromZzDataSimple struct {
-	Id        int `orm:"column(base_from_trade_zhengzhou_index_id);pk" gorm:"primaryKey" `
-	DealCode  string
-	BuyCode   string
-	SoldCode  string
-	DataTime  string
-	DealValue string
-	BuyValue  string
-	SoldValue string
-}
-
-type BaseInfoFromZz struct {
-	DealName string
-	BuyName  string
-	SoldName string
-}
-
-type BaseFromTradeZhengzhouIndex struct {
-	BaseFromTradeZhengzhouIndexId int `orm:"column(base_from_trade_zhengzhou_index_id);pk" gorm:"primaryKey" `
-	Rank                          int
-	DealShortName                 string
-	DealName                      string
-	DealCode                      string
-	DealValue                     string
-	DealChange                    int
-	BuyShortName                  string
-	BuyName                       string
-	BuyCode                       string
-	BuyValue                      string
-	BuyChange                     int
-	SoldShortName                 string
-	SoldName                      string
-	SoldCode                      string
-	SoldValue                     string
-	SoldChange                    int
-	Frequency                     string
-	ClassifyName                  string
-	ClassifyType                  string
-	CreateTime                    time.Time
-	ModifyTime                    time.Time
-	DataTime                      string
-}
-
-func GetEdbDataZzMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
-	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_zz WHERE edb_code=? `
-
-	var tmpDate SmmMaxOrMinDate
-	err = global.DmSQL["data"].Raw(sql, edbCode).Scan(&tmpDate).Error
-	if err != nil {
-		return
-	}
-
-	minDate = tmpDate.MinDate
-	maxDate = tmpDate.MaxDate
-
-	return
-}
-
-// GetBaseInfoFromZhengzhouByIndexCode 获取指标信息
-func GetBaseInfoFromZhengzhouByIndexCode(indexCode, suffix string) (list []*BaseInfoFromZz, err error) {
-	o := global.DmSQL["data"]
-	sql := `SELECT * FROM base_from_trade_zhengzhou_index WHERE %s_code=? `
-	sql = fmt.Sprintf(sql, suffix)
-	err = o.Raw(sql, indexCode).Scan(&list).Error
-
-	return
-}

+ 0 - 283
models/data_manage/smm_data.go

@@ -1,283 +0,0 @@
-package data_manage
-
-import (
-	"eta_gn/eta_api/global"
-	"eta_gn/eta_api/utils"
-	"github.com/rdlucklib/rdluck_tools/paging"
-)
-
-type SmmClassify struct {
-	TypeName string `orm:"column(type_name)" description:"分类名称"`
-	TypeCode string `orm:"column(type_code)" description:"分类名称编码"`
-}
-
-type SmmFrequency struct {
-	Frequency string `description:"频度"`
-}
-
-func GetSmmFrequencyByClassifyId(classifyId int) (items []*GlFrequency, err error) {
-	sql := ` SELECT frequency FROM base_from_smm_index WHERE classify_id = ? `
-	sql += ` GROUP BY frequency ORDER BY frequency ASC `
-	err = global.DmSQL["data"].Raw(sql, classifyId).Find(&items).Error
-	return
-}
-
-type SmmIndex struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey" `
-	Interface          string
-	Name               string
-	IndexCode          string
-	IndexName          string
-	Type1              string `orm:"column(type_1)"`
-	Type2              string `orm:"column(type_2)"`
-	Type3              string `orm:"column(type_3)"`
-	Frequency          string
-	Unit               string
-	ApiStartTime       string
-	ApiUpdateTime      string
-	StartTime          string
-	FinishTime         string
-	CreateTime         string
-	ModifyTime         string
-	IsStop             int     `description:"是否停更:1:停更,0:未停更"`
-	EndValue           float64 `description:"指标的最新值"`
-}
-
-type SmmIndexItem struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey" `
-	ClassifyId         int
-	ParentClassifyId   int
-	Interface          string
-	Name               string
-	IndexCode          string
-	IndexName          string
-	Type1              string `orm:"column(type_1)"`
-	Type2              string `orm:"column(type_2)"`
-	Type3              string `orm:"column(type_3)"`
-	Frequency          string
-	Unit               string
-	ApiStartTime       string
-	ApiUpdateTime      string
-	StartTime          string
-	FinishTime         string
-	CreateTime         string
-	ModifyTime         string
-	IsStop             int     `description:"是否停更:1:停更,0:未停更"`
-	EndValue           float64 `description:"指标的最新值"`
-}
-
-func GetSmmIndex(condition string, pars []interface{}) (items []*SmmIndex, err error) {
-	sql := ` SELECT * FROM base_from_smm_index WHERE 1=1  `
-	if condition != "" {
-		sql += condition
-	}
-	sql += `ORDER BY sort ASC, base_from_smm_index_id asc`
-	err = global.DmSQL["data"].Raw(sql, pars...).Find(&items).Error
-	return
-}
-
-// GetSmmIndexById
-// @Description: 根据id获取指标信息
-// @author: Roc
-// @datetime 2024-01-10 14:25:26
-// @param basFromSmmIndexId int
-// @return item *SmmIndex
-// @return err error
-func GetSmmIndexById(basFromSmmIndexId int) (item *SmmIndex, err error) {
-	sql := ` SELECT * FROM base_from_smm_index WHERE base_from_smm_index_id = ?  `
-	err = global.DmSQL["data"].Raw(sql, basFromSmmIndexId).First(&item).Error
-	return
-}
-
-type SmmExportIndex struct {
-	TypeName   string
-	IndexCode  string
-	IndexName  string
-	Type1      string `orm:"column(type_1)"`
-	Type2      string `orm:"column(type_2)"`
-	Type3      string `orm:"column(type_3)"`
-	Frequency  string
-	Unit       string
-	ModifyTime string
-}
-
-func GetSmmFrequency(classifyId int) (items []*string, err error) {
-	sql := `SELECT DISTINCT frequency FROM base_from_smm_index WHERE classify_id=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	err = global.DmSQL["data"].Raw(sql, classifyId).Find(&items).Error
-	return
-}
-
-func GetSmmFrequencyByCode(code string) (items []*string, err error) {
-	sql := `SELECT DISTINCT frequency FROM base_from_smm_index WHERE index_code=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	err = global.DmSQL["data"].Raw(sql, code).Find(&items).Error
-	return
-}
-
-type SmmIndexList struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey" `
-	Interface          string
-	Name               string
-	IndexCode          string
-	IndexName          string
-	Type1              string `orm:"column(type_1)"`
-	Type2              string `orm:"column(type_2)"`
-	Type3              string `orm:"column(type_3)"`
-	Frequency          string
-	Unit               string
-	ApiStartTime       string
-	ApiUpdateTime      string
-	StartTime          string
-	FinishTime         string
-	ModifyTime         string
-	DataList           []*SmmIndexData
-	Paging             *paging.PagingItem `description:"分页数据"`
-}
-
-type SmmIndexData struct {
-	Value    string `orm:"column(value)" description:"日期"`
-	DataTime string `orm:"column(data_time)" description:"值"`
-}
-
-func GetSmmIndexData(indexCode string, startSize, pageSize int) (items []*SmmIndexData, err error) {
-	sql := ` SELECT *  FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	err = global.DmSQL["data"].Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
-	return
-}
-
-func GetSmmIndexDataCount(indexCode string) (count int, err error) {
-	sql := ` SELECT COUNT(1) AS count  FROM base_from_smm_data WHERE index_code=? `
-	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&count).Error
-	return
-}
-
-// GetSmmItemList 模糊查询Smm数据库指标列表
-func GetSmmItemList(keyword string) (items []*SmmIndexItem, err error) {
-	sql := "SELECT * FROM base_from_smm_index WHERE CONCAT(index_name,index_code) LIKE ? "
-	err = global.DmSQL["data"].Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
-	return
-}
-
-func GetSmmIndexDataByCode(indexCode string) (items []*SmmIndexData, err error) {
-	sql := ` SELECT *  FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC  `
-	err = global.DmSQL["data"].Raw(sql, indexCode).Find(&items).Error
-	return
-}
-
-func GetSmmDataMaxCount(classifyId int) (count int, err error) {
-	sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM (
-				SELECT COUNT(1) AS num  FROM base_from_smm_index AS a
-				INNER JOIN base_from_smm_data AS b ON a.index_code=b.index_code
-				WHERE a.classify_id=?
-				GROUP BY a.base_from_smm_index_id
-			)AS t `
-	err = global.DmSQL["data"].Raw(sql, classifyId).Scan(&count).Error
-	return
-}
-
-type ExportSmmDataMaxCount struct {
-	TypeName string
-	Count    int
-}
-
-type ExportSmmIndexData struct {
-	Value     string `orm:"column(value)" description:"日期"`
-	DataTime  string `orm:"column(data_time)" description:"值"`
-	IndexCode string `orm:"column(index_code)" description:"指标编码"`
-}
-
-// GetSmmBaseInfoList
-// @Description: 获取有色数据列表
-// @author: Roc
-// @datetime 2024-01-10 14:28:29
-// @param condition string
-// @param pars []interface{}
-// @param orderBy string
-// @param startSize int
-// @param pageSize int
-// @return total int
-// @return items []*BaseRefreshEdbInfo
-// @return err error
-func GetSmmBaseInfoList(condition string, pars []interface{}, orderBy string, startSize, pageSize int) (total int, items []*BaseRefreshEdbInfo, err error) {
-	// 数量汇总
-	totalSql := ` SELECT count(1) FROM base_from_smm_index WHERE 1=1 `
-	if condition != "" {
-		totalSql += condition
-	}
-	err = global.DmSQL["data"].Raw(totalSql, pars...).Scan(&total).Error
-	if err != nil {
-		return
-	}
-
-	// 列表数据
-	sql := ` SELECT base_from_smm_index_id as edb_info_id, classify_id,index_code,index_name,end_date,end_value,frequency,is_stop,terminal_code FROM base_from_smm_index WHERE 1=1  `
-	if condition != "" {
-		sql += condition
-	}
-
-	if orderBy != "" {
-		sql += ` ORDER BY ` + orderBy
-	} else {
-		sql += ` ORDER BY base_from_smm_index_id ASC `
-	}
-	sql += `  LIMIT ?,? `
-
-	pars = append(pars, startSize)
-	pars = append(pars, pageSize)
-	err = global.DmSQL["data"].Raw(sql, pars...).Find(&items).Error
-	return
-}
-
-// ModifySmmUpdateStatus
-// @Description:  修改有色数据停更状态
-// @author: Roc
-// @datetime 2024-01-08 16:23:31
-// @param edbIdList []int
-// @param indexCodeList []string
-// @param isStop int
-// @return err error
-func ModifySmmUpdateStatus(edbIdList []int, indexCodeList []string, isStop int) (err error) {
-	idNum := len(edbIdList)
-	if idNum <= 0 {
-		return
-	}
-	to := global.DmSQL["data"].Begin()
-
-	defer func() {
-		if err != nil {
-			_ = to.Rollback()
-		} else {
-			_ = to.Commit()
-		}
-	}()
-
-	// 更改数据源的更新状态
-	sql := ` UPDATE base_from_smm_index SET is_stop = ? WHERE base_from_smm_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-	err = to.Exec(sql, isStop, edbIdList).Error
-	if err != nil {
-		return
-	}
-
-	codeNum := len(indexCodeList)
-	if codeNum <= 0 {
-		// 需要通过指标id列表查找code列表
-		sql := ` SELECT index_code FROM base_from_smm_index WHERE base_from_smm_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-		err = to.Raw(sql, edbIdList).Find(&indexCodeList).Error
-		if err != nil {
-			return
-		}
-	}
-
-	codeNum = len(indexCodeList)
-	// 查出来的编码是空的话,那么就直接返回了
-	if codeNum <= 0 {
-		return
-	}
-
-	// 更改指标的更新状态
-	sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND sub_source= ? AND edb_code IN (` + utils.GetOrmInReplace(codeNum) + `) `
-	err = to.Exec(sql, isStop, utils.DATA_SOURCE_YS, 0, indexCodeList).Error
-	if err != nil {
-		return
-	}
-	return
-}

+ 0 - 10
models/db2.go

@@ -203,18 +203,11 @@ func initEdbData() {
 	orm.RegisterModel(
 		new(data_manage.EdbClassify),
 		new(data_manage.EdbInfo), //hz_data库的edb_info表
-		new(data_manage.EdbDataThs),
-		new(data_manage.EdbDataWind),
-		new(data_manage.EdbDataPb),
 		new(data_manage.ManualUserClassify),
 		new(data_manage.EdbdataClassify),
 		new(data_manage.ManualUser),
 		new(data_manage.EdbInfoCalculate),
 		new(data_manage.SearchKeyword),
-		new(data_manage.BaseFromSmm), //orm删除到此
-		new(data_manage.BaseFromSmmIndex),
-		new(data_manage.BaseFromSmmData),
-		new(data_manage.BaseFromSmmClassify),
 		new(data_manage.EdbInfoLog),
 		new(data_manage.EdbInfoRecord),
 		new(data_manage.EdbInfoCalculateMapping),
@@ -232,9 +225,6 @@ func initEdbData() {
 		new(data_manage.EdbDataInsertConfig),      // 指标数据插入配置表
 		new(data_manage.EdbInfoNoPermissionAdmin), //指标不可见用户配置表
 		new(data_manage.EdbTerminal),              //指标终端
-		new(data_manage.BaseFromThsHfIndex),
-		new(data_manage.BaseFromThsHfData),
-		new(data_manage.BaseFromThsHfClassify),
 		new(data_manage.BaseFromEdbMapping),
 		new(data_manage.EdbInfoRelation), //指标关系表
 	)

+ 0 - 387
routers/commentsRouter.go

@@ -2608,168 +2608,6 @@ func init() {
 			Filters:          nil,
 			Params:           nil})
 
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "ClassifyAdd",
-			Router:           `/ths_hf/classify/add`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "ClassifyEdit",
-			Router:           `/ths_hf/classify/edit`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "ClassifyList",
-			Router:           `/ths_hf/classify/list`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "ClassifyMove",
-			Router:           `/ths_hf/classify/move`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "ClassifyRemove",
-			Router:           `/ths_hf/classify/remove`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "ClassifyTree",
-			Router:           `/ths_hf/classify/tree`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "Add",
-			Router:           `/ths_hf/index/add`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "Detail",
-			Router:           `/ths_hf/index/detail`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "Edit",
-			Router:           `/ths_hf/index/edit`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "ExistCheck",
-			Router:           `/ths_hf/index/exist_check`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "List",
-			Router:           `/ths_hf/index/list`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "ListChoice",
-			Router:           `/ths_hf/index/list_choice`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "MultiOpt",
-			Router:           `/ths_hf/index/multi_opt`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "Refresh",
-			Router:           `/ths_hf/index/refresh`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "Remove",
-			Router:           `/ths_hf/index/remove`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "Save2Edb",
-			Router:           `/ths_hf/index/save2edb`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "Save2EdbPre",
-			Router:           `/ths_hf/index/save2edb_pre`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BaseFromThsHfController"],
-		beego.ControllerComments{
-			Method:           "Search",
-			Router:           `/ths_hf/index/search`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
 	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BloombergDataController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:BloombergDataController"],
 		beego.ControllerComments{
 			Method:           "AddCheck",
@@ -4318,24 +4156,6 @@ func init() {
 			Filters:          nil,
 			Params:           nil})
 
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmExistCheck",
-			Router:           `/edb_info/smm/exist/check`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "EdbInfoSmmSearch",
-			Router:           `/edb_info/smm/search`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
 	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
 		beego.ControllerComments{
 			Method:           "TraceEdbInfo",
@@ -4462,15 +4282,6 @@ func init() {
 			Filters:          nil,
 			Params:           nil})
 
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "ExportSmmList",
-			Router:           `/export/smmList`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
 	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
 		beego.ControllerComments{
 			Method:           "GlClassify",
@@ -4660,159 +4471,6 @@ func init() {
 			Filters:          nil,
 			Params:           nil})
 
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmApiList",
-			Router:           `/smm/api/list`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmApiTypeList",
-			Router:           `/smm/api/type/list`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmClassify",
-			Router:           `/smm/classify`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "AddSmmClassify",
-			Router:           `/smm/classify/add`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "DeleteSmmClassify",
-			Router:           `/smm/classify/del`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "EditSmmClassify",
-			Router:           `/smm/classify/edit`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "MoveSmmClassify",
-			Router:           `/smm/classify/move`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmClassifyName",
-			Router:           `/smm/classify/name`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmData",
-			Router:           `/smm/data`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "DeleteSmmData",
-			Router:           `/smm/del`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "EditSmm",
-			Router:           `/smm/edit`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmFrequency",
-			Router:           `/smm/frequency`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmIndexList",
-			Router:           `/smm/index/list`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "MoveSmmData",
-			Router:           `/smm/move`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "ResetSmmData",
-			Router:           `/smm/reset`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmSearchList",
-			Router:           `/smm/search_list`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "SmmSingleData",
-			Router:           `/smm/single_data`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
 	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
 		beego.ControllerComments{
 			Method:           "WindClassify",
@@ -4831,51 +4489,6 @@ func init() {
 			Filters:          nil,
 			Params:           nil})
 
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "YongyiClassify",
-			Router:           `/yongyi/classify`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "ExportYongyiList",
-			Router:           `/yongyi/export`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "YongyiIndexData",
-			Router:           `/yongyi/index/data`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "YongyiSearchList",
-			Router:           `/yongyi/search_list`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
-	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "YongyiSingleData",
-			Router:           `/yongyi/single_data`,
-			AllowHTTPMethods: []string{"get"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
-
 	beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoRelationController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:EdbInfoRelationController"],
 		beego.ControllerComments{
 			Method:           "RelationEdbListDetail",

+ 0 - 1
routers/router.go

@@ -163,7 +163,6 @@ func init() {
 				&data_manage_permission.DataMangePermissionController{},
 				&data_manage.BloombergDataController{},
 				&data_manage.EdbBusinessController{},
-				&data_manage.BaseFromThsHfController{},
 				&data_manage.EdbInfoRelationController{},
 				&data_manage.FactorEdbSeriesController{},
 				&data_manage.EdbCollectController{},

+ 0 - 629
services/data/base_from_smm.go

@@ -1,629 +0,0 @@
-/**
-* @Author: jgl
-* @Date: 2021/9/14 11:15
- */
-
-package data
-
-import (
-	"errors"
-	"eta_gn/eta_api/models/data_manage"
-	"eta_gn/eta_api/models/system"
-	"eta_gn/eta_api/utils"
-	"time"
-)
-
-type YsIndex struct {
-	Code int64 `json:"code"`
-	Data struct {
-		Apis []struct {
-			Aid           int64  `json:"aid"`
-			APILabel      string `json:"api_label"`
-			APIStartTime  string `json:"api_start_time"`
-			APIType       int64  `json:"api_type"`
-			APITypeAll    string `json:"api_type_all"`
-			APIUpdate     int64  `json:"api_update"`
-			APIUpdateTime string `json:"api_update_time"`
-			APIUpdateType string `json:"api_update_type"`
-			AuthDur       int64  `json:"auth_dur"`
-			AuthDurType   string `json:"auth_dur_type"`
-			AuthLang      string `json:"auth_lang"`
-			AuthModule    string `json:"auth_module"`
-			EditPerson    string `json:"edit_person"`
-			EditTime      string `json:"edit_time"`
-			Enable        string `json:"enable"`
-			FinishTime    string `json:"finish_time"`
-			Interface     string `json:"interface"`
-			Name          string `json:"name"`
-			StartTime     string `json:"start_time"`
-			Type1         string `json:"type_1"`
-			Type2         string `json:"type_2"`
-			Type3         string `json:"type_3"`
-		} `json:"apis"`
-		Types []struct {
-			Name string `json:"name"`
-			Tid  int64  `json:"tid"`
-		} `json:"types"`
-	} `json:"data"`
-	Msg string `json:"msg"`
-}
-
-const (
-	dataUrl = "https://dataapi.smm.cn/GetData/" //data url (中文)
-	//dataUrl = "https://dataapi.smm.cn/GetDataEn/" //data url (english edition)
-	authUrl = "https://platform.smm.cn/usercenter/auth" // auth url (for all)
-)
-
-type TokenResp struct {
-	Code int       `json:"Code"`
-	Msg  string    `json:"Msg"`
-	Data TokenData `json:"Data"`
-}
-
-type TokenData struct {
-	Token string `json:"Token"`
-}
-
-// request response
-type DataResp struct {
-	Code int      `json:"Code"`
-	Msg  string   `json:"Msg"`
-	Data *ApiData `json:"Data"`
-}
-
-// api data response
-type ApiData struct {
-	Status  int        `json:"Status"` //0 no permission,1 ok
-	Field   []ApiField `json:"Field"`
-	Content [][]string `json:"Content"`
-}
-
-// api title
-type ApiField struct {
-	Unit       string `json:"Unit"`
-	Info       string `json:"Info"`
-	Name       string `json:"Name"`
-	ColumnType string `json:"ColumnType"`
-	ColIndex   uint   `json:"ColIndex"`
-	IsDate     string `json:"IsDate"`
-}
-
-type YsResult struct {
-	Code int64 `json:"Code"`
-	Data struct {
-		CompanyList []interface{} `json:"CompanyList"`
-		Content     [][]string    `json:"Content"`
-		Field       []struct {
-			ColIndex   int64  `json:"ColIndex"`
-			ColumnType string `json:"ColumnType"`
-			Info       string `json:"Info"`
-			IsDate     string `json:"IsDate"`
-			Name       string `json:"Name"`
-			Unit       string `json:"Unit"`
-			DBColName  string `json:"db_col_name"`
-		} `json:"Field"`
-		CountPage   int64  `json:"count_page"`
-		CurrentPage int64  `json:"current_page"`
-		Frequency   string `json:"frequency"`
-		Mindate     string `json:"mindate"`
-		PageNum     int64  `json:"page_num"`
-		Status      int64  `json:"status"`
-		TotalNum    int64  `json:"total_num"`
-	} `json:"Data"`
-	Msg string `json:"Msg"`
-}
-
-// AddSmmClassify 添加SMM分类
-func AddSmmClassify(classifyName string, parentId, sysUserId int, sysUserName, lang string) (classifyInfo *data_manage.BaseFromSmmClassify, err error, errMsg string) {
-	// 校验分类名称相同的数量
-	{
-		var count int
-		switch lang {
-		case utils.EnLangVersion:
-			count, err = data_manage.GetBaseFromSmmClassifyEnCount(classifyName, parentId)
-		default:
-			count, err = data_manage.GetBaseFromSmmClassifyCount(classifyName, parentId)
-		}
-		if err != nil {
-			errMsg = `判断名称是否已存在失败`
-			return
-		}
-		if count > 0 {
-			errMsg = `分类名称已存在,请重新输入`
-			err = errors.New(errMsg)
-			return
-		}
-	}
-
-	level := 1
-	if parentId > 0 {
-		parentClassify, e := data_manage.GetBaseFromSmmClassifyById(parentId)
-		if e != nil {
-			if utils.IsErrNoRow(e) {
-				err = e
-				errMsg = `一级分类不存在`
-				return
-			}
-			err = e
-			errMsg = `查询一级分类失败`
-			return
-		}
-		level = parentClassify.Level + 1
-	}
-	classifyInfo = &data_manage.BaseFromSmmClassify{
-		ClassifyName:    classifyName,
-		ClassifyNameEn:  classifyName,
-		ParentId:        parentId,
-		SysUserId:       sysUserId,
-		SysUserRealName: sysUserName,
-		Sort:            0,
-		Level:           level,
-		ModifyTime:      time.Now(),
-		CreateTime:      time.Now(),
-	}
-	classifyId, err := data_manage.AddBaseFromSmmClassify(classifyInfo)
-	if err != nil {
-		errMsg = "保存分类失败"
-		return
-	}
-	classifyInfo.ClassifyId = int(classifyId)
-	//更新sort为classifyId
-	err = data_manage.UpdateBaseFromSmmClassifySort(int(classifyId))
-	return
-}
-
-// EditSmmClassify 编辑Smm分类
-func EditSmmClassify(classifyId int, classifyName, lang string, sysUser *system.Admin) (err error, errMsg string) {
-	item, err := data_manage.GetBaseFromSmmClassifyById(classifyId)
-	if err != nil {
-		errMsg = `保存失败`
-		return
-	}
-
-	switch lang {
-	case utils.EnLangVersion:
-		// 名字相同,那么就直接返回
-		if item.ClassifyNameEn == classifyName {
-			return
-		}
-
-		// 判断名称是否已存在
-		count, tmpErr := data_manage.GetBaseFromSmmClassifyEnCount(classifyName, item.ParentId)
-		if tmpErr != nil {
-			err = tmpErr
-			errMsg = "判断名称是否已存在失败"
-			return
-		}
-		if count > 0 {
-			errMsg = "分类名称已存在,请重新输入"
-			err = errors.New(errMsg)
-			return
-		}
-
-		// 修改数据
-		err = data_manage.EditBaseFromSmmClassifyEn(classifyId, classifyName)
-		if err != nil {
-			errMsg = "保存失败"
-		}
-	default:
-		// 名字相同,那么就直接返回
-		if item.ClassifyName == classifyName {
-			return
-		}
-
-		// 判断名称是否已存在
-		count, tmpErr := data_manage.GetBaseFromSmmClassifyCount(classifyName, item.ParentId)
-		if tmpErr != nil {
-			err = tmpErr
-			errMsg = "判断名称是否已存在失败"
-			return
-		}
-		if count > 0 {
-			errMsg = "分类名称已存在,请重新输入"
-			err = errors.New(errMsg)
-			return
-		}
-
-		// 修改数据
-		err = data_manage.EditBaseFromSmmClassify(classifyId, classifyName)
-		if err != nil {
-			errMsg = "保存失败"
-		}
-	}
-
-	return
-}
-
-// MoveSmmClassify 移动Smm分类
-func MoveSmmClassify(classifyId, parentClassifyId, prevClassifyId, nextClassifyId int) (err error, errMsg string) {
-	//判断分类是否存在
-	classifyInfo, err := data_manage.GetBaseFromSmmClassifyById(classifyId)
-	if err != nil {
-		errMsg = "移动失败"
-		err = errors.New("获取分类信息失败,Err:" + err.Error())
-		return
-	}
-
-	updateCol := make([]string, 0)
-
-	//判断上级id是否一致,如果不一致的话,那么需要移动该分类层级
-	if classifyInfo.ParentId != parentClassifyId && parentClassifyId != 0 {
-		parentClassifyInfo, tmpErr := data_manage.GetBaseFromSmmClassifyById(parentClassifyId)
-		if tmpErr != nil {
-			errMsg = "移动失败"
-			err = errors.New("获取上级分类信息失败,Err:" + tmpErr.Error())
-			return
-		}
-		classifyInfo.ParentId = parentClassifyInfo.ClassifyId
-		classifyInfo.Level = parentClassifyInfo.Level + 1
-		updateCol = append(updateCol, "ParentId", "Level")
-	}
-	var currentSort, prevSort, nextSort int
-	currentSort = classifyInfo.Sort
-
-	var prevClassify *data_manage.BaseFromSmmClassify
-	var nextClassify *data_manage.BaseFromSmmClassify
-	//如果有传入 上一个兄弟节点分类id
-	if prevClassifyId > 0 {
-		prevClassify, err = data_manage.GetBaseFromSmmClassifyById(prevClassifyId)
-		if err != nil {
-			if utils.IsErrNoRow(err) {
-				errMsg = "移动失败"
-				err = errors.New("上一个兄弟节点分类信息不存在" + err.Error())
-				return
-			}
-			errMsg = "移动失败"
-			err = errors.New("获取上一个兄弟节点分类信息失败,Err:" + err.Error())
-			return
-		}
-		prevSort = prevClassify.Sort
-	}
-	if nextClassifyId > 0 {
-		//下一个兄弟节点
-		nextClassify, err = data_manage.GetBaseFromSmmClassifyById(nextClassifyId)
-		if err != nil {
-			if utils.IsErrNoRow(err) {
-				errMsg = "移动失败"
-				err = errors.New("下一个兄弟节点分类信息不存在" + err.Error())
-				return
-			}
-			errMsg = "移动失败"
-			err = errors.New("获取下一个兄弟节点分类信息失败,Err:" + err.Error())
-			return
-		}
-		nextSort = nextClassify.Sort
-	}
-	// 修改历史数据中的排序为0的情况
-	if prevSort == 0 && nextSort == 0 { //目标是让当前分类处于目录的最顶部
-		//更新为0排序的数据为当前最小排序
-		if nextClassify != nil {
-			minSort, e := data_manage.GetSmmIndexClassifyMinSort(parentClassifyId)
-			if e != nil {
-				errMsg = "移动失败"
-				err = errors.New("获取下一个兄弟节点分类信息失败,Err:" + e.Error())
-				return
-			}
-			if minSort > 1 {
-				minSort -= 1
-			}
-			nextClassify.Sort = minSort
-			err = nextClassify.Update([]string{"Sort"})
-			if err != nil {
-				errMsg = "移动失败"
-				err = errors.New("更新下一个兄弟节点分类信息失败,Err:" + err.Error())
-				return
-			}
-			nextSort = minSort
-		}
-	}
-	//移到两个排序值中间操作
-	if prevSort >= currentSort {
-		//往下移动
-		err = data_manage.MoveDownSmmIndexClassifyBySort(parentClassifyId, prevSort, currentSort)
-		if err != nil {
-			err = errors.New("向下移动出错:" + err.Error())
-			return
-		}
-		classifyInfo.Sort = prevSort
-	} else if nextSort <= currentSort && nextSort != 0 {
-		//往上移动
-		err = data_manage.MoveUpSmmIndexClassifyBySort(parentClassifyId, nextSort, currentSort)
-		if err != nil {
-			err = errors.New("向上移动出错:" + err.Error())
-			return
-		}
-		classifyInfo.Sort = nextSort
-	}
-	classifyInfo.ModifyTime = time.Now()
-	updateCol = append(updateCol, "Sort", "ModifyTime")
-	err = classifyInfo.Update(updateCol)
-	if err != nil {
-		errMsg = "移动失败"
-		err = errors.New("修改失败,Err:" + err.Error())
-		return
-	}
-	return
-}
-
-// DelSmmClassify 删除SMM分类
-func DelSmmClassify(classifyId int, sysUser *system.Admin) (err error, errMsg string) {
-	//判断分类是否存在
-	classifyInfo, err := data_manage.GetBaseFromSmmClassifyById(classifyId)
-	if err != nil {
-		errMsg = "删除失败"
-		err = errors.New("获取分类信息失败,Err:" + err.Error())
-		return
-	}
-
-	// 需要删除的分类id集合
-	classifyIdList := make([]int, 0)
-	classifyIdList = append(classifyIdList, classifyId)
-	// 查找所有的子集id
-	if classifyInfo.ParentId <= 0 {
-		childrenClassifyInfoList, tmpErr := data_manage.GetBaseFromSmmClassifyByParentId(classifyId)
-		if tmpErr != nil {
-			errMsg = "删除失败"
-			err = errors.New("获取分类信息失败,Err:" + tmpErr.Error())
-			return
-		}
-		for _, v := range childrenClassifyInfoList {
-			classifyIdList = append(classifyIdList, v.ClassifyId)
-		}
-	}
-
-	// 获取分类下的所有指标
-	count, err := data_manage.GetBaseFromSmmIndexCountByClassifyIds(classifyIdList)
-	if err != nil {
-		errMsg = "删除失败"
-		err = errors.New("获取分类下的指标信息失败,Err:" + err.Error())
-		return
-	}
-
-	if count > 0 {
-		errMsg = "该分类下有指标,不可删除"
-		err = errors.New("该分类下有指标,不可删除")
-		return
-	}
-
-	// 删除对应的分类
-	err = data_manage.DeleteSmmClassifyByClassifyId(classifyIdList)
-	if err != nil {
-		return
-	}
-	return
-}
-
-// MoveSmmData2 移动SMM指标
-func MoveSmmData2(indexId, classifyId, prevIndexId, nextIndexId int) (err error, errMsg string) {
-	//分类信息
-	smmIndex, err := data_manage.GetBaseFromSmmIndexByIndexId(indexId)
-	if err != nil {
-		errMsg = `获取数据失败`
-		if utils.IsErrNoRow(err) {
-			errMsg = `该指标未入库`
-			err = nil
-		}
-		return
-	}
-
-	//判断分类是否存在
-	if classifyId > 0 {
-		_, err = data_manage.GetBaseFromSmmClassifyById(classifyId)
-		if err != nil {
-			errMsg = "移动失败"
-			err = errors.New("获取分类信息失败,Err:" + err.Error())
-			if utils.IsErrNoRow(err) {
-				errMsg = "找不到该分类"
-				err = nil
-			}
-			return
-		}
-	}
-
-	//如果改变了分类,那么移动该图表数据
-	if smmIndex.ClassifyId != classifyId {
-		tmpErr := data_manage.MoveBaseFromSmmIndex(indexId, classifyId)
-		if tmpErr != nil {
-			errMsg = "移动失败"
-			err = errors.New("移动失败,Err:" + tmpErr.Error())
-			return
-		}
-	}
-
-	//移动排序
-	updateCol := make([]string, 0)
-	var currentSort, prevSort, nextSort int
-	currentSort = smmIndex.Sort
-	//如果有传入 上一个兄弟节点分类id
-	var prevIndex *data_manage.BaseFromSmmIndex
-	var nextIndex *data_manage.BaseFromSmmIndex
-	if prevIndexId > 0 {
-		prevIndex, err = data_manage.GetBaseFromSmmIndexByIndexId(prevIndexId)
-		if err != nil {
-			if utils.IsErrNoRow(err) {
-				errMsg = "移动失败"
-				err = errors.New("上一个兄弟节点指标信息不存在" + err.Error())
-				return
-			}
-			errMsg = "移动失败"
-			err = errors.New("获取上一个兄弟节点指标信息失败,Err:" + err.Error())
-			return
-		}
-		prevSort = prevIndex.Sort
-	}
-
-	if nextIndexId > 0 {
-		//下一个兄弟节点
-		nextIndex, err = data_manage.GetBaseFromSmmIndexByIndexId(nextIndexId)
-		if err != nil {
-			if utils.IsErrNoRow(err) {
-				errMsg = "移动失败"
-				err = errors.New("下一个兄弟节点指标信息不存在" + err.Error())
-				return
-			}
-			errMsg = "移动失败"
-			err = errors.New("获取下一个兄弟节点指标信息失败,Err:" + err.Error())
-			return
-		}
-		nextSort = nextIndex.Sort
-	}
-
-	// 修改历史数据中的排序为0的情况
-	if prevSort == 0 && nextSort == 0 { //目标是让当前分类处于目录的最顶部, 但是历史数据里下个节点的sort为0的情况
-		//更新为0排序的数据为当前最小排序
-		if nextIndex != nil {
-			minSort, e := data_manage.GetBaseFromSmmIndexMinSortByClassifyId(classifyId)
-			if e != nil {
-				errMsg = "移动失败"
-				err = errors.New("获取下一个兄弟节点分类信息失败,Err:" + e.Error())
-				return
-			}
-			if minSort > 1 {
-				minSort -= 1
-			}
-			nextIndex.Sort = minSort
-			err = nextIndex.Update([]string{"Sort"})
-			if err != nil {
-				errMsg = "移动失败"
-				err = errors.New("更新下一个兄弟节点分类信息失败,Err:" + err.Error())
-				return
-			}
-			nextSort = minSort
-		}
-	}
-	//移到两个排序值中间操作
-	if prevSort >= currentSort {
-		//往下移动
-		err = data_manage.MoveDownSmmIndexBySort(classifyId, prevSort, currentSort)
-		if err != nil {
-			err = errors.New("向下移动出错:" + err.Error())
-			return
-		}
-		smmIndex.Sort = prevSort
-	} else if nextSort <= currentSort && nextSort != 0 {
-		//往上移动
-		err = data_manage.MoveUpSmmIndexBySort(classifyId, nextSort, currentSort)
-		if err != nil {
-			err = errors.New("向上移动出错:" + err.Error())
-			return
-		}
-		smmIndex.Sort = nextSort
-	}
-
-	//更新
-	smmIndex.ModifyTime = time.Now()
-	updateCol = append(updateCol, "Sort", "ModifyTime")
-	err = smmIndex.Update(updateCol)
-	if err != nil {
-		errMsg = "移动失败"
-		err = errors.New("修改失败,Err:" + err.Error())
-		return
-	}
-	return
-}
-
-// EditSmmIndex 编辑SMM指标
-func EditSmmIndex(indexId, classifyId int, sysUser *system.Admin) (baseFromSmmIndex *data_manage.BaseFromSmmIndex, err error, errMsg string) {
-	baseFromSmmIndex, err = data_manage.GetBaseFromSmmIndexByIndexId(indexId)
-	if err != nil {
-		errMsg = `获取数据失败`
-		if utils.IsErrNoRow(err) {
-			errMsg = `该指标未入库`
-			err = nil
-		}
-		return
-	}
-
-	baseFromSmmIndex.ClassifyId = classifyId
-	baseFromSmmIndex.ModifyTime = time.Now()
-	err = baseFromSmmIndex.Update([]string{"ClassifyId", "ModifyTime"})
-	if err != nil {
-		errMsg = "保存分类失败"
-	}
-
-	return
-}
-
-// DelSmmData 删除SMM指标
-func DelSmmData(indexId int) (err error, errMsg string) {
-	baseFromSmmIndex, err := data_manage.GetBaseFromSmmIndexByIndexId(indexId)
-	if err != nil {
-		errMsg = `获取数据失败`
-		if utils.IsErrNoRow(err) {
-			errMsg = `该指标未入库`
-			err = nil
-		}
-		return
-	}
-
-	// 获取已经加入到EDB指标库的Smm指标
-	edbInfo, err := data_manage.GetEdbInfoByEdbCode(utils.DATA_SOURCE_YS, baseFromSmmIndex.IndexCode)
-	if err != nil && !utils.IsErrNoRow(err) {
-		errMsg = "删除失败"
-		err = errors.New("获取分类下的指标信息失败,Err:" + err.Error())
-		return
-	}
-	if edbInfo != nil {
-		errMsg = "当前指标已被引用,不可删除"
-		err = nil
-		return
-	}
-
-	// 删除对应的分类和指标
-	err = data_manage.DeleteBaseFromSmmIndexById(indexId)
-	if err != nil {
-		return
-	}
-
-	return
-}
-
-// ResetSmmData 指标数据清除分类接口
-func ResetSmmData(indexId int) (err error, errMsg string) {
-	smmIndex, err := data_manage.GetBaseFromSmmIndexByIndexId(indexId)
-	if err != nil {
-		errMsg = `获取数据失败`
-		if utils.IsErrNoRow(err) {
-			errMsg = `该指标未入库`
-			err = nil
-		}
-		return
-	}
-
-	// 更新指标在未分类下的排序,永远排在未分类的最后一个
-	//移动排序
-	classifyId := 0
-	updateCol := make([]string, 0)
-	var currentSort, prevSort int
-	currentSort = smmIndex.Sort
-	//未分类的最大的sort值
-	prevSort, err = data_manage.GetBaseFromSmmIndexMaxSortByClassifyId(classifyId)
-	if err != nil {
-		errMsg = "移动失败"
-		err = errors.New("获取上一个兄弟节点指标信息失败,Err:" + err.Error())
-		return
-	}
-
-	//如果前面一个节点的sort值比当前大,则当前节点往下移动
-	if prevSort >= currentSort {
-		//往下移动
-		err = data_manage.MoveDownSmmIndexBySort(classifyId, prevSort, currentSort)
-		if err != nil {
-			err = errors.New("向下移动出错:" + err.Error())
-			return
-		}
-		smmIndex.Sort = prevSort
-	}
-
-	//更新
-	smmIndex.ModifyTime = time.Now()
-	smmIndex.ClassifyId = classifyId
-	updateCol = append(updateCol, "Sort", "ModifyTime", "ClassifyId")
-	err = smmIndex.Update(updateCol)
-	if err != nil {
-		errMsg = "移动失败"
-		err = errors.New("修改失败,Err:" + err.Error())
-		return
-	}
-	return
-}

+ 0 - 302
services/data/base_from_ths_hf.go

@@ -1,302 +0,0 @@
-package data
-
-import (
-	"encoding/json"
-	"eta_gn/eta_api/models"
-	"eta_gn/eta_api/models/data_manage"
-	"eta_gn/eta_api/models/mgo"
-	"eta_gn/eta_api/services/alarm_msg"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"go.mongodb.org/mongo-driver/bson"
-	"time"
-)
-
-// CheckExistThsHfEdb 校验已存在的同花顺高频指标
-func CheckExistThsHfEdb(stockCodes, edbCodes []string) (checkResp data_manage.ThsHfExistCheckResp, existMap map[string]bool, err error) {
-	// 待校验的指标编码
-	var indexCode []string
-	prefix := utils.ThsHf
-	for _, sv := range stockCodes {
-		for _, ev := range edbCodes {
-			t := fmt.Sprintf("%s%s%s", prefix, sv, ev)
-			indexCode = append(indexCode, t)
-		}
-	}
-
-	baseIndexes := make([]*data_manage.BaseFromThsHfIndex, 0)
-	{
-		ob := new(data_manage.BaseFromThsHfIndex)
-		fields := []string{ob.Cols().PrimaryId, ob.Cols().IndexCode, ob.Cols().IndexName, ob.Cols().StockCode, ob.Cols().Indicator}
-		list, e := ob.GetItemsByCondition(``, make([]interface{}, 0), fields, "")
-		if e != nil {
-			err = fmt.Errorf("获取高频指标列表失败, %v", e)
-			return
-		}
-		baseIndexes = list
-	}
-	var existNum int
-	existMap = make(map[string]bool)
-	for _, bv := range baseIndexes {
-		code := fmt.Sprintf("%s%s%s", prefix, bv.StockCode, bv.Indicator)
-		for _, iv := range indexCode {
-			if code != iv {
-				continue
-			}
-			existMap[fmt.Sprintf("%s-%s", bv.StockCode, bv.Indicator)] = true
-			existNum += 1
-			checkResp.ExistIndex = append(checkResp.ExistIndex, data_manage.ThsHfExistCheckIndex{
-				IndexId:   bv.BaseFromThsHfIndexId,
-				IndexCode: bv.IndexCode,
-				IndexName: bv.IndexName,
-			})
-			break
-		}
-	}
-	if existNum > 0 && existNum == len(indexCode) {
-		checkResp.ExistAll = true
-	}
-	return
-}
-
-// GetEdbDataThsHf 获取同花顺高频数据指标
-func GetEdbDataThsHf(req data_manage.ThsHfSearchEdbReq) (indexes []*data_manage.ThsHfIndexWithData, err error) {
-	param := make(map[string]interface{})
-	param["StockCode"] = req.StockCode
-	param["EdbCode"] = req.EdbCode
-	param["StartTime"] = req.StartTime
-	param["EndTime"] = req.EndTime
-	param["Interval"] = req.Interval
-	param["Fill"] = req.Fill
-	param["CPS"] = req.CPS
-	param["BaseDate"] = req.BaseDate
-	uri := `ths/hf/edb_data`
-	resp, e := postThsHfEdbData(param, uri)
-	if e != nil {
-		err = fmt.Errorf("postThsHfEdbData, %v", e)
-		return
-	}
-	if resp.Ret == 200 {
-		indexes = resp.Data
-	}
-	return
-}
-
-// postThsHfEdbData 刷新指标数据
-func postThsHfEdbData(param map[string]interface{}, urlStr string) (resp *data_manage.ThsHfIndexDataLibResp, err error) {
-	postUrl := utils.EDB_LIB_URL + urlStr
-	postData, err := json.Marshal(param)
-	if err != nil {
-		return
-	}
-	result, err := HttpPost(postUrl, string(postData), utils.ZhLangVersion, "application/json")
-	if err != nil {
-		return
-	}
-	utils.FileLog.Info("postRefreshEdbData:" + postUrl + ";" + string(postData) + ";result:" + string(result))
-	err = json.Unmarshal(result, &resp)
-	if err != nil {
-		return
-	}
-	return resp, nil
-}
-
-// BaseAddThsHf 新增数据源
-func BaseAddThsHf(req data_manage.ThsHfBaseAddReq) (resp *models.BaseResponse, err error) {
-	param := make(map[string]interface{})
-	param["StartTime"] = req.StartTime
-	param["EndTime"] = req.EndTime
-	param["Interval"] = req.Interval
-	param["Fill"] = req.Fill
-	param["CPS"] = req.CPS
-	param["BaseDate"] = req.BaseDate
-	param["SysAdminId"] = req.SysAdminId
-	param["SysAdminName"] = req.SysAdminName
-	param["ClassifyId"] = req.ClassifyId
-	param["Unit"] = req.Unit
-	param["IndexName"] = req.IndexName
-	param["Frequency"] = req.Frequency
-	param["StockCode"] = req.StockCode
-	param["EdbCode"] = req.EdbCode
-	uri := `ths/hf/base/add`
-	res, e := postRefreshEdbData(param, uri)
-	if e != nil {
-		err = fmt.Errorf("postRefreshEdbData, %v", e)
-		return
-	}
-	resp = res
-	return
-}
-
-// RefreshBaseThsHfIndex 刷新源指标
-func RefreshBaseThsHfIndex(indexIds []int, refreshType int) (isAsync bool, err error) {
-	if len(indexIds) == 0 {
-		return
-	}
-	defer func() {
-		if err != nil {
-			tips := fmt.Sprintf("RefreshBaseThsHfIndex-刷新同花顺高频指标失败, %v", err)
-			utils.FileLog.Info(tips)
-			go alarm_msg.SendAlarmMsg(tips, 3)
-		}
-	}()
-
-	indexes := make([]*data_manage.BaseFromThsHfIndex, 0)
-	{
-		ob := new(data_manage.BaseFromThsHfIndex)
-		cond := fmt.Sprintf(" AND %s IN (%s)", ob.Cols().PrimaryId, utils.GetOrmInReplace(len(indexIds)))
-		pars := make([]interface{}, 0)
-		pars = append(pars, indexIds)
-		list, e := ob.GetItemsByCondition(cond, pars, []string{}, "")
-		if e != nil {
-			err = fmt.Errorf("获取源指标失败, %v", e)
-			return
-		}
-		if len(list) == 0 {
-			return
-		}
-		indexes = list
-	}
-
-	refreshUrl := "ths/hf/base/refresh"
-	// 异步刷新
-	if len(indexes) > 10 {
-		isAsync = true
-
-		go func() {
-			for _, v := range indexes {
-				param := make(map[string]interface{})
-				param["BaseIndexCode"] = v.IndexCode
-				param["RefreshType"] = refreshType
-				resp, e := postRefreshEdbData(param, refreshUrl)
-				if e != nil {
-					utils.FileLog.Info(fmt.Sprintf("thsHf-postRefreshEdbData, code: %s, err: %v", v.IndexCode, e))
-					continue
-				}
-				if resp != nil && resp.Ret != 200 {
-					utils.FileLog.Info(fmt.Sprintf("thsHf-postRefreshEdbData, code: %s, Ret: %d, ErrMsg: %s", v.IndexCode, resp.Ret, resp.ErrMsg))
-					continue
-				}
-			}
-		}()
-		return
-	}
-
-	// 同步刷新
-	for _, v := range indexes {
-		param := make(map[string]interface{})
-		param["BaseIndexCode"] = v.IndexCode
-		param["RefreshType"] = refreshType
-		resp, e := postRefreshEdbData(param, refreshUrl)
-		if e != nil {
-			utils.FileLog.Info(fmt.Sprintf("thsHf-postRefreshEdbData, code: %s, err: %v", v.IndexCode, e))
-			continue
-		}
-		if resp.Ret != 200 {
-			utils.FileLog.Info(fmt.Sprintf("thsHf-postRefreshEdbData, code: %s, Ret: %d, ErrMsg: %s", v.IndexCode, resp.Ret, resp.ErrMsg))
-			continue
-		}
-	}
-	return
-}
-
-// GetThsHfBaseIndexData 获取指标数据
-func GetThsHfBaseIndexData(indexCode, startTime, endTime string) (dataList []*data_manage.BaseFromThsHfDataItem, err error) {
-	if utils.UseMongo {
-		list, e := getThsHfBaseIndexDataByMongo(indexCode, startTime, endTime)
-		if e != nil {
-			err = fmt.Errorf("获取指标数据失败-Mongo, %v", e)
-			return
-		}
-		dataList = list
-		return
-	}
-
-	// MySQL
-	var (
-		cond string
-		pars []interface{}
-	)
-	dataOb := new(data_manage.BaseFromThsHfData)
-	if startTime != "" && endTime != "" {
-		cond += fmt.Sprintf(" AND %s = ? AND (%s BETWEEN ? AND ?)", dataOb.Cols().IndexCode, dataOb.Cols().DataTime)
-		pars = append(pars, indexCode, startTime, endTime)
-	}
-	if startTime != "" && endTime == "" {
-		cond += fmt.Sprintf(" AND %s = ? AND %s > ?)", dataOb.Cols().IndexCode, dataOb.Cols().DataTime)
-		pars = append(pars, indexCode, startTime)
-	}
-	list, e := dataOb.GetItemsByCondition(cond, pars, []string{}, fmt.Sprintf("%s DESC", dataOb.Cols().DataTime))
-	if e != nil {
-		err = fmt.Errorf("获取指标数据失败-MySQL, %v", e)
-		return
-	}
-	for _, v := range list {
-		dataList = append(dataList, v.Format2Item())
-	}
-	return
-}
-
-// getThsHfBaseIndexDataByMongo
-func getThsHfBaseIndexDataByMongo(indexCode, startTime, endTime string) (dataList []*data_manage.BaseFromThsHfDataItem, err error) {
-	dataList = make([]*data_manage.BaseFromThsHfDataItem, 0)
-
-	mogDataObj := mgo.BaseFromThsHfData{}
-	// 构建查询条件
-	queryConditions := bson.M{
-		"index_code": indexCode,
-	}
-
-	// 时间区间
-	if startTime != "" && endTime != "" {
-		st, e := time.ParseInLocation(utils.FormatDateTime, startTime, time.Local)
-		if e != nil {
-			err = fmt.Errorf("start time parse err: %v", e)
-			return
-		}
-		ed, e := time.ParseInLocation(utils.FormatDateTime, endTime, time.Local)
-		if e != nil {
-			err = fmt.Errorf("end time parse err: %v", e)
-			return
-		}
-		queryConditions["data_time"] = bson.M{
-			"$gte": st,
-			"$lte": ed,
-		}
-	}
-	if startTime != "" && endTime == "" {
-		st, e := time.ParseInLocation(utils.FormatDateTime, startTime, time.Local)
-		if e != nil {
-			err = fmt.Errorf("start time parse err: %v", e)
-			return
-		}
-		queryConditions["data_time"] = bson.M{
-			"$gte": st,
-		}
-	}
-
-	// 获取列表数据
-	list, e := mogDataObj.GetAllDataList(queryConditions, []string{"-data_time"})
-	if e != nil {
-		err = fmt.Errorf("GetAllDataList err: %v", e)
-		return
-	}
-	for _, v := range list {
-		dataList = append(dataList, formatMgoBaseThsHfData2Item(v))
-	}
-	return
-}
-
-func formatMgoBaseThsHfData2Item(origin *mgo.BaseFromThsHfData) (item *data_manage.BaseFromThsHfDataItem) {
-	if origin == nil {
-		return
-	}
-	item = new(data_manage.BaseFromThsHfDataItem)
-	item.DataId = int(origin.BaseFromThsHfDataId)
-	item.IndexId = int(origin.BaseFromThsHfIndexId)
-	item.IndexCode = origin.IndexCode
-	item.DataTime = utils.TimeTransferString(utils.FormatDateTime, origin.DataTime)
-	item.Value = origin.Value
-	item.UniqueCode = origin.UniqueCode
-	return
-}

+ 0 - 526
services/data/base_from_ths_hf_classify.go

@@ -1,526 +0,0 @@
-package data
-
-import (
-	"errors"
-	"eta_gn/eta_api/models/data_manage"
-	"eta_gn/eta_api/models/system"
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"time"
-)
-
-// GetThsHfClassifyTreeRecursive 递归获取分类树形结构
-func GetThsHfClassifyTreeRecursive(list []*data_manage.BaseFromThsHfClassifyItem, parentId int) []*data_manage.BaseFromThsHfClassifyItem {
-	res := make([]*data_manage.BaseFromThsHfClassifyItem, 0)
-	for _, v := range list {
-		if v.ParentId == parentId {
-			t := GetThsHfClassifyTreeRecursive(list, v.ClassifyId)
-			v.Children = nil // 这一步是方便前端组件判断null...
-			if len(t) > 0 {
-				v.Children = t
-			}
-			res = append(res, v)
-		}
-	}
-	return res
-}
-
-// ThsHfMoveClassify 移动指标分类
-func ThsHfMoveClassify(req data_manage.BaseFromThsHfClassifyMoveReq, sysUser *system.Admin) (err error, errMsg string) {
-	// req.ClassifyId, req.ParentClassifyId, req.PrevClassifyId, req.NextClassifyId
-	classifyId := req.ClassifyId
-	parentClassifyId := req.ParentClassifyId
-	prevClassifyId := req.PrevClassifyId
-	nextClassifyId := req.NextClassifyId
-
-	itemId := req.ItemId
-	prevItemId := req.PrevItemId
-	nextItemId := req.NextItemId
-
-	//首先确定移动的对象是分类还是指标
-	//判断上一个节点是分类还是指标
-	//判断下一个节点是分类还是指标
-	//同时更新分类目录下的分类sort和指标sort
-	//更新当前移动的分类或者指标sort
-
-	var parentEdbClassifyInfo *data_manage.BaseFromThsHfClassify
-	if parentClassifyId > 0 {
-		parentEdbClassifyInfo, err = data_manage.GetThsHfClassifyById(parentClassifyId)
-		if err != nil {
-			errMsg = "移动失败"
-			err = errors.New("获取上级分类信息失败,Err:" + err.Error())
-			return
-		}
-	}
-
-	//如果有传入 上一个兄弟节点分类id
-	var (
-		edbClassifyInfo *data_manage.BaseFromThsHfClassify
-		prevClassify    *data_manage.BaseFromThsHfClassify
-		nextClassify    *data_manage.BaseFromThsHfClassify
-
-		edbInfo     *data_manage.BaseFromThsHfIndex
-		prevEdbInfo *data_manage.BaseFromThsHfIndex
-		nextEdbInfo *data_manage.BaseFromThsHfIndex
-		prevSort    int
-		nextSort    int
-	)
-
-	// 移动对象为分类, 判断权限
-	if itemId == 0 {
-		edbClassifyInfo, err = data_manage.GetThsHfClassifyById(classifyId)
-		if err != nil {
-			if utils.IsErrNoRow(err) {
-				errMsg = "当前分类不存在"
-				err = errors.New("获取分类信息失败,Err:" + err.Error())
-				return
-			}
-			errMsg = "移动失败"
-			err = errors.New("获取分类信息失败,Err:" + err.Error())
-			return
-		}
-		if parentClassifyId > 0 && parentEdbClassifyInfo.Level == 6 {
-			errMsg = "最高只支持添加6级分类"
-			err = errors.New(errMsg)
-			return
-		}
-		// 如果是移动目录, 那么校验一下父级目录下是否有重名目录
-		exists, e := data_manage.GetThsHfClassifyByParentIdAndName(parentClassifyId, edbClassifyInfo.ClassifyName, classifyId)
-		if e != nil && !utils.IsErrNoRow(e) {
-			errMsg = "移动失败"
-			err = fmt.Errorf("获取父级分类下的同名分类失败, Err: %s", e.Error())
-			return
-		}
-		if exists != nil {
-			errMsg = "移动失败,分类名称已存在"
-			return
-		}
-
-	} else {
-		edbInfo, err = data_manage.GetThsHfIndexById(req.ItemId)
-		if err != nil {
-			if utils.IsErrNoRow(err) {
-				errMsg = "当前指标不存在"
-				err = errors.New("获取分类信息失败,Err:" + err.Error())
-				return
-			}
-			errMsg = "移动失败"
-			err = errors.New("获取分类信息失败,Err:" + err.Error())
-			return
-		}
-		if parentClassifyId == 0 {
-			errMsg = "移动失败,指标必须挂在分类下"
-			err = errors.New(errMsg)
-			return
-		}
-
-		//// 移动权限校验
-		//button := GetEdbOpButton(sysUser, edbInfo.SysUserId, edbInfo.EdbType, edbInfo.EdbInfoType, haveOperaAuth)
-		//if !button.MoveButton {
-		//	errMsg = "无操作权限"
-		//	err = errors.New(errMsg)
-		//	return
-		//}
-	}
-
-	if prevClassifyId > 0 {
-		prevClassify, err = data_manage.GetThsHfClassifyById(prevClassifyId)
-		if err != nil {
-			errMsg = "移动失败"
-			err = errors.New("获取上一个兄弟节点分类信息失败,Err:" + err.Error())
-			return
-		}
-		prevSort = prevClassify.Sort
-	} else if prevItemId > 0 {
-		prevEdbInfo, err = data_manage.GetThsHfIndexById(prevItemId)
-		if err != nil {
-			errMsg = "移动失败"
-			err = errors.New("获取上一个兄弟节点分类信息失败,Err:" + err.Error())
-			return
-		}
-		prevSort = prevEdbInfo.Sort
-	}
-
-	if nextClassifyId > 0 {
-		//下一个兄弟节点
-		nextClassify, err = data_manage.GetThsHfClassifyById(nextClassifyId)
-		if err != nil {
-			errMsg = "移动失败"
-			err = errors.New("获取下一个兄弟节点分类信息失败,Err:" + err.Error())
-			return
-		}
-		nextSort = nextClassify.Sort
-	} else if nextItemId > 0 {
-		//下一个兄弟节点
-		nextEdbInfo, err = data_manage.GetThsHfIndexById(nextItemId)
-		if err != nil {
-			errMsg = "移动失败"
-			err = errors.New("获取下一个兄弟节点分类信息失败,Err:" + err.Error())
-			return
-		}
-		nextSort = nextEdbInfo.Sort
-	}
-
-	err, errMsg = thsHfMoveEdbClassify(parentEdbClassifyInfo, edbClassifyInfo, prevClassify, nextClassify, edbInfo, prevEdbInfo, nextEdbInfo, parentClassifyId, prevSort, nextSort)
-	return
-}
-
-// thsHfMoveEdbClassify 移动指标分类
-func thsHfMoveEdbClassify(parentEdbClassifyInfo, edbClassifyInfo, prevClassify, nextClassify *data_manage.BaseFromThsHfClassify, edbInfo, prevEdbInfo, nextEdbInfo *data_manage.BaseFromThsHfIndex, parentClassifyId int, prevSort, nextSort int) (err error, errMsg string) {
-	updateCol := make([]string, 0)
-
-	// 移动对象为分类, 判断分类是否存在
-	if edbClassifyInfo != nil {
-		oldParentId := edbClassifyInfo.ParentId
-		oldLevel := edbClassifyInfo.Level
-		var classifyIds []int
-		if oldParentId != parentClassifyId {
-			//更新子分类对应的level
-			childList, e, m := GetThsHfChildClassifyByClassifyId(edbClassifyInfo.BaseFromThsHfClassifyId)
-			if e != nil {
-				errMsg = "移动失败"
-				err = errors.New("查询子分类失败,Err:" + e.Error() + m)
-				return
-			}
-
-			if len(childList) > 0 {
-				for _, v := range childList {
-					if v.BaseFromThsHfClassifyId == edbClassifyInfo.BaseFromThsHfClassifyId {
-						continue
-					}
-					classifyIds = append(classifyIds, v.BaseFromThsHfClassifyId)
-				}
-			}
-		}
-		//判断上级id是否一致,如果不一致的话,那么需要移动该分类层级
-		if edbClassifyInfo.ParentId != parentClassifyId && parentClassifyId != 0 {
-			if edbClassifyInfo.Level != parentEdbClassifyInfo.Level+1 { //禁止层级调整
-				errMsg = "移动失败"
-				err = errors.New("不支持目录层级变更")
-				return
-			}
-			edbClassifyInfo.ParentId = parentEdbClassifyInfo.BaseFromThsHfClassifyId
-			edbClassifyInfo.RootId = parentEdbClassifyInfo.RootId
-			edbClassifyInfo.Level = parentEdbClassifyInfo.Level + 1
-			edbClassifyInfo.ModifyTime = time.Now()
-			// 更改层级路径
-			edbClassifyInfo.LevelPath = fmt.Sprintf("%s,%d", parentEdbClassifyInfo.LevelPath, edbClassifyInfo.BaseFromThsHfClassifyId)
-			updateCol = append(updateCol, "ParentId", "RootId", "Level", "ModifyTime", "LevelPath")
-		} else if edbClassifyInfo.ParentId != parentClassifyId && parentClassifyId == 0 {
-			errMsg = "移动失败"
-			err = errors.New("不支持目录层级变更")
-			return
-		}
-
-		if prevSort > 0 {
-			//如果是移动在两个兄弟节点之间
-			if nextSort > 0 {
-				//下一个兄弟节点
-				//如果上一个兄弟与下一个兄弟的排序权重是一致的,那么需要将下一个兄弟(以及下个兄弟的同样排序权重)的排序权重+2,自己变成上一个兄弟的排序权重+1
-				if prevSort == nextSort || prevSort == edbClassifyInfo.Sort {
-					//变更兄弟节点的排序
-					updateSortStr := `sort + 2`
-
-					//变更分类
-					if prevClassify != nil {
-						_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, prevClassify.BaseFromThsHfClassifyId, prevClassify.Sort, updateSortStr)
-					} else {
-						_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, 0, prevSort, updateSortStr)
-					}
-
-					//变更指标
-					if prevEdbInfo != nil {
-						//变更兄弟节点的排序
-						_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, prevSort, prevEdbInfo.BaseFromThsHfIndexId, updateSortStr)
-					} else {
-						_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, prevSort, 0, updateSortStr)
-					}
-				} else {
-					//如果下一个兄弟的排序权重正好是上个兄弟节点的下一层,那么需要再加一层了
-					if nextSort-prevSort == 1 {
-						//变更兄弟节点的排序
-						updateSortStr := `sort + 1`
-
-						//变更分类
-						if prevClassify != nil {
-							_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, prevClassify.BaseFromThsHfClassifyId, prevSort, updateSortStr)
-						} else {
-							_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, 0, prevSort, updateSortStr)
-						}
-
-						//变更指标
-						if prevEdbInfo != nil {
-							//变更兄弟节点的排序
-							_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, prevSort, prevEdbInfo.BaseFromThsHfIndexId, updateSortStr)
-						} else {
-							_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, prevSort, 0, updateSortStr)
-						}
-
-					}
-				}
-			}
-
-			edbClassifyInfo.Sort = prevSort + 1
-			edbClassifyInfo.ModifyTime = time.Now()
-			updateCol = append(updateCol, "Sort", "ModifyTime")
-		} else if prevClassify == nil && nextClassify == nil && prevEdbInfo == nil && nextEdbInfo == nil && parentClassifyId > 0 {
-			//处理只拖动到目录里,默认放到目录底部的情况
-			var maxSort int
-			maxSort, err = GetThsHfClassifyMaxSort(parentClassifyId)
-			if err != nil {
-				errMsg = "移动失败"
-				err = errors.New("查询组内排序信息失败,Err:" + err.Error())
-				return
-			}
-			edbClassifyInfo.Sort = maxSort + 1 //那就是排在组内最后一位
-			edbClassifyInfo.ModifyTime = time.Now()
-			updateCol = append(updateCol, "Sort", "ModifyTime")
-		} else {
-			// 拖动到父级分类的第一位
-			firstClassify, tmpErr := data_manage.GetFirstThsHfClassifyByParentId(parentClassifyId)
-			if tmpErr != nil && !utils.IsErrNoRow(tmpErr) {
-				errMsg = "移动失败"
-				err = errors.New("获取获取当前父级分类下的排序第一条的分类信息失败,Err:" + tmpErr.Error())
-				return
-			}
-
-			//如果该分类下存在其他分类,且第一个其他分类的排序等于0,那么需要调整排序
-			if firstClassify != nil && firstClassify.Sort == 0 {
-				updateSortStr := ` sort + 1 `
-				_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, firstClassify.BaseFromThsHfClassifyId-1, 0, updateSortStr)
-				//该分类下的所有指标也需要+1
-				_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, 0, 0, updateSortStr)
-			} else {
-				//如果该分类下存在指标,且第一个指标的排序等于0,那么需要调整排序
-				firstEdb, tErr := data_manage.GetFirstThsHfIndexByClassifyId(parentClassifyId)
-				if tErr != nil && !utils.IsErrNoRow(tErr) {
-					errMsg = "移动失败"
-					err = errors.New("获取获取当前父级分类下的排序第一条的分类信息失败,Err:" + tErr.Error())
-					return
-				}
-
-				//如果该分类下存在其他分类,且第一个其他分类的排序等于0,那么需要调整排序
-				if firstEdb != nil && firstEdb.Sort == 0 {
-					updateSortStr := ` sort + 1 `
-					_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, 0, firstEdb.BaseFromThsHfIndexId-1, updateSortStr)
-					_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, 0, 0, updateSortStr)
-				}
-			}
-
-			edbClassifyInfo.Sort = 0 //那就是排在第一位
-			edbClassifyInfo.ModifyTime = time.Now()
-			updateCol = append(updateCol, "Sort", "ModifyTime")
-		}
-
-		//更新
-		if len(updateCol) > 0 {
-			err = edbClassifyInfo.Update(updateCol)
-			if err != nil {
-				errMsg = "移动失败"
-				err = errors.New("修改失败,Err:" + err.Error())
-				return
-			}
-			//更新对应分类的root_id和层级
-			if oldParentId != parentClassifyId {
-				if len(classifyIds) > 0 {
-					levelStep := edbClassifyInfo.Level - oldLevel
-					err = data_manage.UpdateThsHfClassifyChildByParentClassifyId(classifyIds, edbClassifyInfo.RootId, levelStep)
-					if err != nil {
-						errMsg = "移动失败"
-						err = errors.New("更新子分类失败,Err:" + err.Error())
-						return
-					}
-				}
-			}
-		}
-	} else {
-		if edbInfo == nil {
-			errMsg = "当前指标不存在"
-			err = errors.New(errMsg)
-			return
-		}
-		//如果改变了分类,那么移动该指标数据
-		if edbInfo.BaseFromThsHfClassifyId != parentClassifyId {
-			edbInfo.BaseFromThsHfClassifyId = parentClassifyId
-			edbInfo.ModifyTime = time.Now()
-			updateCol = append(updateCol, "BaseFromThsHfClassifyId", "ModifyTime")
-		}
-		if prevSort > 0 {
-			//如果是移动在两个兄弟节点之间
-			if nextSort > 0 {
-				//下一个兄弟节点
-				//如果上一个兄弟与下一个兄弟的排序权重是一致的,那么需要将下一个兄弟(以及下个兄弟的同样排序权重)的排序权重+2,自己变成上一个兄弟的排序权重+1
-				if prevSort == nextSort || prevSort == edbInfo.Sort {
-					//变更兄弟节点的排序
-					updateSortStr := `sort + 2`
-
-					//变更分类
-					if prevClassify != nil {
-						_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, prevClassify.BaseFromThsHfClassifyId, prevClassify.Sort, updateSortStr)
-					} else {
-						_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, 0, prevSort, updateSortStr)
-					}
-
-					//变更指标
-					if prevEdbInfo != nil {
-						//变更兄弟节点的排序
-						_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, prevSort, prevEdbInfo.BaseFromThsHfIndexId, updateSortStr)
-					} else {
-						_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, prevSort, 0, updateSortStr)
-					}
-				} else {
-					//如果下一个兄弟的排序权重正好是上个兄弟节点的下一层,那么需要再加一层了
-					if nextSort-prevSort == 1 {
-						//变更兄弟节点的排序
-						updateSortStr := `sort + 1`
-						//变更分类
-						if prevClassify != nil {
-							_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, prevClassify.BaseFromThsHfClassifyId, prevSort, updateSortStr)
-						} else {
-							_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, 0, prevSort, updateSortStr)
-						}
-
-						//变更指标
-						if prevEdbInfo != nil {
-							//变更兄弟节点的排序
-							_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, prevSort, prevEdbInfo.BaseFromThsHfIndexId, updateSortStr)
-						} else {
-							_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, prevSort, 0, updateSortStr)
-						}
-					}
-				}
-			}
-
-			edbInfo.Sort = prevSort + 1
-			edbInfo.ModifyTime = time.Now()
-			updateCol = append(updateCol, "Sort", "ModifyTime")
-		} else if prevClassify == nil && nextClassify == nil && prevEdbInfo == nil && nextEdbInfo == nil && parentClassifyId > 0 {
-			//处理只拖动到目录里,默认放到目录底部的情况
-			var maxSort int
-			classifyOb := new(data_manage.BaseFromThsHfClassify)
-			maxSort, err = classifyOb.GetSortMax(parentClassifyId)
-			if err != nil {
-				errMsg = "移动失败"
-				err = errors.New("查询组内排序信息失败,Err:" + err.Error())
-				return
-			}
-			edbInfo.Sort = maxSort + 1 //那就是排在组内最后一位
-			edbInfo.ModifyTime = time.Now()
-			updateCol = append(updateCol, "Sort", "ModifyTime")
-		} else {
-			// 拖动到父级分类的第一位
-			firstClassify, tmpErr := data_manage.GetFirstThsHfClassifyByParentId(parentClassifyId)
-			if tmpErr != nil && !utils.IsErrNoRow(tmpErr) {
-				errMsg = "移动失败"
-				err = errors.New("获取获取当前父级分类下的排序第一条的分类信息失败,Err:" + tmpErr.Error())
-				return
-			}
-
-			//如果该分类下存在其他分类,且第一个其他分类的排序等于0,那么需要调整排序
-			if firstClassify != nil && firstClassify.Sort == 0 {
-				updateSortStr := ` sort + 1 `
-				_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, firstClassify.BaseFromThsHfClassifyId-1, 0, updateSortStr)
-				//该分类下的所有指标也需要+1
-				_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, 0, 0, updateSortStr)
-			} else {
-				//如果该分类下存在指标,且第一个指标的排序等于0,那么需要调整排序
-				firstEdb, tErr := data_manage.GetFirstThsHfIndexByClassifyId(parentClassifyId)
-				if tErr != nil && !utils.IsErrNoRow(tErr) {
-					errMsg = "移动失败"
-					err = errors.New("获取获取当前父级分类下的排序第一条的分类信息失败,Err:" + tErr.Error())
-					return
-				}
-
-				//如果该分类下存在其他分类,且第一个其他分类的排序等于0,那么需要调整排序
-				if firstEdb != nil && firstEdb.Sort == 0 {
-					updateSortStr := ` sort + 1 `
-					_ = data_manage.UpdateThsHfIndexSortByClassifyId(parentClassifyId, 0, firstEdb.BaseFromThsHfIndexId-1, updateSortStr)
-					_ = data_manage.UpdateThsHfClassifySortByParentId(parentClassifyId, 0, 0, updateSortStr)
-				}
-			}
-
-			edbInfo.Sort = 0 //那就是排在第一位
-			edbInfo.ModifyTime = time.Now()
-			updateCol = append(updateCol, "Sort", "ModifyTime")
-		}
-
-		//更新
-		if len(updateCol) > 0 {
-			err = edbInfo.Update(updateCol)
-			if err != nil {
-				errMsg = "移动失败"
-				err = errors.New("修改失败,Err:" + err.Error())
-				return
-			}
-		}
-	}
-	return
-}
-
-func GetThsHfChildClassifyByClassifyId(targetClassifyId int) (targetList []*data_manage.BaseFromThsHfClassify, err error, errMsg string) {
-	//判断是否是挂在顶级目录下
-	targetClassify, err := data_manage.GetThsHfClassifyById(targetClassifyId)
-	if err != nil {
-		if utils.IsErrNoRow(err) {
-			errMsg = "当前分类不存在"
-			err = errors.New(errMsg)
-			return
-		}
-		errMsg = "获取失败"
-		err = errors.New("获取分类信息失败,Err:" + err.Error())
-		return
-	}
-	orderStr := ` order by level asc, sort asc, base_from_ths_hf_classify_id asc`
-	tmpList, err := data_manage.GetThsHfClassifyByRootIdLevel(targetClassify.RootId, orderStr)
-	if err != nil && !utils.IsErrNoRow(err) {
-		errMsg = "获取失败"
-		err = errors.New("获取数据失败,Err:" + err.Error())
-		return
-	}
-	idMap := make(map[int]struct{})
-	if len(tmpList) > 0 {
-		for _, v := range tmpList {
-			if v.BaseFromThsHfClassifyId == targetClassify.BaseFromThsHfClassifyId {
-				idMap[v.BaseFromThsHfClassifyId] = struct{}{}
-			}
-		}
-		for _, v := range tmpList {
-			if _, ok := idMap[v.ParentId]; ok {
-				idMap[v.BaseFromThsHfClassifyId] = struct{}{}
-			}
-		}
-		for _, v := range tmpList {
-			if _, ok := idMap[v.BaseFromThsHfClassifyId]; ok {
-				targetItem := new(data_manage.BaseFromThsHfClassify)
-				targetItem.BaseFromThsHfClassifyId = v.BaseFromThsHfClassifyId
-				targetItem.ParentId = v.ParentId
-				targetItem.RootId = v.RootId
-				//targetItem.UniqueCode = v.UniqueCode
-				targetItem.Level = v.Level
-				targetItem.ClassifyName = v.ClassifyName
-				//targetItem.IsJoinPermission = v.IsJoinPermission
-				targetList = append(targetList, targetItem)
-			}
-		}
-	}
-
-	return
-}
-
-func GetThsHfClassifyMaxSort(parentId int) (maxSort int, err error) {
-	//获取该层级下最大的排序数
-	classifyOb := new(data_manage.BaseFromThsHfClassify)
-	classifyMaxSort, err := classifyOb.GetSortMax(parentId)
-	if err != nil {
-		return
-	}
-	maxSort = classifyMaxSort
-	edbMaxSort, err := data_manage.GetThsHfIndexMaxSortByClassifyId(parentId)
-	if err != nil {
-		return
-	}
-	if maxSort < edbMaxSort {
-		maxSort = edbMaxSort
-	}
-	return
-}

+ 0 - 6
services/data/edb_info.go

@@ -2033,12 +2033,6 @@ func GetEdbTerminalCodeBySource(source int, edbCode, stockCode string) (terminal
 // @datetime 2024-07-22 13:06:36
 // @param edbInfo *data_manage.EdbInfo
 func handleByAddEdbInfo(edbInfo *data_manage.EdbInfo) {
-	// 更新钢联化工状态为启用
-	if edbInfo.Source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
-		// 启动钢联的刷新
-		_ = data_manage.UpdateMysteelChemicalRefreshStatus(edbInfo.EdbCode, 0)
-	}
-
 	// 如果是手工数据,那么需要标记手工数据为已加入指标库
 	if edbInfo.Source == utils.DATA_SOURCE_MANUAL {
 		_ = models.UpdateManualIsJoinEdbStatus(edbInfo.EdbCode, 1)

+ 0 - 48
services/data/edb_info_refresh.go

@@ -476,54 +476,6 @@ func GetList(source, subSource int, classifyId, terminalCode, sysUserId, frequen
 			sortStr = fmt.Sprintf("%s %s,base_from_mysteel_chemical_index_id desc ", sortParam, sortType)
 		}
 		total, list, err = data_manage.GetMysteelChemicalBaseInfoList(condition, pars, sortStr, startSize, pageSize)
-	case utils.DATA_SOURCE_YS: // 有色
-		if classifyId != `` {
-			classifyIdSlice := strings.Split(classifyId, ",")
-			condition += ` AND classify_id IN (` + utils.GetOrmInReplace(len(classifyIdSlice)) + `)`
-			pars = append(pars, classifyIdSlice)
-		}
-		if terminalCode != `` {
-			condition += " AND terminal_code = ? "
-			pars = append(pars, terminalCode)
-		}
-		if frequency != `` {
-			frequencySlice := strings.Split(frequency, ",")
-			condition += ` AND frequency IN (` + utils.GetOrmInReplace(len(frequencySlice)) + `)`
-			pars = append(pars, frequencySlice)
-		}
-		if keyword != `` {
-			keywordSlice := strings.Split(keyword, " ")
-			if len(keywordSlice) > 0 {
-				tmpConditionSlice := make([]string, 0)
-				tmpConditionSlice = append(tmpConditionSlice, ` index_name like ? or index_code like ? `)
-				pars = utils.GetLikeKeywordPars(pars, keyword, 2)
-
-				for _, v := range keywordSlice {
-					if v == ` ` || v == `` {
-						continue
-					}
-					tmpConditionSlice = append(tmpConditionSlice, ` index_name like ? or index_code like ? `)
-					pars = utils.GetLikeKeywordPars(pars, v, 2)
-				}
-				condition += ` AND (` + strings.Join(tmpConditionSlice, " or ") + `)`
-
-			} else {
-				condition += ` index_name like ? or index_code like ? `
-				pars = utils.GetLikeKeywordPars(pars, keyword, 2)
-			}
-		}
-
-		if isStop >= 0 {
-			condition += " AND is_stop = ? "
-			pars = append(pars, isStop)
-		}
-
-		sortStr := ``
-		if sortParam != `` {
-			sortStr = fmt.Sprintf("%s %s,base_from_smm_index_id desc ", sortParam, sortType)
-		}
-
-		total, list, err = data_manage.GetSmmBaseInfoList(condition, pars, sortStr, startSize, pageSize)
 	default:
 		fmt.Println("line 530")
 		condition += ` AND source = ? AND sub_source = ? `

Some files were not shown because too many files changed in this diff