|
@@ -58,6 +58,13 @@ func (this *EdbInfoController) EdbInfoSearch() {
|
|
stockCode := this.GetString("StockCode")
|
|
stockCode := this.GetString("StockCode")
|
|
frequency := this.GetString("Frequency")
|
|
frequency := this.GetString("Frequency")
|
|
|
|
|
|
|
|
+ // 日期序列参数
|
|
|
|
+ period := this.GetString("Period")
|
|
|
|
+ days := this.GetString("Days")
|
|
|
|
+ priceAdj := this.GetString("PriceAdj")
|
|
|
|
+ extraPars := this.GetString("ExtraPars")
|
|
|
|
+ extraPars = strings.TrimSpace(extraPars)
|
|
|
|
+
|
|
if source <= 0 {
|
|
if source <= 0 {
|
|
br.Msg = "无效的数据来源"
|
|
br.Msg = "无效的数据来源"
|
|
return
|
|
return
|
|
@@ -220,7 +227,21 @@ func (this *EdbInfoController) EdbInfoSearch() {
|
|
br.Msg = "请输入指标代码"
|
|
br.Msg = "请输入指标代码"
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- respItem, err := data.AddEdbDataThsDs(source, stockCode, edbCode)
|
|
|
|
|
|
+ // 部分常量共用
|
|
|
|
+ periodArr := []string{
|
|
|
|
+ utils.WindWsdPeriodDefault, utils.WindWsdPeriodWeek, utils.WindWsdPeriodMonth,
|
|
|
|
+ utils.WindWsdPeriodQuarter, utils.ThsDsdPeriodHalfYear, utils.WindWsdPeriodYear,
|
|
|
|
+ }
|
|
|
|
+ if period != "" && !utils.InArrayByStr(periodArr, period) {
|
|
|
|
+ br.Msg = "周期类型有误"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ daysArr := []string{utils.ThsDsDaysDefault, utils.ThsDsDaysAlldays}
|
|
|
|
+ if days != "" && !utils.InArrayByStr(daysArr, days) {
|
|
|
|
+ br.Msg = "日期类型有误"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ respItem, err := data.AddEdbDataThsDs(source, stockCode, edbCode, extraPars, days, period)
|
|
if err != nil {
|
|
if err != nil {
|
|
br.Msg = "获取失败"
|
|
br.Msg = "获取失败"
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
@@ -299,7 +320,25 @@ func (this *EdbInfoController) EdbInfoSearch() {
|
|
br.Msg = "请输入指标代码"
|
|
br.Msg = "请输入指标代码"
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- respItem, err := data.AddEdbDataWindWsd(source, stockCode, edbCode)
|
|
|
|
|
|
+ periodArr := []string{
|
|
|
|
+ utils.WindWsdPeriodDefault, utils.WindWsdPeriodWeek, utils.WindWsdPeriodMonth,
|
|
|
|
+ utils.WindWsdPeriodQuarter, utils.WindWsdPeriodYear,
|
|
|
|
+ }
|
|
|
|
+ if period != "" && !utils.InArrayByStr(periodArr, period) {
|
|
|
|
+ br.Msg = "周期类型有误"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ daysArr := []string{utils.WindWsdDaysWeekdays, utils.WindWsdDaysDefault, utils.WindWsdDaysAlldays}
|
|
|
|
+ if days != "" && !utils.InArrayByStr(daysArr, days) {
|
|
|
|
+ br.Msg = "日期类型有误"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ priceAdjArr := []string{utils.WindWsdRestorationFront, utils.WindWsdRestorationBack, utils.WindWsdRestorationFixed}
|
|
|
|
+ if priceAdj != "" && !utils.InArrayByStr(priceAdjArr, priceAdj) {
|
|
|
|
+ br.Msg = "复权方式有误"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ respItem, err := data.AddEdbDataWindWsd(source, stockCode, edbCode, days, period, priceAdj)
|
|
if err != nil {
|
|
if err != nil {
|
|
br.Msg = "获取失败"
|
|
br.Msg = "获取失败"
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
@@ -1880,6 +1919,7 @@ func (this *EdbInfoController) EdbInfoSearch() {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if isAdd {
|
|
if isAdd {
|
|
|
|
+ // 日期序列
|
|
if subSource == utils.DATA_SUB_SOURCE_DATE {
|
|
if subSource == utils.DATA_SUB_SOURCE_DATE {
|
|
if source == utils.DATA_SOURCE_WIND {
|
|
if source == utils.DATA_SOURCE_WIND {
|
|
//wsdData := windWsdRespItem.Data
|
|
//wsdData := windWsdRespItem.Data
|
|
@@ -1946,8 +1986,11 @@ func (this *EdbInfoController) EdbInfoSearch() {
|
|
|
|
|
|
stockList := make([]*data_manage.StockInfo, 0)
|
|
stockList := make([]*data_manage.StockInfo, 0)
|
|
edbCodeArr := strings.Split(edbCode, ",")
|
|
edbCodeArr := strings.Split(edbCode, ",")
|
|
|
|
+ // 指标编码后缀,默认值则无需拼接
|
|
|
|
+ suffix := utils.GetWindWsdIndexCodeSuffix(period, days, priceAdj)
|
|
|
|
+
|
|
for _, v := range edbCodeArr {
|
|
for _, v := range edbCodeArr {
|
|
- indexCode := utils.WindDbWsd + stockCode + v
|
|
|
|
|
|
+ indexCode := utils.WindDbWsd + stockCode + v + suffix
|
|
|
|
|
|
dataList, err := data_manage.GetEdbDataAllByEdbCodeAndSubSource(indexCode, source, utils.DATA_SUB_SOURCE_DATE, utils.EDB_DATA_LIMIT)
|
|
dataList, err := data_manage.GetEdbDataAllByEdbCodeAndSubSource(indexCode, source, utils.DATA_SUB_SOURCE_DATE, utils.EDB_DATA_LIMIT)
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
@@ -1959,6 +2002,9 @@ func (this *EdbInfoController) EdbInfoSearch() {
|
|
stockInfo := new(data_manage.StockInfo)
|
|
stockInfo := new(data_manage.StockInfo)
|
|
stockInfo.StockCode = stockCode
|
|
stockInfo.StockCode = stockCode
|
|
stockInfo.EdbCode = v
|
|
stockInfo.EdbCode = v
|
|
|
|
+ stockInfo.Days = days
|
|
|
|
+ stockInfo.Period = period
|
|
|
|
+ stockInfo.PriceAdj = priceAdj
|
|
stockInfo.DataList = dataList
|
|
stockInfo.DataList = dataList
|
|
stockList = append(stockList, stockInfo)
|
|
stockList = append(stockList, stockInfo)
|
|
}
|
|
}
|
|
@@ -1966,8 +2012,11 @@ func (this *EdbInfoController) EdbInfoSearch() {
|
|
} else if source == utils.DATA_SOURCE_THS {
|
|
} else if source == utils.DATA_SOURCE_THS {
|
|
stockList := make([]*data_manage.StockInfo, 0)
|
|
stockList := make([]*data_manage.StockInfo, 0)
|
|
edbCodeArr := strings.Split(edbCode, ",")
|
|
edbCodeArr := strings.Split(edbCode, ",")
|
|
|
|
+ // 指标编码后缀,默认值则无需拼接
|
|
|
|
+ suffix := utils.GetThsDsIndexCodeSuffix(period, days)
|
|
|
|
+
|
|
for _, v := range edbCodeArr {
|
|
for _, v := range edbCodeArr {
|
|
- indexCode := utils.ThsDs + stockCode + v
|
|
|
|
|
|
+ indexCode := utils.ThsDs + stockCode + v + suffix
|
|
|
|
|
|
dataList, err := data_manage.GetEdbDataAllByEdbCodeAndSubSource(indexCode, source, utils.DATA_SUB_SOURCE_DATE, utils.EDB_DATA_LIMIT)
|
|
dataList, err := data_manage.GetEdbDataAllByEdbCodeAndSubSource(indexCode, source, utils.DATA_SUB_SOURCE_DATE, utils.EDB_DATA_LIMIT)
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
@@ -1979,6 +2028,8 @@ func (this *EdbInfoController) EdbInfoSearch() {
|
|
stockInfo := new(data_manage.StockInfo)
|
|
stockInfo := new(data_manage.StockInfo)
|
|
stockInfo.StockCode = stockCode
|
|
stockInfo.StockCode = stockCode
|
|
stockInfo.EdbCode = v
|
|
stockInfo.EdbCode = v
|
|
|
|
+ stockInfo.Days = days
|
|
|
|
+ stockInfo.Period = period
|
|
stockInfo.DataList = dataList
|
|
stockInfo.DataList = dataList
|
|
stockList = append(stockList, stockInfo)
|
|
stockList = append(stockList, stockInfo)
|
|
}
|
|
}
|
|
@@ -5692,7 +5743,7 @@ func (this *EdbInfoController) EdbInfoExistCheck() {
|
|
br.Data = resp
|
|
br.Data = resp
|
|
}
|
|
}
|
|
|
|
|
|
-// EdbInfoAdd
|
|
|
|
|
|
+// EdbInfoBatchAdd
|
|
// @Title 指标批量保存接口
|
|
// @Title 指标批量保存接口
|
|
// @Description 指标批量保存接口
|
|
// @Description 指标批量保存接口
|
|
// @Param request body data_manage.BatchAddEdbInfoReq true "type json string"
|
|
// @Param request body data_manage.BatchAddEdbInfoReq true "type json string"
|
|
@@ -5795,11 +5846,13 @@ func (this *EdbInfoController) EdbInfoBatchAdd() {
|
|
edbInfoItem.Source = v.Source
|
|
edbInfoItem.Source = v.Source
|
|
switch v.Source {
|
|
switch v.Source {
|
|
case utils.DATA_SOURCE_WIND:
|
|
case utils.DATA_SOURCE_WIND:
|
|
|
|
+ suffix := utils.GetWindWsdIndexCodeSuffix(v.Period, v.Days, v.PriceAdj)
|
|
edbInfoItem.SourceName = "wind"
|
|
edbInfoItem.SourceName = "wind"
|
|
- edbInfoItem.EdbCode = utils.WindDbWsd + v.StockCode + v.EdbCode
|
|
|
|
|
|
+ edbInfoItem.EdbCode = utils.WindDbWsd + v.StockCode + v.EdbCode + suffix
|
|
case utils.DATA_SOURCE_THS:
|
|
case utils.DATA_SOURCE_THS:
|
|
|
|
+ suffix := utils.GetThsDsIndexCodeSuffix(v.Period, v.Days)
|
|
edbInfoItem.SourceName = "ths"
|
|
edbInfoItem.SourceName = "ths"
|
|
- edbInfoItem.EdbCode = utils.ThsDs + v.StockCode + v.EdbCode
|
|
|
|
|
|
+ edbInfoItem.EdbCode = utils.ThsDs + v.StockCode + v.EdbCode + suffix
|
|
}
|
|
}
|
|
edbInfoItem.SubSource = utils.DATA_SUB_SOURCE_DATE
|
|
edbInfoItem.SubSource = utils.DATA_SUB_SOURCE_DATE
|
|
edbInfoItem.SubSourceName = "日期序列"
|
|
edbInfoItem.SubSourceName = "日期序列"
|
|
@@ -5815,6 +5868,20 @@ func (this *EdbInfoController) EdbInfoBatchAdd() {
|
|
edbInfoItem.IndicatorCode = v.EdbCode
|
|
edbInfoItem.IndicatorCode = v.EdbCode
|
|
edbInfoItem.StockCode = v.StockCode
|
|
edbInfoItem.StockCode = v.StockCode
|
|
|
|
|
|
|
|
+ // 日期序列参数
|
|
|
|
+ var extra data_manage.EdbInfoExtra
|
|
|
|
+ extra.Days = v.Days
|
|
|
|
+ extra.Period = v.Period
|
|
|
|
+ extra.PriceAdj = v.PriceAdj
|
|
|
|
+ extra.ApiExtraPars = v.ApiExtraPars
|
|
|
|
+ b, e := json.Marshal(extra)
|
|
|
|
+ if e != nil {
|
|
|
|
+ br.Msg = "保存失败"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("额外参数JSON格式化失败, %v", e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ edbInfoItem.Extra = string(b)
|
|
|
|
+
|
|
// 指标入库
|
|
// 指标入库
|
|
edbInfo, err, errMsg, isSendEmail := data.EdbInfoWsdAdd(edbInfoItem)
|
|
edbInfo, err, errMsg, isSendEmail := data.EdbInfoWsdAdd(edbInfoItem)
|
|
if err != nil {
|
|
if err != nil {
|