|
@@ -1,9 +1,238 @@
|
|
|
package cross_variety
|
|
|
|
|
|
-import "eta/eta_api/controllers"
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "eta/eta_api/controllers"
|
|
|
+ "eta/eta_api/models"
|
|
|
+ "eta/eta_api/models/data_manage/cross_variety"
|
|
|
+ "eta/eta_api/models/data_manage/cross_variety/request"
|
|
|
+ "eta/eta_api/models/data_manage/cross_variety/response"
|
|
|
+ "eta/eta_api/utils"
|
|
|
+ "time"
|
|
|
+)
|
|
|
|
|
|
// TagController
|
|
|
// @Description: 标签列表
|
|
|
type TagController struct {
|
|
|
controllers.BaseAuthController
|
|
|
}
|
|
|
+
|
|
|
+// Add
|
|
|
+// @Title 新增标签
|
|
|
+// @Description 新增标签接口
|
|
|
+// @Param request body request.AddTagReq true "type json string"
|
|
|
+// @Success 200 Ret=200 添加成功
|
|
|
+// @router /tag/add [post]
|
|
|
+func (c *TagController) Add() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req request.AddTagReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.TagName == "" {
|
|
|
+ br.Msg = "请输入标签名称"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ TagName := utils.TrimStr(req.TagName)
|
|
|
+ item, err := cross_variety.GetTagByName(TagName)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "添加失败"
|
|
|
+ br.ErrMsg = "添加失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if item != nil {
|
|
|
+ br.Msg = "添加失败,标签名称不能重复"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ tag := &cross_variety.ChartTag{
|
|
|
+ ChartTagId: 0,
|
|
|
+ ChartTagName: TagName,
|
|
|
+ SysUserId: c.SysUser.AdminId,
|
|
|
+ SysUserRealName: c.SysUser.RealName,
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ }
|
|
|
+ err = cross_variety.AddTag(tag)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "添加标签失败"
|
|
|
+ br.ErrMsg = "添加标签失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "添加成功"
|
|
|
+ br.IsAddLog = true
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// Edit
|
|
|
+// @Title 编辑标签接口
|
|
|
+// @Description 编辑标签接口
|
|
|
+// @Param request body request.EditTagReq true "type json string"
|
|
|
+// @Success 200 Ret=200 修改成功
|
|
|
+// @router /tag/edit [post]
|
|
|
+func (c *TagController) Edit() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req request.EditTagReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.ChartTagId <= 0 {
|
|
|
+ br.Msg = "请选择标签"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.TagName == "" {
|
|
|
+ br.Msg = "请输入标签名称"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ TagName := utils.TrimStr(req.TagName)
|
|
|
+
|
|
|
+ item, err := cross_variety.GetTagByName(TagName)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "添加失败"
|
|
|
+ br.ErrMsg = "添加失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if item != nil && item.ChartTagId != req.ChartTagId {
|
|
|
+ br.Msg = "添加失败,标签名称不能重复"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取标签详情
|
|
|
+ varietyInfo, err := cross_variety.GetTagById(req.ChartTagId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询标签失败"
|
|
|
+ br.ErrMsg = "查询标签失败;ERR:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 编辑
|
|
|
+ varietyInfo.ChartTagName = TagName
|
|
|
+ varietyInfo.ModifyTime = time.Now()
|
|
|
+ err = varietyInfo.Update([]string{"ChartTagName", "ModifyTime"})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "修改标签失败"
|
|
|
+ br.ErrMsg = "修改标签失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "修改成功"
|
|
|
+ br.IsAddLog = true
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// DeleteCheck
|
|
|
+// @Title 删除标签检测接口
|
|
|
+// @Description 删除标签检测接口
|
|
|
+// @Param request body request.DelTagReq true "type json string"
|
|
|
+// @Success 200 Ret=200 检测成功
|
|
|
+// @router /tag/delete/check [post]
|
|
|
+func (c *TagController) DeleteCheck() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req request.DelTagReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if req.ChartTagId <= 0 {
|
|
|
+ br.Msg = "请选择标签"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var deleteStatus int
|
|
|
+ var tipsMsg string
|
|
|
+
|
|
|
+ // todo 校验标签与图表的关系
|
|
|
+ //deleteStatus = 1
|
|
|
+ //tipsMsg = "已关联图表的标签,不允许删除!"
|
|
|
+ resp := response.TagDeleteCheckResp{
|
|
|
+ DeleteStatus: deleteStatus,
|
|
|
+ TipsMsg: tipsMsg,
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "检测成功"
|
|
|
+ br.Success = true
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// Delete
|
|
|
+// @Title 删除标签
|
|
|
+// @Description 删除标签接口
|
|
|
+// @Param request body data_manage.DeleteChartClassifyReq true "type json string"
|
|
|
+// @Success 200 Ret=200 删除成功
|
|
|
+// @router /tag/delete [post]
|
|
|
+func (c *TagController) Delete() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req request.DelTagReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if req.ChartTagId <= 0 {
|
|
|
+ br.Msg = "请选择标签"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // todo 校验标签与图表的关系
|
|
|
+ //deleteStatus = 1
|
|
|
+ //tipsMsg = "已关联图表的标签,不允许删除!"
|
|
|
+
|
|
|
+ varietyInfo, err := cross_variety.GetTagById(req.ChartTagId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "该标签不存在或已删除"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ } else {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "查找标签失败,ERR:" + err.Error()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = varietyInfo.Delete()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除标签失败,ERR:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "删除成功"
|
|
|
+ br.Success = true
|
|
|
+ br.IsAddLog = true
|
|
|
+}
|