|
@@ -21,6 +21,7 @@ import (
|
|
|
etaTrialService "eta/eta_api/services/eta_trial"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
+ "sort"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"sync"
|
|
@@ -6684,3 +6685,173 @@ func (this *EdbInfoController) ChartImageSetBySvg() {
|
|
|
br.Success = true
|
|
|
br.Msg = "保存成功"
|
|
|
}
|
|
|
+
|
|
|
+// ModifyChartList
|
|
|
+// @Title 批量修改图表
|
|
|
+// @Description 批量修改图表
|
|
|
+// @Param SysUserIds query string true "根据创建人查询"
|
|
|
+// @Param ChartClassifyIds query string true "图片分类id"
|
|
|
+// @Success 200 {object} models.ChartClassifyListResp
|
|
|
+// @router /modify/edbList [post]
|
|
|
+func (this *EdbInfoController) ModifyEdbList() {
|
|
|
+ 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.ModifyEdbListReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyIds := strings.Split(req.EdbClassifyIds, ",")
|
|
|
+
|
|
|
+
|
|
|
+ if !req.SelectAll && req.EdbInfoIds == "" {
|
|
|
+ br.Msg = "请选择图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.ClassifyId < 0 {
|
|
|
+ br.Msg = "请选择新分类"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ edbInfoIds := make([]int, 0)
|
|
|
+
|
|
|
+ if req.SelectAll {
|
|
|
+ // 已授权分类id
|
|
|
+ permissionClassifyIdList, err := data_manage_permission.GetUserEdbClassifyPermissionList(this.SysUser.AdminId, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyIdsArr := make([]int, 0)
|
|
|
+ for _, v := range classifyIds {
|
|
|
+ if v != `` {
|
|
|
+ id, _ := strconv.Atoi(v)
|
|
|
+ classifyIdsArr = append(classifyIdsArr, id)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(permissionClassifyIdList) > 0 {
|
|
|
+ classifyIdsArr = utils.IntersectInt(permissionClassifyIdList, classifyIdsArr)
|
|
|
+ }
|
|
|
+
|
|
|
+ condition += " AND edb_info_type = 0 "
|
|
|
+ if len(classifyIdsArr) > 0 {
|
|
|
+ if !req.SubClassify {
|
|
|
+ condition += " AND classify_id IN(" + utils.GetOrmInReplace(len(classifyIdsArr)) + ") "
|
|
|
+ pars = append(pars, classifyIdsArr)
|
|
|
+ } else {
|
|
|
+ classifyAll, err := data_manage.GetEdbClassifyAll()
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ finalClassifyIds := make([]int, 0)
|
|
|
+ parents := data.GetEdbClassifyChildrenRecursiveByParentIds(classifyAll, classifyIds)
|
|
|
+ sort.Slice(parents, func(i, j int) bool {
|
|
|
+ return parents[i].Level < parents[i].Level
|
|
|
+ })
|
|
|
+ for _, v := range parents {
|
|
|
+ finalClassifyIds = append(finalClassifyIds, v.ClassifyId)
|
|
|
+ }
|
|
|
+
|
|
|
+ condition += " AND classify_id IN(" + utils.GetOrmInReplace(len(finalClassifyIds)) + ") "
|
|
|
+ pars = append(pars, finalClassifyIds)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if req.KeyWord != "" {
|
|
|
+ condition += ` AND edb_name LIKE '%` + req.KeyWord + `%' `
|
|
|
+ }
|
|
|
+ if req.Sources != "" {
|
|
|
+ condition += " AND source IN(" + utils.GetOrmInReplace(len(strings.Split(req.Sources, ","))) + ") "
|
|
|
+ pars = append(pars, strings.Split(req.Sources, ","))
|
|
|
+ }
|
|
|
+ if req.SysUserIds != "" {
|
|
|
+ adminIds := strings.Split(req.SysUserIds, ",")
|
|
|
+ if len(adminIds) == 0 {
|
|
|
+ br.Msg = "请选择正确的创建人"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ adminIdsSlice := make([]int, 0)
|
|
|
+ for _, adminId := range adminIds {
|
|
|
+ adminIdInt, e := strconv.Atoi(adminId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "请选择正确的创建人"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ adminIdsSlice = append(adminIdsSlice, adminIdInt)
|
|
|
+ }
|
|
|
+ condition += " AND sys_user_id in (" + utils.GetOrmInReplace(len(adminIds)) + ") "
|
|
|
+ pars = append(pars, adminIdsSlice)
|
|
|
+ }
|
|
|
+
|
|
|
+ count, err := data_manage.GetEdbInfoByConditionCount(condition, pars)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 100 {
|
|
|
+ br.Msg = "最多选择100个"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list, err := data_manage.GetEdbInfoListByCondition(condition, pars, 0, 0, "")
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ for _, v := range list {
|
|
|
+ edbInfoIds = append(edbInfoIds, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ edbIds := strings.Split(req.EdbInfoIds, ",")
|
|
|
+ if len(edbIds) == 0 {
|
|
|
+ br.Msg = "请选择图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, id := range edbIds {
|
|
|
+ tmp, e := strconv.Atoi(id)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "请选择正确的分类"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoIds = append(edbInfoIds, tmp)
|
|
|
+ }
|
|
|
+ if len(edbInfoIds) > 100 {
|
|
|
+ br.Msg = "最多只能选择100个图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ err = data_manage.UpdateEdbClassifyIdByChartInfoId(edbInfoIds, req.ClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "更新失败"
|
|
|
+ br.ErrMsg = "更新图表分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+}
|