|
@@ -84,18 +84,18 @@ func (this *MaterialController) MaterialClassifyItems() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
-// @Title 新增素材库分类
|
|
|
-// @Description 新增素材库分类接口
|
|
|
+// @Title 新增/编辑素材库分类
|
|
|
+// @Description 新增/编辑材库分类接口
|
|
|
// @Param request body data_manage.AddChartClassifyReq true "type json string"
|
|
|
// @Success 200 Ret=200 保存成功
|
|
|
-// @router /classify/add [post]
|
|
|
-func (this *MaterialController) AddMaterialClassify() {
|
|
|
+// @router /classify/save [post]
|
|
|
+func (this *MaterialController) SaveMaterialClassify() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
this.Data["json"] = br
|
|
|
this.ServeJSON()
|
|
|
}()
|
|
|
- var req material.AddMaterialClassifyReq
|
|
|
+ var req material.SaveMaterialClassifyReq
|
|
|
err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
if err != nil {
|
|
|
br.Msg = "参数解析异常!"
|
|
@@ -113,36 +113,97 @@ func (this *MaterialController) AddMaterialClassify() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- count, err := material.GetMaterialClassifyCount(req.ClassifyName, req.ParentId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "判断名称是否已存在失败"
|
|
|
- br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if count > 0 {
|
|
|
- br.Msg = "分类名称已存在,请重新输入"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
+ level := 1
|
|
|
+ //levelPath := ""
|
|
|
+ if req.ParentId > 0 {
|
|
|
+ //查找父级分类
|
|
|
+ parentClassify, e := material.GetMaterialClassifyById(req.ParentId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取父级分类失败"
|
|
|
+ br.ErrMsg = "获取父级分类失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ level = parentClassify.Level + 1
|
|
|
+ //levelPath = parentClassify.LevelPath
|
|
|
}
|
|
|
- //获取该层级下最大的排序数
|
|
|
- maxSort, err := material.GetMaterialClassifyMaxSort(req.ParentId)
|
|
|
-
|
|
|
- classify := new(material.MaterialClassify)
|
|
|
- classify.ParentId = req.ParentId
|
|
|
- classify.ClassifyName = req.ClassifyName
|
|
|
- classify.CreateTime = time.Now()
|
|
|
- classify.ModifyTime = time.Now()
|
|
|
- classify.SysUserId = this.SysUser.AdminId
|
|
|
- classify.SysUserRealName = this.SysUser.RealName
|
|
|
- classify.Level = req.Level + 1
|
|
|
- classify.Sort = maxSort + 1
|
|
|
-
|
|
|
- _, err = material.AddMaterialClassify(classify)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "保存分类失败"
|
|
|
- br.ErrMsg = "保存分类失败,Err:" + err.Error()
|
|
|
- return
|
|
|
+
|
|
|
+ if req.ClassifyId > 0 {
|
|
|
+ // 只允许修改分类名称
|
|
|
+ item, e := material.GetMaterialClassifyById(req.ClassifyId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ br.Msg = "获取分类信息失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ count, e := material.GetMaterialClassifyNameNotSelfCount(req.ClassifyId, req.ClassifyName, item.ParentId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "判断名称是否已存在失败"
|
|
|
+ br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ br.Msg = "分类名称已存在,请重新输入"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //levelPath = fmt.Sprintf("%s,%d", levelPath, req.ClassifyId)
|
|
|
+ //item.LevelPath = levelPath
|
|
|
+ //item.ParentId = req.ParentId
|
|
|
+ item.ClassifyName = req.ClassifyName
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
+ //e = item.Update([]string{"LevelPath", "ParentId", "ClassifyName", "ModifyTime"})
|
|
|
+ e = item.Update([]string{"ClassifyName", "ModifyTime"})
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "保存分类失败"
|
|
|
+ br.ErrMsg = "保存分类失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //todo 更新子集的levelPath
|
|
|
+ /*e = material.UpdateMaterialClassifyLevelPath(req.ClassifyId, levelPath)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "保存分类失败"
|
|
|
+ br.ErrMsg = "保存分类失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }*/
|
|
|
+ } else {
|
|
|
+ count, e := material.GetMaterialClassifyNameCount(req.ClassifyName, req.ParentId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "判断名称是否已存在失败"
|
|
|
+ br.ErrMsg = "判断名称是否已存在失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ br.Msg = "分类名称已存在,请重新输入"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取该层级下最大的排序数
|
|
|
+ classify := new(material.MaterialClassify)
|
|
|
+ maxSort, _ := material.GetMaterialClassifyMaxSort(req.ParentId)
|
|
|
+ classify.ParentId = req.ParentId
|
|
|
+ classify.ClassifyName = req.ClassifyName
|
|
|
+ classify.CreateTime = time.Now()
|
|
|
+ classify.ModifyTime = time.Now()
|
|
|
+ classify.SysUserId = this.SysUser.AdminId
|
|
|
+ classify.SysUserRealName = this.SysUser.RealName
|
|
|
+ classify.Level = level
|
|
|
+ classify.Sort = maxSort + 1
|
|
|
+ classifyId, e := material.AddMaterialClassify(classify)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "保存分类失败"
|
|
|
+ br.ErrMsg = "保存分类失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classify.LevelPath = fmt.Sprint(classifyId)
|
|
|
+ e = classify.Update([]string{"LevelPath"})
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "保存分类失败"
|
|
|
+ br.ErrMsg = "保存分类失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Msg = "保存成功"
|
|
|
br.Success = true
|
|
@@ -178,43 +239,6 @@ func (this *MaterialController) EditMaterialClassify() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- //item, err := material.GetMaterialClassifyById(req.ClassifyId)
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "保存失败"
|
|
|
- // br.Msg = "获取分类信息失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
-
|
|
|
- //count, err := material.GetMaterialClassifyCount(req.ClassifyName, item.ParentId)
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "判断名称是否已存在失败"
|
|
|
- // br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
- //if count > 0 {
|
|
|
- // br.Msg = "分类名称已存在,请重新输入"
|
|
|
- // br.IsSendEmail = false
|
|
|
- // return
|
|
|
- //}
|
|
|
-
|
|
|
- err = material.EditMaterialClassify(req.ClassifyId, req.ChartPermissionId, req.ClassifyName, req.ChartPermissionName)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "保存失败"
|
|
|
- br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- ids, err := material.GetMaterialClassifySubcategories(req.ClassifyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "查询子级分类id失败"
|
|
|
- br.ErrMsg = "查询子级分类id失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- err = material.UpdateMaterialClassifyChartPermissionById(req.ChartPermissionId, req.ChartPermissionName, ids)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "修改子级分类错误"
|
|
|
- br.ErrMsg = "修改子级分类错误,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
br.Ret = 200
|
|
|
br.Msg = "保存成功"
|
|
|
br.Success = true
|