소스 검색

fix:调整不同语言版本下,指标/图表分类名称的增加与编辑

Roc 10 달 전
부모
커밋
3f726bfd47

+ 9 - 0
controllers/base_auth.go

@@ -40,6 +40,7 @@ type BaseAuthController struct {
 	web.Controller
 	SysUser *system.Admin
 	Session *system.SysSession
+	Lang    string `description:"当前语言类型,中文:zh;英文:en;默认:zh"`
 }
 
 func (this *BaseAuthController) Prepare() {
@@ -49,6 +50,14 @@ func (this *BaseAuthController) Prepare() {
 	//fmt.Println("Url:", uri)
 	if method != "HEAD" {
 		if method == "POST" || method == "GET" {
+			// 当前语言
+			{
+				lang := this.Ctx.Input.Header("Lang")
+				if lang == "" {
+					lang = utils.LangZh
+				}
+				this.Lang = lang
+			}
 			authorization := this.Ctx.Input.Header("authorization")
 			if authorization == "" {
 				authorization = this.Ctx.Input.Header("Authorization")

+ 10 - 0
controllers/base_common.go

@@ -12,6 +12,7 @@ import (
 
 type BaseCommonController struct {
 	web.Controller
+	Lang string `description:"当前语言类型,中文:zh;英文:en;默认:zh"`
 }
 
 func (c *BaseCommonController) Prepare() {
@@ -22,6 +23,15 @@ func (c *BaseCommonController) Prepare() {
 	} else {
 		requestBody, _ = url.QueryUnescape(string(c.Ctx.Input.RequestBody))
 	}
+	// 当前语言
+	{
+		lang := c.Ctx.Input.Header("Lang")
+		if lang == "" {
+			lang = utils.LangZh
+		}
+		c.Lang = lang
+	}
+
 	ip := c.Ctx.Input.IP()
 	utils.ApiLog.Info("uri:%s, requestBody:%s, responseBody:%s, ip:%s", c.Ctx.Input.URI(), requestBody, ip)
 }

+ 2 - 2
controllers/data_manage/edb_classify.go

@@ -207,7 +207,7 @@ func (this *EdbClassifyController) AddEdbClassify() {
 	}
 
 	//添加指标
-	_, err, errMsg := data.AddEdbClassify(req.ClassifyName, req.ParentId, req.Level, 0, this.SysUser.AdminId, this.SysUser.AdminName)
+	_, err, errMsg := data.AddEdbClassify(req.ClassifyName, req.ParentId, req.Level, 0, this.SysUser.AdminId, this.SysUser.AdminName, this.Lang)
 	if errMsg != `` {
 		br.Msg = errMsg
 		br.ErrMsg = errMsg
@@ -288,7 +288,7 @@ func (this *EdbClassifyController) EditEdbClassify() {
 		return
 	}
 
-	err, errMsg := data.EditEdbClassify(req.ClassifyId, req.ClassifyName, this.SysUser)
+	err, errMsg := data.EditEdbClassify(req.ClassifyId, req.ClassifyName, this.Lang, this.SysUser)
 	if errMsg != `` {
 		br.Msg = errMsg
 		br.ErrMsg = errMsg

+ 11 - 56
controllers/data_manage/future_good/future_good_chart_classify.go

@@ -9,7 +9,6 @@ import (
 	"eta/eta_mobile/services/data"
 	"eta/eta_mobile/utils"
 	"fmt"
-	"strconv"
 	"time"
 )
 
@@ -200,41 +199,15 @@ func (this *FutureGoodChartClassifyController) AddChartClassify() {
 		return
 	}
 
-	count, err := data_manage.GetChartClassifyCount(req.ChartClassifyName, req.ParentId, utils.CHART_SOURCE_FUTURE_GOOD)
+	// 新增图表分类
+	_, err, errMsg, isSendEmail := data.AddChartClassify(req.ChartClassifyName, 0, req.Level, utils.CHART_SOURCE_FUTURE_GOOD, this.Lang, this.SysUser)
 	if err != nil {
-		br.Msg = "判断名称是否已存在失败"
-		br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
-		return
-	}
-	if count > 0 {
-		br.Msg = "分类名称已存在,请重新输入"
-		br.IsSendEmail = false
-		return
-	}
-	//获取该层级下最大的排序数
-	maxSort, err := data_manage.GetChartClassifyMaxSort(req.ParentId, utils.CHART_SOURCE_FUTURE_GOOD)
-
-	classify := new(data_manage.ChartClassify)
-	//classify.ParentId = req.ParentId
-	classify.ParentId = 0
-	classify.ChartClassifyName = req.ChartClassifyName
-	classify.HasData = 0
-	classify.CreateTime = time.Now()
-	classify.ModifyTime = time.Now()
-	classify.SysUserId = this.SysUser.AdminId
-	classify.SysUserRealName = this.SysUser.RealName
-	classify.Level = req.Level + 1
-	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
-	classify.UniqueCode = utils.MD5(utils.DATA_PREFIX + "_" + timestamp)
-	classify.Sort = maxSort + 1
-	classify.Source = utils.CHART_SOURCE_FUTURE_GOOD
-
-	_, err = data_manage.AddChartClassify(classify)
-	if err != nil {
-		br.Msg = "保存分类失败"
-		br.ErrMsg = "保存分类失败,Err:" + err.Error()
+		br.Msg = errMsg
+		br.ErrMsg = "添加分类失败,Err:" + err.Error()
+		br.IsSendEmail = isSendEmail
 		return
 	}
+
 	br.Ret = 200
 	br.Msg = "添加成功"
 	br.Success = true
@@ -271,33 +244,15 @@ func (this *FutureGoodChartClassifyController) EditChartClassify() {
 		return
 	}
 
-	item, err := data_manage.GetChartClassifyById(req.ChartClassifyId)
+	// 编辑图表分类
+	_, err, errMsg, isSendEmail := data.EditChartClassify(req.ChartClassifyId, utils.CHART_SOURCE_FUTURE_GOOD, req.ChartClassifyName, this.Lang, this.SysUser)
 	if err != nil {
-		br.Msg = "保存失败"
-		br.Msg = "获取分类信息失败,Err:" + err.Error()
+		br.Msg = errMsg
+		br.ErrMsg = "保存分类失败,Err:" + err.Error()
+		br.IsSendEmail = isSendEmail
 		return
 	}
 
-	if item.ChartClassifyName != req.ChartClassifyName {
-		count, err := data_manage.GetChartClassifyCount(req.ChartClassifyName, item.ParentId, utils.CHART_SOURCE_FUTURE_GOOD)
-		if err != nil {
-			br.Msg = "判断名称是否已存在失败"
-			br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
-			return
-		}
-		if count > 0 {
-			br.Msg = "分类名称已存在,请重新输入"
-			br.IsSendEmail = false
-			return
-		}
-
-		err = data_manage.EditChartClassify(req.ChartClassifyId, utils.CHART_SOURCE_FUTURE_GOOD, req.ChartClassifyName)
-		if err != nil {
-			br.Msg = "保存失败"
-			br.ErrMsg = "保存失败,Err:" + err.Error()
-			return
-		}
-	}
 	br.Ret = 200
 	br.Msg = "修改成功"
 	br.Success = true

+ 2 - 2
controllers/data_manage/predict_edb_classify.go

@@ -211,7 +211,7 @@ func (this *PredictEdbClassifyController) Add() {
 	}
 
 	// 添加指标分类
-	_, err, errMsg := data.AddEdbClassify(req.ClassifyName, req.ParentId, req.Level, 1, this.SysUser.AdminId, this.SysUser.AdminName)
+	_, err, errMsg := data.AddEdbClassify(req.ClassifyName, req.ParentId, req.Level, 1, this.SysUser.AdminId, this.SysUser.AdminName, this.Lang)
 	if errMsg != `` {
 		br.Msg = errMsg
 		br.ErrMsg = errMsg
@@ -259,7 +259,7 @@ func (this *PredictEdbClassifyController) Edit() {
 		return
 	}
 
-	err, errMsg := data.EditEdbClassify(req.ClassifyId, req.ClassifyName, this.SysUser)
+	err, errMsg := data.EditEdbClassify(req.ClassifyId, req.ClassifyName, this.Lang, this.SysUser)
 	if errMsg != `` {
 		br.Msg = errMsg
 		br.ErrMsg = errMsg

+ 62 - 13
models/data_manage/chart_classify.go

@@ -8,19 +8,20 @@ import (
 )
 
 type ChartClassify struct {
-	ChartClassifyId   int       `orm:"column(chart_classify_id);pk"`
-	ChartClassifyName string    `description:"分类名称"`
-	ParentId          int       `description:"父级id"`
-	HasData           int       `description:"是否含有指标数据"`
-	CreateTime        time.Time `description:"创建时间"`
-	ModifyTime        time.Time `description:"修改时间"`
-	SysUserId         int       `description:"创建人id"`
-	SysUserRealName   string    `description:"创建人姓名"`
-	Level             int       `description:"层级"`
-	UniqueCode        string    `description:"唯一编码"`
-	Sort              int       `description:"排序字段,越小越靠前,默认值:10"`
-	Source            int       `description:"1:ETA图库;2:商品价格曲线"`
-	IsJoinPermission  int       `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
+	ChartClassifyId     int       `orm:"column(chart_classify_id);pk"`
+	ChartClassifyName   string    `description:"分类名称"`
+	ParentId            int       `description:"父级id"`
+	HasData             int       `description:"是否含有指标数据"`
+	CreateTime          time.Time `description:"创建时间"`
+	ModifyTime          time.Time `description:"修改时间"`
+	SysUserId           int       `description:"创建人id"`
+	SysUserRealName     string    `description:"创建人姓名"`
+	Level               int       `description:"层级"`
+	UniqueCode          string    `description:"唯一编码"`
+	Sort                int       `description:"排序字段,越小越靠前,默认值:10"`
+	Source              int       `description:"1:ETA图库;2:商品价格曲线"`
+	IsJoinPermission    int       `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
+	ChartClassifyNameEn string    `description:"英文分类名称"`
 }
 
 func AddChartClassify(item *ChartClassify) (lastId int64, err error) {
@@ -35,6 +36,15 @@ type AddChartClassifyReq struct {
 	Level             int    `description:"层级,第一级传0,其余传上一级的层级"`
 }
 
+// GetChartClassifyCount
+// @Description: 根据图表分类名称获取对应的数量
+// @author: Roc
+// @datetime 2024-04-16 18:13:40
+// @param chartClassifyName string
+// @param parentId int
+// @param source int
+// @return count int
+// @return err error
 func GetChartClassifyCount(chartClassifyName string, parentId, source int) (count int, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT COUNT(1) AS count FROM chart_classify WHERE parent_id=? AND source = ? AND chart_classify_name=? `
@@ -42,6 +52,22 @@ func GetChartClassifyCount(chartClassifyName string, parentId, source int) (coun
 	return
 }
 
+// GetChartClassifyEnCount
+// @Description: 根据图表分类英文名称获取对应的数量
+// @author: Roc
+// @datetime 2024-04-16 18:13:24
+// @param chartClassifyNameEn string
+// @param parentId int
+// @param source int
+// @return count int
+// @return err error
+func GetChartClassifyEnCount(chartClassifyNameEn string, parentId, source int) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT COUNT(1) AS count FROM chart_classify WHERE parent_id=? AND source = ? AND chart_classify_name_en = ? `
+	err = o.Raw(sql, parentId, source, chartClassifyNameEn).QueryRow(&count)
+	return
+}
+
 type EditChartClassifyReq struct {
 	ChartClassifyName string `description:"分类名称"`
 	ChartClassifyId   int    `description:"分类id"`
@@ -61,6 +87,14 @@ func GetChartClassifyCountById(classifyId int) (count int, err error) {
 	return
 }
 
+// EditChartClassify
+// @Description: 修改图表分类的名称
+// @author: Roc
+// @datetime 2024-04-16 18:12:51
+// @param classifyId int
+// @param source int
+// @param chartClassifyName string
+// @return err error
 func EditChartClassify(classifyId, source int, chartClassifyName string) (err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `UPDATE chart_classify SET chart_classify_name=?,modify_time=NOW() WHERE chart_classify_id=? AND source = ? `
@@ -68,6 +102,21 @@ func EditChartClassify(classifyId, source int, chartClassifyName string) (err er
 	return
 }
 
+// EditChartClassifyEn
+// @Description: 修改图表分类的英文名称
+// @author: Roc
+// @datetime 2024-04-16 18:12:40
+// @param classifyId int
+// @param source int
+// @param chartClassifyNameEn string
+// @return err error
+func EditChartClassifyEn(classifyId, source int, chartClassifyNameEn string) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `UPDATE chart_classify SET chart_classify_name_en = ?,modify_time=NOW() WHERE chart_classify_id=? AND source = ? `
+	_, err = o.Raw(sql, chartClassifyNameEn, classifyId, source).Exec()
+	return
+}
+
 type DeleteChartClassifyReq struct {
 	ChartClassifyId int `description:"分类id"`
 	ChartInfoId     int `description:"指标id"`

+ 51 - 0
models/data_manage/edb_classify.go

@@ -23,6 +23,7 @@ type EdbClassify struct {
 	UniqueCode       string    `description:"唯一编码"`
 	Sort             int       `description:"排序字段,越小越靠前,默认值:10"`
 	IsJoinPermission int       `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
+	ClassifyNameEn   string    `description:"英文分类名称"`
 }
 
 func AddEdbClassify(item *EdbClassify) (lastId int64, err error) {
@@ -38,6 +39,15 @@ type AddEdbClassifyReq struct {
 	ClassifyType uint8  `description:"分类类型,0:普通指标分类,1:预测指标分类"`
 }
 
+// GetEdbClassifyCount
+// @Description: 根据父级id获取同级中文名称的数量
+// @author: Roc
+// @datetime 2024-04-17 14:12:22
+// @param classifyName string
+// @param parentId int
+// @param classifyType uint8
+// @return count int
+// @return err error
 func GetEdbClassifyCount(classifyName string, parentId int, classifyType uint8) (count int, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT COUNT(1) AS count FROM edb_classify WHERE parent_id=? AND classify_name=? AND classify_type = ? `
@@ -45,6 +55,22 @@ func GetEdbClassifyCount(classifyName string, parentId int, classifyType uint8)
 	return
 }
 
+// GetEdbClassifyEnCount
+// @Description: 根据父级id获取同级英文名称的数量
+// @author: Roc
+// @datetime 2024-04-17 14:12:09
+// @param classifyNameEn string
+// @param parentId int
+// @param classifyType uint8
+// @return count int
+// @return err error
+func GetEdbClassifyEnCount(classifyNameEn string, parentId int, classifyType uint8) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT COUNT(1) AS count FROM edb_classify WHERE parent_id=? AND classify_name_en = ? AND classify_type = ? `
+	err = o.Raw(sql, parentId, classifyNameEn, classifyType).QueryRow(&count)
+	return
+}
+
 type EditEdbClassifyReq struct {
 	ClassifyName string `description:"分类名称"`
 	ClassifyId   int    `description:"分类名称"`
@@ -64,6 +90,15 @@ func GetEdbClassifyCountById(classifyId int) (count int, err error) {
 	return
 }
 
+// EditEdbClassify
+// @Description: 修改指标分类的中文名称
+// @author: Roc
+// @datetime 2024-04-17 14:14:48
+// @param classifyId int
+// @param classifyName string
+// @param userId int
+// @param userRealName string
+// @return err error
 func EditEdbClassify(classifyId int, classifyName string, userId int, userRealName string) (err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `UPDATE edb_classify SET classify_name=?,modify_time=NOW(), last_modify_user_id = ?, last_modify_user_real_name = ? WHERE classify_id=? `
@@ -71,6 +106,22 @@ func EditEdbClassify(classifyId int, classifyName string, userId int, userRealNa
 	return
 }
 
+// EditEdbClassifyEn
+// @Description: 修改指标分类的英文名称
+// @author: Roc
+// @datetime 2024-04-17 14:14:36
+// @param classifyId int
+// @param classifyNameEn string
+// @param userId int
+// @param userRealName string
+// @return err error
+func EditEdbClassifyEn(classifyId int, classifyNameEn string, userId int, userRealName string) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `UPDATE edb_classify SET classify_name_en = ?,modify_time=NOW(), last_modify_user_id = ?, last_modify_user_real_name = ? WHERE classify_id=? `
+	_, err = o.Raw(sql, classifyNameEn, userId, userRealName, classifyId).Exec()
+	return
+}
+
 type DeleteEdbClassifyReq struct {
 	ClassifyId int `description:"分类id"`
 	EdbInfoId  int `description:"指标id"`

+ 4 - 3
models/data_manage/future_good/future_good_edb_info.go

@@ -103,9 +103,10 @@ func (FutureGoodEdbInfo *FutureGoodEdbInfo) Update(cols []string) (err error) {
 
 // FutureGoodEdbInfoGroupListResp 期货指标数据列表数据返回
 type FutureGoodEdbInfoGroupListResp struct {
-	FutureGoodEdbInfoId   int
-	FutureGoodEdbInfoName string
-	Child                 []FutureGoodEdbInfoGroupListResp
+	FutureGoodEdbInfoId     int
+	FutureGoodEdbInfoName   string `description:"中文名称"`
+	FutureGoodEdbInfoNameEn string `description:"英文名称"`
+	Child                   []FutureGoodEdbInfoGroupListResp
 }
 
 // GetFutureGoodEdbInfoGroupList 获取分組指标数据列表

+ 154 - 0
services/data/chart_classify.go

@@ -1,6 +1,7 @@
 package data
 
 import (
+	"errors"
 	"eta/eta_mobile/models/data_manage"
 	"eta/eta_mobile/models/system"
 	"eta/eta_mobile/services/data/data_manage_permission"
@@ -220,3 +221,156 @@ func HandleNoPermissionChart(allNodes []*data_manage.ChartClassifyItems, noPermi
 
 	return
 }
+
+// AddChartClassify
+// @Description: 添加图表分类
+// @author: Roc
+// @datetime 2024-04-17 14:48:23
+// @param chartClassifyName string
+// @param parentId int
+// @param level int
+// @param source int
+// @param lang string
+// @param sysUser *system.Admin
+// @return classifyInfo *data_manage.ChartClassify
+// @return err error
+// @return errMsg string
+// @return isSendEmail bool
+func AddChartClassify(chartClassifyName string, parentId, level, source int, lang string, sysUser *system.Admin) (classifyInfo *data_manage.ChartClassify, err error, errMsg string, isSendEmail bool) {
+	isSendEmail = true
+	errMsg = "保存分类失败"
+	// 版本校验
+	switch lang {
+	case utils.LangEn:
+		count, tmpErr := data_manage.GetChartClassifyEnCount(chartClassifyName, parentId, source)
+		if tmpErr != nil {
+			errMsg = "判断名称是否已存在失败"
+			err = tmpErr
+			return
+		}
+		if count > 0 {
+			errMsg = "分类名称已存在,请重新输入"
+			err = errors.New(errMsg)
+			isSendEmail = false
+			return
+		}
+	default:
+		count, tmpErr := data_manage.GetChartClassifyCount(chartClassifyName, parentId, source)
+		if tmpErr != nil {
+			errMsg = "判断名称是否已存在失败"
+			err = tmpErr
+			return
+		}
+		if count > 0 {
+			errMsg = "分类名称已存在,请重新输入"
+			err = errors.New(errMsg)
+			isSendEmail = false
+			return
+		}
+	}
+
+	//获取该层级下最大的排序数
+	maxSort, err := data_manage.GetChartClassifyMaxSort(parentId, source)
+
+	classifyInfo = new(data_manage.ChartClassify)
+	classifyInfo.ParentId = parentId
+	classifyInfo.ChartClassifyName = chartClassifyName
+	classifyInfo.ChartClassifyNameEn = chartClassifyName
+	classifyInfo.HasData = 0
+	classifyInfo.CreateTime = time.Now()
+	classifyInfo.ModifyTime = time.Now()
+	classifyInfo.SysUserId = sysUser.AdminId
+	classifyInfo.SysUserRealName = sysUser.RealName
+	classifyInfo.Level = level + 1
+	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
+	classifyInfo.UniqueCode = utils.MD5(utils.DATA_PREFIX + "_" + timestamp)
+	classifyInfo.Sort = maxSort + 1
+	classifyInfo.Source = source
+
+	_, err = data_manage.AddChartClassify(classifyInfo)
+
+	return
+}
+
+// EditChartClassify
+// @Description: 修改图表分类
+// @author: Roc
+// @datetime 2024-04-17 14:59:37
+// @param chartClassifyId int
+// @param source int
+// @param chartClassifyName string
+// @param lang string
+// @param sysUser *system.Admin
+// @return classifyInfo *data_manage.ChartClassify
+// @return err error
+// @return errMsg string
+// @return isSendEmail bool
+func EditChartClassify(chartClassifyId, source int, chartClassifyName, lang string, sysUser *system.Admin) (classifyInfo *data_manage.ChartClassify, err error, errMsg string, isSendEmail bool) {
+	isSendEmail = true
+	errMsg = "保存失败"
+
+	// 获取分类信息
+	classifyInfo, err = data_manage.GetChartClassifyById(chartClassifyId)
+	if err != nil {
+		return
+	}
+
+	// 分类来源校验
+	if classifyInfo.Source != source {
+		errMsg = "图表分类异常"
+		err = errors.New(fmt.Sprintf("图表分类来源异常,修改来源:%d,分类来源:%d", source, classifyInfo.Source))
+		isSendEmail = false
+		return
+	}
+
+	// 需要变更的字段
+	updateCols := make([]string, 0)
+
+	// 语言版本校验
+	switch lang {
+	case utils.LangEn:
+		if classifyInfo.ChartClassifyNameEn != chartClassifyName {
+			count, tmpErr := data_manage.GetChartClassifyEnCount(chartClassifyName, classifyInfo.ParentId, source)
+			if tmpErr != nil {
+				errMsg = "判断名称是否已存在失败"
+				err = errors.New("判断名称是否已存在失败,Err:" + tmpErr.Error())
+				return
+			}
+			if count > 0 {
+				errMsg = "分类名称已存在,请重新输入"
+				err = errors.New(errMsg)
+				isSendEmail = false
+				return
+			}
+
+			classifyInfo.ChartClassifyNameEn = chartClassifyName
+			classifyInfo.ModifyTime = time.Now()
+			updateCols = append(updateCols, "ChartClassifyName", "ModifyTime")
+		}
+	default:
+		if classifyInfo.ChartClassifyName != chartClassifyName {
+			count, tmpErr := data_manage.GetChartClassifyCount(chartClassifyName, classifyInfo.ParentId, source)
+			if tmpErr != nil {
+				errMsg = "判断名称是否已存在失败"
+				err = errors.New("判断名称是否已存在失败,Err:" + tmpErr.Error())
+				return
+			}
+			if count > 0 {
+				errMsg = "分类名称已存在,请重新输入"
+				err = errors.New(errMsg)
+				isSendEmail = false
+				return
+			}
+
+			classifyInfo.ChartClassifyName = chartClassifyName
+			classifyInfo.ModifyTime = time.Now()
+			updateCols = append(updateCols, "ChartClassifyName", "ModifyTime")
+		}
+	}
+
+	if len(updateCols) > 0 {
+		err = classifyInfo.Update(updateCols)
+	}
+
+	return
+}

+ 80 - 10
services/data/edb_classify.go

@@ -252,20 +252,38 @@ func GetEdbClassifyNameListByAdminId(adminId int64) (classifyNameList []string,
 }
 
 // AddEdbClassify 添加指标分类
-func AddEdbClassify(classifyName string, parentId, level int, classifyType uint8, sysUserId int, sysUserName string) (classifyInfo *data_manage.EdbClassify, err error, errMsg string) {
-	count, err := data_manage.GetEdbClassifyCount(classifyName, parentId, classifyType)
-	if err != nil {
-		errMsg = `判断名称是否已存在失败`
-		return
-	}
-	if count > 0 {
-		errMsg = `分类名称已存在,请重新输入`
-		return
+func AddEdbClassify(classifyName string, parentId, level int, classifyType uint8, sysUserId int, sysUserName, lang string) (classifyInfo *data_manage.EdbClassify, err error, errMsg string) {
+	switch lang {
+	case utils.LangEn:
+		count, tmpErr := data_manage.GetEdbClassifyEnCount(classifyName, parentId, classifyType)
+		if tmpErr != nil {
+			err = tmpErr
+			errMsg = `判断名称是否已存在失败`
+			return
+		}
+		if count > 0 {
+			errMsg = `分类名称已存在,请重新输入`
+			err = errors.New(errMsg)
+			return
+		}
+	default:
+		count, tmpErr := data_manage.GetEdbClassifyCount(classifyName, parentId, classifyType)
+		if tmpErr != nil {
+			err = tmpErr
+			errMsg = `判断名称是否已存在失败`
+			return
+		}
+		if count > 0 {
+			errMsg = `分类名称已存在,请重新输入`
+			err = errors.New(errMsg)
+			return
+		}
 	}
 	if level > 6 {
 		errMsg = `最高只支持添加6级分类`
 		return
 	}
+
 	//获取该层级下最大的排序数
 	maxSort, err := GetEdbClassifyMaxSort(parentId, classifyType)
 	if err != nil {
@@ -295,6 +313,7 @@ func AddEdbClassify(classifyName string, parentId, level int, classifyType uint8
 		//ClassifyId:      0,
 		ClassifyType:    classifyType,
 		ClassifyName:    classifyName,
+		ClassifyNameEn:  classifyName,
 		ParentId:        parentId,
 		RootId:          rootId,
 		HasData:         0,
@@ -335,7 +354,7 @@ func AddEdbClassify(classifyName string, parentId, level int, classifyType uint8
 }
 
 // EditEdbClassify 编辑指标分类
-func EditEdbClassify(classifyId int, classifyName string, sysUser *system.Admin) (err error, errMsg string) {
+func EditEdbClassify(classifyId int, classifyName, lang string, sysUser *system.Admin) (err error, errMsg string) {
 	item, err := data_manage.GetEdbClassifyById(classifyId)
 	if err != nil {
 		errMsg = `保存失败`
@@ -372,6 +391,57 @@ func EditEdbClassify(classifyId int, classifyName string, sysUser *system.Admin)
 
 	}
 
+	switch lang {
+	case utils.LangEn:
+		// 名字相同,那么就直接返回
+		if item.ClassifyNameEn == classifyName {
+			return
+		}
+
+		// 判断名称是否已存在
+		count, tmpErr := data_manage.GetEdbClassifyEnCount(classifyName, item.ParentId, item.ClassifyType)
+		if tmpErr != nil {
+			err = tmpErr
+			errMsg = "判断名称是否已存在失败"
+			return
+		}
+		if count > 0 {
+			errMsg = "分类名称已存在,请重新输入"
+			err = errors.New(errMsg)
+			return
+		}
+
+		// 修改数据
+		err = data_manage.EditEdbClassifyEn(classifyId, classifyName, sysUser.AdminId, sysUser.RealName)
+		if err != nil {
+			errMsg = "保存失败"
+		}
+	default:
+		// 名字相同,那么就直接返回
+		if item.ClassifyName == classifyName {
+			return
+		}
+
+		// 判断名称是否已存在
+		count, tmpErr := data_manage.GetEdbClassifyCount(classifyName, item.ParentId, item.ClassifyType)
+		if tmpErr != nil {
+			err = tmpErr
+			errMsg = "判断名称是否已存在失败"
+			return
+		}
+		if count > 0 {
+			errMsg = "分类名称已存在,请重新输入"
+			err = errors.New(errMsg)
+			return
+		}
+
+		// 修改数据
+		err = data_manage.EditEdbClassify(classifyId, classifyName, sysUser.AdminId, sysUser.RealName)
+		if err != nil {
+			errMsg = "保存失败"
+		}
+	}
+
 	// 名字相同,那么就直接返回
 	if item.ClassifyName == classifyName {
 		return

+ 6 - 0
utils/constants.go

@@ -449,3 +449,9 @@ const (
 	PercentCalculateTypeRange = 0 // 百分位算法类型-数据区间
 	PercentCalculateTypeNum   = 1 // 百分位算法类型-数据个数
 )
+
+// 语言版本
+const (
+	LangZh = "zh" // 中文语言版本
+	LangEn = "en" // 英文语言版本
+)