|
@@ -606,3 +606,112 @@ func (c *EdbPublicController) AllListByEs() {
|
|
|
br.Msg = "获取成功"
|
|
|
br.Data = resp
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func (c *EdbPublicController) BatchMoveEdb() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ var req request.MoveEdbClassifyReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if req.NewClassifyId <= 0 {
|
|
|
+ br.Msg = `请选择要转移的新分类`
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ edbInfoIdList := make([]int, 0)
|
|
|
+ if req.IsSelectAll {
|
|
|
+
|
|
|
+ edbInfoList, err := data.GetAllEdbInfoListBySearchPublicEdbReq(req.SearchPublicEdbReq, c.SysUser.AdminId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取指标列表失败!"
|
|
|
+ br.ErrMsg = "获取指标列表失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(req.NoEdbIdList) > 0 {
|
|
|
+ noEdbIdMap := make(map[int]bool)
|
|
|
+ for _, v := range req.NoEdbIdList {
|
|
|
+ noEdbIdMap[v] = true
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, edbInfo := range edbInfoList {
|
|
|
+ if _, ok := noEdbIdMap[edbInfo.EdbInfoId]; !ok {
|
|
|
+ if edbInfo.PublicStatus != utils.EdbPublicSuccess {
|
|
|
+ br.Msg = `存在未公开的指标:` + edbInfo.EdbName
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ edbInfoIdList = append(edbInfoIdList, edbInfo.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for _, edbInfo := range edbInfoList {
|
|
|
+ if edbInfo.PublicStatus != utils.EdbPublicSuccess {
|
|
|
+ br.Msg = `存在未公开的指标:` + edbInfo.EdbName
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoIdList = append(edbInfoIdList, edbInfo.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ edbInfoList, err := data_manage.GetEdbInfoListByCond(` AND edb_info_id in (?) `, []interface{}{req.EdbIdList})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取所有有权限的指标失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range edbInfoList {
|
|
|
+ if v.PublicStatus != utils.EdbPublicSuccess {
|
|
|
+ br.Msg = `存在未公开的指标:` + v.EdbName
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ edbInfoIdList = req.EdbIdList
|
|
|
+ }
|
|
|
+
|
|
|
+ num := len(edbInfoIdList)
|
|
|
+ if num <= 0 {
|
|
|
+ br.Msg = `请选择要移动的指标!`
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if num > 100 {
|
|
|
+ br.Msg = `最多只能选择100条指标!`
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if len(edbInfoIdList) > 0 {
|
|
|
+ err = data_manage.UpdatePublicClassifyIdByEdbInfoIdList(edbInfoIdList, req.NewClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = `指标移动失败!`
|
|
|
+ br.ErrMsg = `指标移动失败,ERR:` + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+}
|