|
@@ -1,7 +1,8 @@
|
|
|
-package controllers
|
|
|
+package data_manage
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "eta/eta_api/controllers"
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/models/data_manage"
|
|
|
"eta/eta_api/models/system"
|
|
@@ -19,27 +20,32 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
+// ManualEdbController 手工指标服务(鉴权)
|
|
|
+type ManualEdbController struct {
|
|
|
+ controllers.BaseAuthController
|
|
|
+}
|
|
|
+
|
|
|
// EdbDetail
|
|
|
// @Title 指标列表
|
|
|
// @Description 指标列表
|
|
|
// @Param TradeCode query string true "指标编码"
|
|
|
// @Success 200 {object} models.TargetDetailResp
|
|
|
// @router /target/edb/detail [get]
|
|
|
-func (this *TargetController) EdbDetail() {
|
|
|
+func (c *ManualEdbController) EdbDetail() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请重新登录"
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 指标编码
|
|
|
- tradeCode := this.GetString("TradeCode")
|
|
|
+ tradeCode := c.GetString("TradeCode")
|
|
|
if tradeCode == `` {
|
|
|
br.Msg = "请输入指标编码"
|
|
|
br.IsSendEmail = false
|
|
@@ -119,13 +125,13 @@ func (this *TargetController) EdbDetail() {
|
|
|
// @Param ClassifyId query string true "分类id"
|
|
|
// @Success 200 {object} models.TargetDetailResp
|
|
|
// @router /target/classify/edb/list [get]
|
|
|
-func (this *TargetController) ClassifyEdbList() {
|
|
|
+func (c *ManualEdbController) ClassifyEdbList() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请登录"
|
|
|
br.Ret = 408
|
|
@@ -133,7 +139,7 @@ func (this *TargetController) ClassifyEdbList() {
|
|
|
}
|
|
|
resp := new(models.EdbdataClassifyResp)
|
|
|
|
|
|
- classifyId, _ := this.GetInt("ClassifyId") //分类
|
|
|
+ classifyId, _ := c.GetInt("ClassifyId") //分类
|
|
|
if classifyId <= 0 {
|
|
|
br.Msg = "请传入分类"
|
|
|
br.ErrMsg = "请传入分类"
|
|
@@ -198,21 +204,21 @@ func (this *TargetController) ClassifyEdbList() {
|
|
|
// @Param Keyword query string false "关键字搜索"
|
|
|
// @Success 200 {object} models.TargetItemListResp
|
|
|
// @router /target/edb/search [get]
|
|
|
-func (this *TargetController) EdbSearch() {
|
|
|
+func (c *ManualEdbController) EdbSearch() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请重新登录"
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- pageSize, _ := this.GetInt("PageSize")
|
|
|
- currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ pageSize, _ := c.GetInt("PageSize")
|
|
|
+ currentIndex, _ := c.GetInt("CurrentIndex")
|
|
|
|
|
|
var startSize int
|
|
|
if pageSize <= 0 {
|
|
@@ -224,7 +230,7 @@ func (this *TargetController) EdbSearch() {
|
|
|
startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
|
|
|
//关键字
|
|
|
- keyword := this.GetString("Keyword")
|
|
|
+ keyword := c.GetString("Keyword")
|
|
|
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
@@ -295,21 +301,21 @@ func (this *TargetController) EdbSearch() {
|
|
|
// @Param EdbShowType query string true "指标展示类型:0,1,2; 0:不管有没有数据,指标都展示出来, 1:只展示有数据的指标, 2:只展示没有数据的指标"
|
|
|
// @Success 200 {object} models.TargetItemListResp
|
|
|
// @router /target/edb/list [get]
|
|
|
-func (this *TargetController) EdbList() {
|
|
|
+func (c *ManualEdbController) EdbList() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请重新登录"
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- pageSize, _ := this.GetInt("PageSize")
|
|
|
- currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ pageSize, _ := c.GetInt("PageSize")
|
|
|
+ currentIndex, _ := c.GetInt("CurrentIndex")
|
|
|
|
|
|
var startSize int
|
|
|
if pageSize <= 0 {
|
|
@@ -321,13 +327,13 @@ func (this *TargetController) EdbList() {
|
|
|
startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
|
|
|
// 频度
|
|
|
- frequency := this.GetString("Frequency")
|
|
|
+ frequency := c.GetString("Frequency")
|
|
|
//关键字
|
|
|
- keyword := this.GetString("Keyword")
|
|
|
+ keyword := c.GetString("Keyword")
|
|
|
//关键字
|
|
|
- classifyId, _ := this.GetInt("ClassifyId", 0)
|
|
|
+ classifyId, _ := c.GetInt("ClassifyId", 0)
|
|
|
//用户ID
|
|
|
- userId, _ := this.GetInt("UserId", 0)
|
|
|
+ userId, _ := c.GetInt("UserId", 0)
|
|
|
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
@@ -405,7 +411,7 @@ func (this *TargetController) EdbList() {
|
|
|
// @Param request body models.ManualEdbExcelStyleEditReq true "type json string"
|
|
|
// @Success 200
|
|
|
// @router /target/edb/excel_style/edit [post]
|
|
|
-func (this *TargetController) EditExcelData() {
|
|
|
+func (c *ManualEdbController) EditExcelData() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
var err error
|
|
|
errs := make([]string, 0)
|
|
@@ -413,18 +419,18 @@ func (this *TargetController) EditExcelData() {
|
|
|
if len(errs) > 0 {
|
|
|
utils.FileLog.Info("编辑EXCEL数据 新增或修改数据失败,Err:" + strings.Join(errs, "\n"))
|
|
|
}
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请重新登录"
|
|
|
return
|
|
|
}
|
|
|
|
|
|
var req data_manage.ManualEdbExcelStyleEditReq
|
|
|
- err = json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ err = json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
if err != nil {
|
|
|
br.Msg = "参数解析异常!"
|
|
|
br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
@@ -663,21 +669,21 @@ func (this *TargetController) EditExcelData() {
|
|
|
// @Param request body models.BatchAddEdbReq true "type json string"
|
|
|
// @Success 200 {object} models.TargetItemListResp
|
|
|
// @router /target/edb/batch/list [post]
|
|
|
-func (this *TargetController) BatchEdbList() {
|
|
|
+func (c *ManualEdbController) BatchEdbList() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请重新登录"
|
|
|
return
|
|
|
}
|
|
|
|
|
|
var req models.BatchManualEdbReq
|
|
|
- err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
|
|
|
pageSize := req.PageSize
|
|
|
currentIndex := req.CurrentIndex
|
|
@@ -770,6 +776,7 @@ func (this *TargetController) BatchEdbList() {
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|
|
|
br.Data = resp
|
|
|
+ br.IsAddLog = false
|
|
|
}
|
|
|
|
|
|
// BatchAddEdbCheck
|
|
@@ -778,16 +785,16 @@ func (this *TargetController) BatchEdbList() {
|
|
|
// @Param request body data_manage.BatchManualEdbReq true "type json string"
|
|
|
// @Success 200 string "操作成功"
|
|
|
// @router /target/edb/batch/add/check [post]
|
|
|
-func (this *TargetController) BatchAddEdbCheck() {
|
|
|
+func (c *ManualEdbController) BatchAddEdbCheck() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
if br.ErrMsg == "" {
|
|
|
br.IsSendEmail = false
|
|
|
}
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请登录"
|
|
|
br.ErrMsg = "请登录,SysUser Is Empty"
|
|
@@ -799,7 +806,7 @@ func (this *TargetController) BatchAddEdbCheck() {
|
|
|
codeMax := 30
|
|
|
|
|
|
var req models.BatchManualEdbReq
|
|
|
- err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
|
|
|
req.Keyword = strings.TrimSpace(req.Keyword)
|
|
|
|
|
@@ -902,16 +909,16 @@ func (this *TargetController) BatchAddEdbCheck() {
|
|
|
// @Param request body data_manage.AddEdbInfoReq true "type json string"
|
|
|
// @Success 200 string "操作成功"
|
|
|
// @router /target/edb/batch/add/name_check [post]
|
|
|
-func (this *TargetController) NameCheck() {
|
|
|
+func (c *ManualEdbController) NameCheck() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
if br.ErrMsg == "" {
|
|
|
br.IsSendEmail = false
|
|
|
}
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请登录"
|
|
|
br.ErrMsg = "请登录,SysUser Is Empty"
|
|
@@ -919,7 +926,7 @@ func (this *TargetController) NameCheck() {
|
|
|
return
|
|
|
}
|
|
|
var req []*data_manage.AddEdbInfoReq
|
|
|
- if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
+ if e := json.Unmarshal(c.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
br.Msg = "参数解析异常!"
|
|
|
br.ErrMsg = "参数解析失败,Err:" + e.Error()
|
|
|
return
|
|
@@ -983,16 +990,16 @@ func (this *TargetController) NameCheck() {
|
|
|
// @Param request body data_manage.AddEdbInfoReq true "type json string"
|
|
|
// @Success 200 string "操作成功"
|
|
|
// @router /target/edb/batch/add [post]
|
|
|
-func (this *TargetController) BatchAdd() {
|
|
|
+func (c *ManualEdbController) BatchAdd() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
if br.ErrMsg == "" {
|
|
|
br.IsSendEmail = false
|
|
|
}
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请登录"
|
|
|
br.ErrMsg = "请登录,SysUser Is Empty"
|
|
@@ -1013,11 +1020,11 @@ func (this *TargetController) BatchAdd() {
|
|
|
if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
|
|
|
deleteCache = false
|
|
|
br.Msg = "系统处理中,请稍后重试!"
|
|
|
- br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(this.Ctx.Input.RequestBody)
|
|
|
+ br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(c.Ctx.Input.RequestBody)
|
|
|
return
|
|
|
}
|
|
|
var req []*data_manage.AddEdbInfoReq
|
|
|
- if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
+ if e := json.Unmarshal(c.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
br.Msg = "参数解析异常!"
|
|
|
br.ErrMsg = "参数解析失败,Err:" + e.Error()
|
|
|
return
|
|
@@ -1070,7 +1077,7 @@ func (this *TargetController) BatchAdd() {
|
|
|
r.AdminId = sysUser.AdminId
|
|
|
r.AdminRealName = sysUser.RealName
|
|
|
|
|
|
- edbInfo, e, errMsg, skip := data.ManualIndexSource2Edb(r, this.Lang)
|
|
|
+ edbInfo, e, errMsg, skip := data.ManualIndexSource2Edb(r, c.Lang)
|
|
|
if e != nil {
|
|
|
br.Msg = "操作失败"
|
|
|
if errMsg != "" {
|
|
@@ -1113,9 +1120,9 @@ func (this *TargetController) BatchAdd() {
|
|
|
edbLog.SysUserId = sysUser.AdminId
|
|
|
edbLog.SysUserRealName = sysUser.RealName
|
|
|
edbLog.CreateTime = time.Now()
|
|
|
- edbLog.Content = string(this.Ctx.Input.RequestBody)
|
|
|
+ edbLog.Content = string(c.Ctx.Input.RequestBody)
|
|
|
edbLog.Status = "新增指标"
|
|
|
- edbLog.Method = this.Ctx.Input.URI()
|
|
|
+ edbLog.Method = c.Ctx.Input.URI()
|
|
|
go data_manage.AddEdbInfoLog(edbLog)
|
|
|
}
|
|
|
}
|
|
@@ -1132,16 +1139,16 @@ func (this *TargetController) BatchAdd() {
|
|
|
// @Param request body data_manage.BatchManualEdbReq true "type json string"
|
|
|
// @Success 200 string "操作成功"
|
|
|
// @router /target/edb/batch/del/check [post]
|
|
|
-func (this *TargetController) BatchDelEdbCheck() {
|
|
|
+func (c *ManualEdbController) BatchDelEdbCheck() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
if br.ErrMsg == "" {
|
|
|
br.IsSendEmail = false
|
|
|
}
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请登录"
|
|
|
br.ErrMsg = "请登录,SysUser Is Empty"
|
|
@@ -1150,7 +1157,7 @@ func (this *TargetController) BatchDelEdbCheck() {
|
|
|
}
|
|
|
|
|
|
var req models.BatchManualEdbReq
|
|
|
- err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
|
|
|
req.Keyword = strings.TrimSpace(req.Keyword)
|
|
|
|
|
@@ -1249,16 +1256,16 @@ func (this *TargetController) BatchDelEdbCheck() {
|
|
|
// @Param request body data_manage.AddEdbInfoReq true "type json string"
|
|
|
// @Success 200 string "操作成功"
|
|
|
// @router /target/edb/batch/del [post]
|
|
|
-func (this *TargetController) BatchDel() {
|
|
|
+func (c *ManualEdbController) BatchDel() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
if br.ErrMsg == "" {
|
|
|
br.IsSendEmail = false
|
|
|
}
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请登录"
|
|
|
br.ErrMsg = "请登录,SysUser Is Empty"
|
|
@@ -1266,9 +1273,6 @@ func (this *TargetController) BatchDel() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- // 最大批量添加的数量
|
|
|
- codeMax := 30
|
|
|
-
|
|
|
deleteCache := true
|
|
|
cacheKey := "CACHE_EDB_INFO_BATCH_ADD_MANUAL_" + strconv.Itoa(sysUser.AdminId)
|
|
|
defer func() {
|
|
@@ -1279,114 +1283,113 @@ func (this *TargetController) BatchDel() {
|
|
|
if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
|
|
|
deleteCache = false
|
|
|
br.Msg = "系统处理中,请稍后重试!"
|
|
|
- br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(this.Ctx.Input.RequestBody)
|
|
|
+ br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(c.Ctx.Input.RequestBody)
|
|
|
return
|
|
|
}
|
|
|
- var req []*data_manage.AddEdbInfoReq
|
|
|
- if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
- br.Msg = "参数解析异常!"
|
|
|
- br.ErrMsg = "参数解析失败,Err:" + e.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if len(req) == 0 {
|
|
|
- br.Msg = "请选择指标"
|
|
|
- return
|
|
|
- }
|
|
|
- if len(req) > codeMax {
|
|
|
- br.Msg = "批量添加指标数量不得超过30个"
|
|
|
- return
|
|
|
- }
|
|
|
- indexNames := make([]string, 0)
|
|
|
- for _, v := range req {
|
|
|
- v.EdbCode = strings.TrimSpace(v.EdbCode)
|
|
|
- if v.EdbCode == "" {
|
|
|
- br.Msg = "指标ID不可为空"
|
|
|
+ var req models.BatchManualEdbReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+
|
|
|
+ req.Keyword = strings.TrimSpace(req.Keyword)
|
|
|
+
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ // 就是为了找出已经加入指标库的指标
|
|
|
+ condition += ` AND a.is_join_edb = ? `
|
|
|
+ pars = append(pars, 0)
|
|
|
+
|
|
|
+ //超管账号可以查看分类下的所有频度数据
|
|
|
+ if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
|
|
|
+ classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类数据失败"
|
|
|
+ br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- v.EdbName = strings.TrimSpace(v.EdbName)
|
|
|
- if v.EdbName == "" {
|
|
|
- br.Msg = "请输入指标名称"
|
|
|
- return
|
|
|
+
|
|
|
+ num := len(classifyList)
|
|
|
+ if num > 0 {
|
|
|
+ classifyIdList := make([]int, 0)
|
|
|
+ for _, v := range classifyList {
|
|
|
+ classifyIdList = append(classifyIdList, v.ClassifyId)
|
|
|
+ }
|
|
|
+ condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
|
|
|
+ pars = append(pars, classifyIdList)
|
|
|
}
|
|
|
- indexNames = append(indexNames, v.EdbName)
|
|
|
- v.Frequency = strings.TrimSpace(v.Frequency)
|
|
|
- if v.Frequency == "" {
|
|
|
- br.Msg = "请选择频度"
|
|
|
- return
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if req.ListAll {
|
|
|
+ // 关键词
|
|
|
+ if req.Keyword != "" {
|
|
|
+ condition += ` AND (a.SEC_NAME like ? or a.TRADE_CODE like ? )`
|
|
|
+ pars = utils.GetLikeKeywordPars(pars, req.Keyword, 2)
|
|
|
}
|
|
|
- v.Unit = strings.TrimSpace(v.Unit)
|
|
|
- if v.Unit == "" {
|
|
|
- br.Msg = "请输入单位"
|
|
|
- return
|
|
|
+
|
|
|
+ // 所属分类
|
|
|
+ lenFrequency := len(req.FrequencyList)
|
|
|
+ if lenFrequency > 0 {
|
|
|
+ condition += ` AND a.frequency in (` + utils.GetOrmInReplace(lenFrequency) + `) `
|
|
|
+ pars = append(pars, req.FrequencyList)
|
|
|
}
|
|
|
- if v.ClassifyId <= 0 {
|
|
|
- br.Msg = "请选择分类"
|
|
|
- return
|
|
|
+
|
|
|
+ // 所属分类
|
|
|
+ lenClassify := len(req.ClassifyIdList)
|
|
|
+ if lenClassify > 0 {
|
|
|
+ condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(lenClassify) + `) `
|
|
|
+ pars = append(pars, req.ClassifyIdList)
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- // 限定同一时间最多批量新增30个指标
|
|
|
- for _, v := range req {
|
|
|
- var r data.ManualIndexSource2EdbReq
|
|
|
- r.EdbCode = v.EdbCode
|
|
|
- r.EdbName = v.EdbName
|
|
|
- r.Frequency = v.Frequency
|
|
|
- r.Unit = v.Unit
|
|
|
- r.ClassifyId = v.ClassifyId
|
|
|
- r.AdminId = sysUser.AdminId
|
|
|
- r.AdminRealName = sysUser.RealName
|
|
|
+ // 所属用户
|
|
|
+ lenUser := len(req.UserIdList)
|
|
|
+ if lenUser > 0 {
|
|
|
+ condition += ` AND a.user_id in (` + utils.GetOrmInReplace(lenUser) + `) `
|
|
|
+ pars = append(pars, req.UserIdList)
|
|
|
+ }
|
|
|
|
|
|
- edbInfo, e, errMsg, skip := data.ManualIndexSource2Edb(r, this.Lang)
|
|
|
- if e != nil {
|
|
|
- br.Msg = "操作失败"
|
|
|
- if errMsg != "" {
|
|
|
- br.Msg = errMsg
|
|
|
- }
|
|
|
- br.ErrMsg = e.Error()
|
|
|
+ lenTradeList := len(req.TradeCodeList)
|
|
|
+ // 指标
|
|
|
+ if lenTradeList > 0 {
|
|
|
+ condition += ` AND a.TRADE_CODE not in (` + utils.GetOrmInReplace(lenTradeList) + `) `
|
|
|
+ pars = append(pars, req.TradeCodeList)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ lenTradeList := len(req.TradeCodeList)
|
|
|
+ if lenTradeList <= 0 {
|
|
|
+ br.Msg = "请选择指标"
|
|
|
+ br.ErrMsg = "请选择指标"
|
|
|
return
|
|
|
}
|
|
|
- if skip {
|
|
|
- continue
|
|
|
+ // 指标
|
|
|
+ if lenTradeList > 0 {
|
|
|
+ condition += ` AND a.TRADE_CODE in (` + utils.GetOrmInReplace(lenTradeList) + `) `
|
|
|
+ pars = append(pars, req.TradeCodeList)
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- // 试用平台更新用户累计新增指标数
|
|
|
- if utils.BusinessCode == utils.BusinessCodeSandbox {
|
|
|
- go func() {
|
|
|
- adminItem, e := system.GetSysAdminById(sysUser.AdminId)
|
|
|
- if e != nil {
|
|
|
- tips := fmt.Sprintf("试用平台更新用户累计新增指标数-获取用户失败, Err: " + e.Error())
|
|
|
- utils.FileLog.Info(tips)
|
|
|
- return
|
|
|
- }
|
|
|
- if adminItem.DepartmentName != "ETA试用客户" {
|
|
|
- return
|
|
|
- }
|
|
|
- var ur etaTrialService.EtaTrialUserReq
|
|
|
- ur.Mobile = adminItem.Mobile
|
|
|
- _, _ = etaTrialService.UpdateUserIndexNum(ur)
|
|
|
- }()
|
|
|
- }
|
|
|
+ list, err := models.GetEdbInfoList(condition, pars, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- // 新增操作日志
|
|
|
- {
|
|
|
- edbLog := new(data_manage.EdbInfoLog)
|
|
|
- edbLog.EdbInfoId = edbInfo.EdbInfoId
|
|
|
- edbLog.SourceName = edbInfo.SourceName
|
|
|
- edbLog.Source = edbInfo.Source
|
|
|
- edbLog.EdbCode = edbInfo.EdbCode
|
|
|
- edbLog.EdbName = edbInfo.EdbName
|
|
|
- edbLog.ClassifyId = edbInfo.ClassifyId
|
|
|
- edbLog.SysUserId = sysUser.AdminId
|
|
|
- edbLog.SysUserRealName = sysUser.RealName
|
|
|
- edbLog.CreateTime = time.Now()
|
|
|
- edbLog.Content = string(this.Ctx.Input.RequestBody)
|
|
|
- edbLog.Status = "新增指标"
|
|
|
- edbLog.Method = this.Ctx.Input.URI()
|
|
|
- go data_manage.AddEdbInfoLog(edbLog)
|
|
|
+ // TODO 二次校验指标是否已经加到指标库
|
|
|
+ {
|
|
|
+ codeList := make([]string, 0)
|
|
|
+ // 限定同一时间最多批量新增30个指标
|
|
|
+ for _, v := range list {
|
|
|
+ codeList = append(codeList, v.TradeCode)
|
|
|
+ }
|
|
|
+ err = models.DelManualIndexByCodeList(codeList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- br.Msg = "操作成功"
|
|
|
+ br.Msg = "删除成功"
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.IsAddLog = true
|
|
@@ -1398,18 +1401,18 @@ func (this *TargetController) BatchDel() {
|
|
|
// @Param EntryFile query file true "文件"
|
|
|
// @Success 200 Ret=200 录入成功
|
|
|
// @router /import/data [post]
|
|
|
-func (this *TargetController) ImportData() {
|
|
|
+func (c *ManualEdbController) ImportData() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
}()
|
|
|
- sysUser := this.SysUser
|
|
|
+ sysUser := c.SysUser
|
|
|
if sysUser == nil {
|
|
|
br.Msg = "请重新登录"
|
|
|
return
|
|
|
}
|
|
|
- file, _, err := this.GetFile("EntryFile")
|
|
|
+ file, _, err := c.GetFile("EntryFile")
|
|
|
if err != nil {
|
|
|
br.Msg = "获取文件失败"
|
|
|
br.ErrMsg = "获取文件失败,Err:" + err.Error()
|
|
@@ -1417,7 +1420,7 @@ func (this *TargetController) ImportData() {
|
|
|
}
|
|
|
path := "./static/数据导入_" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
|
|
|
defer file.Close()
|
|
|
- err = this.SaveToFile("EntryFile", path)
|
|
|
+ err = c.SaveToFile("EntryFile", path)
|
|
|
if err != nil {
|
|
|
br.Msg = "文件保存失败"
|
|
|
br.ErrMsg = "文件保存失败,Err:" + err.Error()
|