Browse Source

Merge branch 'master' into feature/eta1.0.1_out_link

# Conflicts:
#	routers/commentsRouter.go
xyxie 1 year ago
parent
commit
7675a6f656
100 changed files with 1305 additions and 1501 deletions
  1. 2 2
      cache/admin_operate_record_cache.go
  2. 2 2
      cache/crm_config_cache.go
  3. 2 2
      cache/logs_cache.go
  4. 0 334
      controllers/ai/ai.go
  5. 3 3
      controllers/banner.go
  6. 7 7
      controllers/base_auth.go
  7. 3 3
      controllers/base_common.go
  8. 2 2
      controllers/business_conf.go
  9. 40 11
      controllers/classify.go
  10. 4 4
      controllers/cloud_disk.go
  11. 3 3
      controllers/commodity_trade_base_index.go
  12. 20 5
      controllers/company_permission.go
  13. 5 5
      controllers/company_seller.go
  14. 6 6
      controllers/data_manage/baiinfo_data.go
  15. 3 3
      controllers/data_manage/base_from_changes_visitors_covid.go
  16. 9 6
      controllers/data_manage/chart_classify.go
  17. 7 7
      controllers/data_manage/chart_common.go
  18. 7 7
      controllers/data_manage/chart_edb_config.go
  19. 8 208
      controllers/data_manage/chart_info.go
  20. 3 3
      controllers/data_manage/com_trade.go
  21. 6 6
      controllers/data_manage/correlation/correlation_chart_classify.go
  22. 18 18
      controllers/data_manage/correlation/correlation_chart_info.go
  23. 6 6
      controllers/data_manage/edb_classify.go
  24. 156 7
      controllers/data_manage/edb_info.go
  25. 5 5
      controllers/data_manage/edb_info_calculate.go
  26. 4 4
      controllers/data_manage/edb_info_updates.go
  27. 3 3
      controllers/data_manage/eia_steo.go
  28. 6 6
      controllers/data_manage/excel_classify.go
  29. 22 13
      controllers/data_manage/excel_info.go
  30. 6 6
      controllers/data_manage/future_good/future_good_chart_classify.go
  31. 11 211
      controllers/data_manage/future_good/future_good_chart_info.go
  32. 4 4
      controllers/data_manage/future_good/future_good_edb_info.go
  33. 9 9
      controllers/data_manage/future_good/future_good_profit_chart_info.go
  34. 3 3
      controllers/data_manage/gl_data.go
  35. 6 6
      controllers/data_manage/line_equation/line_chart_classify.go
  36. 9 9
      controllers/data_manage/line_equation/line_chart_info.go
  37. 9 9
      controllers/data_manage/line_feature/chart_info.go
  38. 6 6
      controllers/data_manage/line_feature/classify.go
  39. 4 4
      controllers/data_manage/lz_data.go
  40. 6 6
      controllers/data_manage/manual.go
  41. 20 19
      controllers/data_manage/multiple_graph_config.go
  42. 6 6
      controllers/data_manage/my_chart.go
  43. 7 7
      controllers/data_manage/mysteel_chemical_data.go
  44. 4 4
      controllers/data_manage/national_statistics.go
  45. 6 6
      controllers/data_manage/predict_edb_classify.go
  46. 8 8
      controllers/data_manage/predict_edb_info.go
  47. 4 4
      controllers/data_manage/predict_edb_info_calculate.go
  48. 6 6
      controllers/data_manage/sci_data.go
  49. 6 6
      controllers/data_manage/smm_data.go
  50. 9 9
      controllers/data_manage/supply_analysis/variety.go
  51. 8 8
      controllers/data_manage/supply_analysis/variety_edb.go
  52. 6 6
      controllers/data_manage/supply_analysis/variety_plant.go
  53. 6 6
      controllers/english_report/email.go
  54. 3 3
      controllers/english_report/en_permission.go
  55. 6 6
      controllers/english_report/english_auth.go
  56. 4 4
      controllers/english_report/english_classify.go
  57. 6 6
      controllers/english_report/english_company.go
  58. 5 5
      controllers/english_report/english_company_todo.go
  59. 5 5
      controllers/english_report/english_video.go
  60. 4 4
      controllers/english_report/policy_report.go
  61. 131 65
      controllers/english_report/report.go
  62. 7 8
      controllers/ppt_english.go
  63. 3 3
      controllers/ppt_english_group.go
  64. 7 8
      controllers/ppt_v2.go
  65. 2 2
      controllers/ppt_v2_group.go
  66. 150 49
      controllers/report.go
  67. 2 2
      controllers/report_author.go
  68. 17 2
      controllers/report_chapter_type.go
  69. 16 2
      controllers/research_group.go
  70. 4 6
      controllers/resource.go
  71. 3 3
      controllers/roadshow/calendar.go
  72. 32 11
      controllers/sandbox/sandbox.go
  73. 5 5
      controllers/semantic_analysis/sa_compare.go
  74. 5 5
      controllers/semantic_analysis/sa_compare_classify.go
  75. 5 5
      controllers/semantic_analysis/sa_doc.go
  76. 5 5
      controllers/semantic_analysis/sa_doc_classify.go
  77. 6 6
      controllers/semantic_analysis/sa_label.go
  78. 7 7
      controllers/sys_admin.go
  79. 3 3
      controllers/sys_department.go
  80. 3 3
      controllers/sys_group.go
  81. 3 3
      controllers/sys_menu.go
  82. 3 3
      controllers/sys_menu_button.go
  83. 253 6
      controllers/sys_role.go
  84. 5 5
      controllers/sys_role_admin.go
  85. 3 3
      controllers/sys_team.go
  86. 4 4
      controllers/sys_user.go
  87. 13 13
      controllers/target.go
  88. 4 4
      controllers/trade_analysis/trade_analysis.go
  89. 16 3
      controllers/variety_tag.go
  90. 3 3
      controllers/voice.go
  91. 1 5
      go.mod
  92. 4 4
      main.go
  93. 0 147
      models/aimod/ai.go
  94. 1 1
      models/classify.go
  95. 1 1
      models/cloud_disk_menu.go
  96. 1 1
      models/cloud_disk_resource.go
  97. 10 0
      models/company/company_seller.go
  98. 1 1
      models/data_manage/baiinfo_data.go
  99. 1 1
      models/data_manage/base_from_baiinfo.go
  100. 1 1
      models/data_manage/base_from_baiinfo_classify.go

+ 2 - 2
cache/admin_operate_record_cache.go

@@ -1,9 +1,9 @@
 package cache
 
 import (
+	"eta/eta_api/models/system"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/utils"
 )
 
 func AdminOperateRecord(adminId int, realName, uuid, uri, params, ip, userAgent, header string) bool {

+ 2 - 2
cache/crm_config_cache.go

@@ -1,9 +1,9 @@
 package cache
 
 import (
+	"eta/eta_api/models/company"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"time"
 )

+ 2 - 2
cache/logs_cache.go

@@ -1,9 +1,9 @@
 package cache
 
 import (
+	"eta/eta_api/models"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/utils"
 	"time"
 )
 

+ 0 - 334
controllers/ai/ai.go

@@ -1,334 +0,0 @@
-package ai
-
-import (
-	"encoding/json"
-	"fmt"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/aimod"
-	"hongze/hz_eta_api/services/aiser"
-	"hongze/hz_eta_api/utils"
-	"strconv"
-	"time"
-)
-
-// AI
-type AiController struct {
-	controllers.BaseAuthController
-}
-
-// @Title 聊天接口
-// @Description 聊天接口
-// @Param	request	body aimod.ChatReq true "type json string"
-// @Success 200 {object} response.ListResp
-// @router /chat [post]
-func (this *AiController) List() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-
-	var req aimod.ChatReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	if req.Model == "" {
-		br.Msg = "请选择模型!"
-		br.ErrMsg = "请选择模型!"
-		return
-	}
-
-	if req.Ask == "" {
-		br.Msg = "请输入提问内容!"
-		br.ErrMsg = "请输入提问内容"
-		return
-	}
-
-	if utils.Re == nil {
-		key := "CACHE_CHAT_" + strconv.Itoa(this.SysUser.AdminId)
-		cacheVal, err := utils.Rc.RedisInt(key)
-		fmt.Println("RedisString:", cacheVal, "err:", err)
-		if err != nil && err.Error() != "redigo: nil returned" {
-			br.Msg = "获取数据失败!"
-			br.ErrMsg = "获取数据失败,Err:" + err.Error()
-			return
-		}
-		putVal := 0
-		if cacheVal <= 0 {
-			putVal = utils.AiChatLimit
-		} else {
-			putVal = cacheVal - 1
-		}
-
-		if putVal <= 0 {
-			br.Msg = "您今日50次问答已达上限,请明天再来!"
-			br.ErrMsg = "您今日50次问答已达上限,请明天再来!"
-			return
-		}
-		lastSecond := utils.GetTodayLastSecond()
-		utils.Rc.Put(key, putVal, lastSecond)
-	}
-
-	//根据提问,获取信息
-	askUuid := utils.MD5(req.Ask)
-	chatMode, err := aimod.GetAiChatByAsk(askUuid, req.Model)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "获取数据失败!"
-		br.ErrMsg = "获取数据失败,GetAiChatByAsk,Err:" + err.Error()
-		return
-	}
-	resp := new(aimod.ChatResp)
-	var answer string
-	//answerArr := []string{
-	//	"周度数据显示,成品油现货市场价格跟随原油下跌,但近期相对抗跌,裂解价差走扩。批零价差方面汽油收窄,柴油走扩",
-	//	"出口利润在原油下跌海外成品油矛盾更大的情况下汽柴油出口窗口完全关闭",
-	//	"汽油需求在经历五一假期的一段高峰后将回归平稳,总体没有明显矛盾,后期我们担心更多的还是柴油。"}
-	if chatMode != nil && chatMode.Answer != "" {
-		answer = chatMode.Answer
-	} else {
-		//rnd := utils.GetRandInt(0, 3)
-		//if rnd >= 3 {
-		//	rnd = 2
-		//}
-		//answer = answerArr[rnd]
-		var model int
-		if req.Model == "gpt-3.5-turbo" {
-			model = 1
-		} else if req.Model == "gpt-3.5-turbo-16k" {
-			model = 3
-		} else {
-			model = 2
-		}
-		answer, _ = aiser.ChatAutoMsg(req.Ask, model)
-	}
-	resp.Ask = req.Ask
-	resp.Answer = answer
-
-	if req.AiChatTopicId <= 0 { //新增
-		topic := new(aimod.AiChatTopic)
-		topic.TopicName = req.Ask
-		topic.SysUserId = this.SysUser.AdminId
-		topic.SysUserRealName = this.SysUser.RealName
-		topic.CreateTime = time.Now()
-		topic.ModifyTime = time.Now()
-		topicId, err := aimod.AddAiChatTopic(topic)
-		if err != nil {
-			br.Msg = "获取数据失败!"
-			br.ErrMsg = "生成话题失败,Err:" + err.Error()
-			return
-		}
-		resp.AiChatTopicId = int(topicId)
-		chatItem := new(aimod.AiChat)
-		chatItem.AiChatTopicId = resp.AiChatTopicId
-		chatItem.Ask = req.Ask
-		chatItem.AskUuid = utils.MD5(req.Ask)
-		chatItem.Answer = answer
-		chatItem.Model = req.Model
-		chatItem.SysUserId = this.SysUser.AdminId
-		chatItem.SysUserRealName = this.SysUser.RealName
-		chatItem.CreateTime = time.Now()
-		chatItem.ModifyTime = time.Now()
-		_, err = aimod.AddAiChat(chatItem)
-		if err != nil {
-			br.Msg = "获取数据失败!"
-			br.ErrMsg = "生成话题记录失败,Err:" + err.Error()
-			return
-		}
-	} else {
-		resp.AiChatTopicId = req.AiChatTopicId
-		chatItem := new(aimod.AiChat)
-		chatItem.AiChatTopicId = resp.AiChatTopicId
-		chatItem.Ask = req.Ask
-		chatItem.AskUuid = utils.MD5(req.Ask)
-		chatItem.Answer = answer
-		chatItem.Model = req.Model
-		chatItem.SysUserId = this.SysUser.AdminId
-		chatItem.SysUserRealName = this.SysUser.RealName
-		chatItem.CreateTime = time.Now()
-		chatItem.ModifyTime = time.Now()
-		_, err = aimod.AddAiChat(chatItem)
-		if err != nil {
-			br.Msg = "获取数据失败!"
-			br.ErrMsg = "生成话题记录失败,Err:" + err.Error()
-			return
-		}
-	}
-	resp.Model = req.Model
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resp
-}
-
-// @Title 获取话题列表
-// @Description 获取话题列表接口
-// @Success 200 {object} aimod.AiChatTopicListResp
-// @router /topic/list [get]
-func (this *AiController) TopicList() {
-	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
-	}
-	list, err := aimod.GetAiChatTopicList(sysUser.AdminId)
-	if err != nil {
-		br.Msg = "获取数据失败!"
-		br.ErrMsg = "获取主题记录信息失败,Err:" + err.Error()
-		return
-	}
-	resp := new(aimod.AiChatTopicListResp)
-	resp.List = list
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resp
-}
-
-// @Title 获取话题详情
-// @Description 获取话题详情接口
-// @Param   AiChatTopicId   query   int  true       "主题id"
-// @Success 200 {object} aimod.AiChatDetailResp
-// @router /topic/detail [get]
-func (this *AiController) TopicDetail() {
-	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
-	}
-
-	aiChatTopicId, _ := this.GetInt("AiChatTopicId")
-	list, err := aimod.GetAiChatList(aiChatTopicId)
-	if err != nil {
-		br.Msg = "获取数据失败!"
-		br.ErrMsg = "获取主题记录信息失败,Err:" + err.Error()
-		return
-	}
-	resp := new(aimod.AiChatDetailResp)
-	resp.List = list
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resp
-}
-
-// @Title 删除话题接口
-// @Description 删除话题接口
-// @Param	request	body aimod.TopicDeleteReq true "type json string"
-// @Success Ret=200 删除成功
-// @router /topic/delete [post]
-func (this *AiController) TopicDelete() {
-	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 aimod.TopicDeleteReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	if req.AiChatTopicId <= 0 {
-		br.Msg = "参数错误!"
-		br.ErrMsg = "参数错误!AiChatTopicId:" + strconv.Itoa(req.AiChatTopicId)
-		return
-	}
-	err = aimod.DeleteTopic(req.AiChatTopicId)
-	if err != nil {
-		br.Msg = "删除失败!"
-		br.ErrMsg = "删除失败,Err:" + err.Error()
-		return
-	}
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "删除成功"
-	br.IsAddLog = true
-}
-
-// @Title 编辑话题接口
-// @Description 编辑话题接口
-// @Param	request	body aimod.TopicEditReq true "type json string"
-// @Success Ret=200 编辑成功
-// @router /topic/edit [post]
-func (this *AiController) TopicEdit() {
-	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 aimod.TopicEditReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-
-	if req.AiChatTopicId <= 0 {
-		br.Msg = "参数错误!"
-		br.ErrMsg = "参数错误!AiChatTopicId:" + strconv.Itoa(req.AiChatTopicId)
-		return
-	}
-	topic, err := aimod.GetAiChatTopicByTopicName(req.TopicName)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "编辑失败!"
-		br.ErrMsg = "获取数据失败!Err:" + err.Error()
-		return
-	}
-	if topic != nil && topic.AiChatTopicId != req.AiChatTopicId {
-		br.Msg = "话题名称已存在,请重新修改!"
-		return
-	}
-
-	err = aimod.EditTopic(req.AiChatTopicId, req.TopicName)
-	if err != nil {
-		br.Msg = "编辑失败!"
-		br.ErrMsg = "编辑失败,Err:" + err.Error()
-		return
-	}
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "编辑成功"
-	br.IsAddLog = true
-}

+ 3 - 3
controllers/banner.go

@@ -1,9 +1,9 @@
 package controllers
 
 import (
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"os"
 	"path"
 	"time"

+ 7 - 7
controllers/base_auth.go

@@ -2,11 +2,11 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_api/cache"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/data"
 	"fmt"
-	"hongze/hz_eta_api/cache"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/services/data"
 	"net/http"
 	"net/url"
 	"strconv"
@@ -15,8 +15,8 @@ import (
 
 	"github.com/beego/beego/v2/server/web"
 
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/utils"
 
 	"github.com/rdlucklib/rdluck_tools/log"
 )
@@ -53,7 +53,7 @@ var AdminOperateRecordMap = map[string]string{
 
 func init() {
 	if utils.RunMode == "release" {
-		logDir := `/data/rdlucklog/hz_eta_api`
+		logDir := `/data/rdlucklog/eta_api`
 		apiLog = log.Init("20060102.api", logDir)
 	} else {
 		apiLog = log.Init("20060102.api")

+ 3 - 3
controllers/base_common.go

@@ -2,11 +2,11 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_api/cache"
+	"eta/eta_api/models"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/server/web"
-	"hongze/hz_eta_api/cache"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/utils"
 	"net/http"
 	"net/url"
 )

+ 2 - 2
controllers/business_conf.go

@@ -2,9 +2,9 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/utils"
 	"html"
 	"strconv"
 	"strings"

+ 40 - 11
controllers/classify.go

@@ -3,9 +3,10 @@ package controllers
 import (
 	"encoding/json"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"time"
 )
 
@@ -32,20 +33,34 @@ func (this *ClassifyController) Add() {
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
 		return
 	}
+
+	// 获取系统菜单, 如果没有对应的字段的特殊处理项, 则忽略必填
+	menus, e := system.GetSysMenuItemsByCondition("", make([]interface{}, 0), []string{}, ``)
+	if e != nil {
+		br.Msg = "保存失败"
+		br.ErrMsg = "获取菜单列表失败, Err: " + e.Error()
+		return
+	}
+	menuMap := make(map[string]bool)
+	for _, m := range menus {
+		if m.ButtonCode != "" {
+			menuMap[m.ButtonCode] = true
+		}
+	}
+
 	if req.ClassifyName == "" {
 		br.Msg = "分类名称不可为空"
 		return
 	}
-	if req.ParentId != 0 && req.ShowType == 0 {
+	if menuMap[system.MenuSpecialHandleClassifyShowType] && req.ParentId != 0 && req.ShowType == 0 {
 		br.Msg = "展示类型不可为空"
 		return
 	}
-	if len(req.MenuList) > 0 && req.ParentId != 0 {
+	if menuMap[system.MenuSpecialHandleClassifyChildMenu] && len(req.MenuList) > 0 && req.ParentId != 0 {
 		br.Msg = "非一级分类不可添加子目录"
 		return
 	}
-
-	if (req.ShowType == 1 || req.ShowType == 3) && req.YbRightBanner == "" && req.ParentId == 0 { //当一级报告分类为列表、品种时,增加“报告合集配图”的配置项
+	if menuMap[system.MenuSpecialHandleClassifyReportImgs] && (req.ShowType == 1 || req.ShowType == 3) && req.YbRightBanner == "" && req.ParentId == 0 { //当一级报告分类为列表、品种时,增加“报告合集配图”的配置项
 		br.Msg = "报告合集配图不可为空"
 		return
 	}
@@ -345,6 +360,21 @@ func (this *ClassifyController) Edit() {
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
 		return
 	}
+
+	// 获取系统菜单, 如果没有对应的字段的特殊处理项, 则忽略必填
+	menus, e := system.GetSysMenuItemsByCondition("", make([]interface{}, 0), []string{}, ``)
+	if e != nil {
+		br.Msg = "保存失败"
+		br.ErrMsg = "获取菜单列表失败, Err: " + e.Error()
+		return
+	}
+	menuMap := make(map[string]bool)
+	for _, m := range menus {
+		if m.ButtonCode != "" {
+			menuMap[m.ButtonCode] = true
+		}
+	}
+
 	if req.ClassifyId <= 0 {
 		br.Msg = "参数错误"
 		return
@@ -353,7 +383,7 @@ func (this *ClassifyController) Edit() {
 		br.Msg = "分类名称不可为空"
 		return
 	}
-	if req.ParentId != 0 && req.ShowType == 0 {
+	if menuMap[system.MenuSpecialHandleClassifyShowType] && req.ParentId != 0 && req.ShowType == 0 {
 		br.Msg = "展示类型不可为空"
 		return
 	}
@@ -361,8 +391,7 @@ func (this *ClassifyController) Edit() {
 		br.Msg = "上级分类不能选择自己"
 		return
 	}
-
-	if (req.ShowType == 1 || req.ShowType == 3) && req.YbRightBanner == "" && req.ParentId == 0 { //当一级报告分类为列表、品种时,增加“报告合集配图”的配置项
+	if menuMap[system.MenuSpecialHandleClassifyReportImgs] && (req.ShowType == 1 || req.ShowType == 3) && req.YbRightBanner == "" && req.ParentId == 0 { //当一级报告分类为列表、品种时,增加“报告合集配图”的配置项
 		br.Msg = "报告合集配图不可为空"
 		return
 	}
@@ -870,7 +899,7 @@ func (this *ClassifyController) TelListClassify() {
 	resp := make([]*models.SimpleClassifyList, 0)
 	var condition, orderRule string
 	var pars []interface{}
-	if utils.SystemType == "hz" {
+	if utils.BusinessCode == utils.BusinessCodeRelease || utils.BusinessCode == utils.BusinessCodeSandbox {
 		condition += ` AND classify_name <> '晨报' AND classify_name <> '周报' `
 	}
 	telList, e := models.GetClassifyByCondition(condition, orderRule, pars)

+ 4 - 4
controllers/cloud_disk.go

@@ -3,12 +3,12 @@ package controllers
 import (
 	"archive/zip"
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/http"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/utils"
 	"os"
 	"path"
 	"strconv"

+ 3 - 3
controllers/commodity_trade_base_index.go

@@ -4,9 +4,9 @@ import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/utils"
 	"os"
 	"path/filepath"
 	"strconv"

+ 20 - 5
controllers/company_permission.go

@@ -1,10 +1,10 @@
 package controllers
 
 import (
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 )
 
 // CompanyPermissionController 客户权限管理
@@ -32,11 +32,20 @@ func (this *CompanyPermissionController) List() {
 		br.Ret = 408
 		return
 	}
+	// 非自用无需查询
+	resp := new(company.PermissionSetResp)
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
+		return
+	}
+
 	// Tips:目前这个接口权益在添加客户、申请转正、领取客户、续约申请均有用到
 
 	companyType := this.GetString("CompanyType")
 	var productId int
-	resp := new(company.PermissionSetResp)
 
 	roleTypeCode := sysUser.RoleTypeCode
 	productId = services.GetProductId(roleTypeCode)
@@ -92,6 +101,12 @@ func (this *CompanyPermissionController) PermissionVariety() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		return
+	}
 
 	companyType := this.GetString("CompanyType")
 

+ 5 - 5
controllers/company_seller.go

@@ -1,12 +1,12 @@
 package controllers
 
 import (
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 )
 

+ 6 - 6
controllers/data_manage/baiinfo_data.go

@@ -5,12 +5,12 @@ import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"os"
 	"path/filepath"
 	"strings"

+ 3 - 3
controllers/data_manage/base_from_changes_visitors_covid.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
 )
 
 // 谷歌出行数据

+ 9 - 6
controllers/data_manage/chart_classify.go

@@ -2,13 +2,13 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"time"
 )
@@ -1037,6 +1037,9 @@ func (this *ChartClassifyController) ChartClassifyChartListV2() {
 
 	for k, item := range allNodes {
 		item.Button = data.GetChartOpButton(this.SysUser, item.SysUserId)
+		item.Button.AddButton = false
+		item.Button.OpButton = false
+		item.Button.DeleteButton = false
 		allNodes[k] = item
 	}
 

+ 7 - 7
controllers/data_manage/chart_common.go

@@ -1,13 +1,13 @@
 package data_manage
 
 import (
-	"hongze/hz_eta_api/controllers/data_manage/correlation"
-	"hongze/hz_eta_api/controllers/data_manage/future_good"
-	"hongze/hz_eta_api/controllers/data_manage/line_equation"
-	"hongze/hz_eta_api/controllers/data_manage/line_feature"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers/data_manage/correlation"
+	"eta/eta_api/controllers/data_manage/future_good"
+	"eta/eta_api/controllers/data_manage/line_equation"
+	"eta/eta_api/controllers/data_manage/line_feature"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/utils"
 )
 
 // CommonChartInfoDetailFromUniqueCode

+ 7 - 7
controllers/data_manage/chart_edb_config.go

@@ -2,13 +2,13 @@ package data_manage
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 )
 
 // EdbNoPermissionList

+ 8 - 208
controllers/data_manage/chart_info.go

@@ -2,15 +2,15 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"os"
 	"os/exec"
 	"sort"
@@ -2226,205 +2226,6 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
 	return
 }
 
-//
-//// @Param   Img   query   string  true       "图片"
-//// @Success 200 {object} models.ResourceResp
-//// @router /chart_info/base64Upload [post]
-//func (this *ChartInfoController) ChartInfoBase64Upload() {
-//
-//	br := new(models.BaseResponse).Init()
-//	defer func() {
-//		this.Data["json"] = br
-//		this.ServeJSON()
-//	}()
-//
-//	var err error
-//	ext := ".png"
-//	uploadDir := "./static"
-//	randStr := utils.GetRandStringNoSpecialChar(28)
-//	fileName := randStr + ext
-//	fpath := uploadDir + "/" + fileName
-//
-//	image := this.Ctx.Request.FormValue("Img")
-//	if image == "" {
-//		resp := new(models.ResourceResp)
-//		resp.Id = 0
-//		resp.ResourceUrl = ""
-//		br.Msg = "上传成功"
-//		br.Ret = 200
-//		br.Success = true
-//		br.Data = resp
-//		return
-//	}
-//	b, _ := regexp.MatchString(`^data:\s*image\/(\w+);base64,`, image)
-//	if !b {
-//		br.Msg = "图片格式不正确"
-//		br.ErrMsg = "图片格式不正确"
-//		return
-//	}
-//	re, _ := regexp.Compile(`^data:\s*image\/(\w+);base64,`)
-//	base64Str := re.ReplaceAllString(image, "")
-//	base64Str = strings.Replace(base64Str, " ", "", -1)
-//
-//	err = utils.SaveBase64ToFile(base64Str, fpath)
-//	if err != nil {
-//		br.Msg = "图片保存失败"
-//		br.ErrMsg = "图片保存失败,Err:" + err.Error()
-//		return
-//	}
-//	fmt.Println("end")
-//
-//	defer os.Remove(fpath)
-//
-//	hzUploadDir := "static/images/"
-//	savePath := hzUploadDir + time.Now().Format("200601/20060102/")
-//	savePath += fileName
-//	//上传到阿里云
-//	err = services.UploadFileToAliyun(fileName, fpath, savePath)
-//	if err != nil {
-//		br.Msg = "文件上传失败"
-//		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-//		return
-//	}
-//	utils.FileLog.Info("%s:", time.Now().Format(utils.FormatDateTime))
-//	utils.FileLog.Info("end update oss ")
-//
-//	fileHost := "https://hzstatic.hzinsights.com/"
-//
-//	resourceUrl := fileHost + savePath
-//
-//	item := new(models.Resource)
-//	item.ResourceUrl = resourceUrl
-//	item.ResourceType = 1
-//	item.CreateTime = time.Now()
-//	newId, err := models.AddResource(item)
-//	if err != nil {
-//		br.Msg = "资源上传失败"
-//		br.ErrMsg = "资源上传失败,Err:" + err.Error()
-//		return
-//	}
-//	resp := new(models.ResourceResp)
-//	resp.Id = newId
-//	resp.ResourceUrl = resourceUrl
-//	br.Msg = "上传成功"
-//	br.Ret = 200
-//	br.Success = true
-//	br.Data = resp
-//
-//	//br := new(models.BaseResponse).Init()
-//	//defer func() {
-//	//	this.Data["json"] = br
-//	//	this.ServeJSON()
-//	//}()
-//	//imgData := this.GetString("Img")
-//	//if imgData == "" {
-//	//	br.Msg = "图片参数错误"
-//	//	br.ErrMsg = "图片参数错误,Img Is Empty"
-//	//	return
-//	//}
-//
-//	//dateDir := time.Now().Format("20060102")
-//	//uploadDir := utils.STATIC_DIR + "hongze/" + dateDir
-//	//
-//	//if !utils.FileIsExist(uploadDir) {
-//	//	err := os.MkdirAll(uploadDir, 777)
-//	//	if err != nil {
-//	//		br.Msg = "存储目录创建失败"
-//	//		br.ErrMsg = "存储目录创建失败,Err:" + err.Error()
-//	//		return
-//	//	}
-//	//}
-//	//var resourceUrl string
-//	//param := url.Values{}
-//	//param.Add("Sign", "dIGi2M0VN21s3dKS")
-//	//param.Add("Img", imgData)
-//	//svgToPngUrl := `http://8.136.199.33:8086/v1/image/svg_to_png`
-//	//respBody, err := http.Post(svgToPngUrl, param.Encode(), "")
-//	//if err != nil {
-//	//	br.Msg = "文件上传失败"
-//	//	br.ErrMsg = "图片格式转换失败,Err:" + err.Error()
-//	//	return
-//	//}
-//	//fmt.Println(string(respBody))
-//	//respItem := new(data_manage.ImageSvgToPngResp)
-//	//err = json.Unmarshal(respBody, &respItem)
-//	//if err != nil {
-//	//	br.Msg = "文件上传失败"
-//	//	br.ErrMsg = "图片格式转换失败,Unmarshal Err:" + err.Error()
-//	//	return
-//	//}
-//	//resourceUrl = respItem.Data.ResourceURL
-//	//resp := new(models.ResourceResp)
-//	//resp.ResourceUrl = resourceUrl
-//	//br.Msg = "上传成功"
-//	//br.Ret = 200
-//	//br.Success = true
-//	//br.Data = resp
-//
-//
-//
-//	/*
-//		svg 转 png
-//
-//		uploadDir := "static/images/"
-//		if !utils.FileIsExist(uploadDir) {
-//			err := os.MkdirAll(uploadDir, 777)
-//			if err != nil {
-//				br.Msg = "图表保存失败"
-//				br.ErrMsg = "存储目录创建失败,Err:" + err.Error()
-//				return
-//			}
-//		}
-//
-//		var saveToOssPath string
-//		randStr := utils.GetRandStringNoSpecialChar(28)
-//		var fileName, outFileName string
-//		fileName = randStr + ".txt"
-//		//saveSvgPath = uploadDir + fileName
-//		err := utils.SaveToFile(imgData, fileName)
-//		if err != nil {
-//			br.Msg = "图片保存失败"
-//			br.ErrMsg = "图片保存失败,Err:" + err.Error()
-//			return
-//		}
-//
-//		outFileName = randStr + ".png"
-//		cd := exec.Command("highcharts-export-server", "--infile", fileName, "--constr", "Chart", "--scale", "2", "--workers", "5", "--workLimit", "5", "--outfile", outFileName)
-//		str, err := cd.Output()
-//		fmt.Println(string(str))
-//		if err != nil {
-//			fmt.Println("Command Err:" + err.Error())
-//			return
-//		}
-//		fmt.Println("end convert", time.Now())
-//
-//		defer func() {
-//			os.Remove(fileName)
-//			os.Remove(outFileName)
-//		}()
-//		saveToOssPath = uploadDir + time.Now().Format("200601/20060102/")
-//		saveToOssPath += outFileName
-//		//上传到阿里云
-//		fmt.Println("upload:", outFileName, saveToOssPath)
-//		err = services.UploadFileToAliyun("", outFileName, saveToOssPath)
-//		if err != nil {
-//			br.Msg = "文件上传失败"
-//			br.ErrMsg = "文件上传失败,Err:" + err.Error()
-//			return
-//		}
-//		fileHost := "https://hzstatic.hzinsights.com/"
-//		resourceUrl := fileHost + saveToOssPath
-//
-//		resp := new(models.ResourceResp)
-//		resp.ResourceUrl = resourceUrl
-//		br.Msg = "上传成功"
-//		br.Ret = 200
-//		br.Success = true
-//		br.Data = resp
-//	*/
-//	return
-//}
-
 // @Param   Img   query   string  true       "图片"
 // @Success 200 {object} models.ResourceResp
 // @router /chart_info/base64Upload [post]
@@ -2504,8 +2305,7 @@ func (this *ChartInfoController) ChartInfoBase64Upload() {
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
-	fileHost := "https://hzstatic.hzinsights.com/"
-	resourceUrl := fileHost + saveToOssPath
+	resourceUrl := utils.Imghost + saveToOssPath
 	resp.ResourceUrl = resourceUrl
 	resp.Source = "convert"
 	//resp.CacheKey = imgDataKey

+ 3 - 3
controllers/data_manage/com_trade.go

@@ -3,9 +3,9 @@ package data_manage
 import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/utils"
 	"time"
 )
 

+ 6 - 6
controllers/data_manage/correlation/correlation_chart_classify.go

@@ -2,12 +2,12 @@ package correlation
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"strconv"
 	"time"
 )

+ 18 - 18
controllers/data_manage/correlation/correlation_chart_info.go

@@ -2,16 +2,16 @@ package correlation
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/future_good/request"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	correlationServ "eta/eta_api/services/data/correlation"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/future_good/request"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	correlationServ "hongze/hz_eta_api/services/data/correlation"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"strings"
 	"time"
@@ -696,7 +696,6 @@ func (this *CorrelationChartInfoController) Detail() {
 
 	var dataResp interface{} // 绘图数据返回(目前是滚动相关性的图)
 	var xEdbIdValue []int
-	var xDateTimeValue []string
 	var yDataList []data_manage.YData
 	switch chartInfo.Source {
 	case utils.CHART_SOURCE_CORRELATION: // 相关性图
@@ -717,10 +716,11 @@ func (this *CorrelationChartInfoController) Detail() {
 		}
 	case utils.CHART_SOURCE_ROLLING_CORRELATION: // 滚动相关性图
 		startDate, endDate := utils.GetDateByDateType(correlationChart.DateType, correlationChart.StartDate.Format(utils.FormatDate), correlationChart.EndDate.Format(utils.FormatDate))
-		xDateTimeValue, yDataList, e = correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, correlationChart.LeadValue, correlationChart.LeadUnit, correlationChart.CalculateValue, correlationChart.CalculateUnit, startDate, endDate)
-		dataResp = data_manage.RollingCorrelationChartDataResp{
-			XDateTimeValue: xDateTimeValue,
-			YDataList:      yDataList,
+		dataResp, e = correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, correlationChart.LeadValue, correlationChart.LeadUnit, correlationChart.CalculateValue, correlationChart.CalculateUnit, startDate, endDate, chartInfo.ChartName, chartInfo.ChartNameEn)
+		if e != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取滚动相关性图表, 图表计算值失败, Err:" + e.Error()
+			return
 		}
 	}
 
@@ -1175,7 +1175,6 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
 
 	var dataResp interface{} // 绘图数据返回(目前是滚动相关性的图)
 	var xEdbIdValue []int
-	var xDateTimeValue []string
 	var yDataList []data_manage.YData
 	switch chartInfo.Source {
 	case utils.CHART_SOURCE_CORRELATION: // 相关性图
@@ -1197,10 +1196,11 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
 	case utils.CHART_SOURCE_ROLLING_CORRELATION: // 滚动相关性图
 		startDate, endDate := utils.GetDateByDateType(correlationChart.DateType, correlationChart.StartDate.Format(utils.FormatDate), correlationChart.EndDate.Format(utils.FormatDate))
 
-		xDateTimeValue, yDataList, e = correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, correlationChart.LeadValue, correlationChart.LeadUnit, correlationChart.CalculateValue, correlationChart.CalculateUnit, startDate, endDate)
-		dataResp = data_manage.RollingCorrelationChartDataResp{
-			XDateTimeValue: xDateTimeValue,
-			YDataList:      yDataList,
+		dataResp, e = correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, correlationChart.LeadValue, correlationChart.LeadUnit, correlationChart.CalculateValue, correlationChart.CalculateUnit, startDate, endDate, chartInfo.ChartName, chartInfo.ChartNameEn)
+		if e != nil {
+			msg = "获取失败"
+			errMsg = "获取滚动相关性图表, 图表计算值失败, Err:" + e.Error()
+			return
 		}
 	}
 

+ 6 - 6
controllers/data_manage/edb_classify.go

@@ -2,12 +2,12 @@ package data_manage
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 )
 
 // EdbClassifyController 数据管理-分类模块

+ 156 - 7
controllers/data_manage/edb_info.go

@@ -2,15 +2,17 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/data"
+	"eta/eta_api/services/elastic"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/services/elastic"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"strings"
 	"sync"
@@ -4180,3 +4182,150 @@ func (this *EdbInfoController) GetEdbBeforeAndAfterDateData() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// EdbChartAdminList
+// @Title 获取创建人员分组
+// @Description 获取创建人员分组
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库"
+// @Success 200 {object} company.DepartmentGroupSellersResp
+// @router /edb_chart/adminList [get]
+func (this *EdbInfoController) EdbChartAdminList() {
+	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
+	}
+
+	source, _ := this.GetInt("Source", 0)
+	if source <= 0 || source > 5 {
+		br.Msg = "错误的来源"
+		br.IsSendEmail = false
+		return
+	}
+
+	idList, err := data.GetEdbChartAdminList(source)
+	if err != nil {
+		//br.Success = true
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+
+	fmt.Println("idlist:", idList)
+	systemAdminMap := make(map[int]*system.Admin)
+	departmentMap := make(map[string]string)
+	departmentAdminMap := make(map[int]string)
+	groupMap := make(map[string]string)
+	systemAdminList, err := system.GetAdminListByIdListWithoutEnable(idList)
+	if err != nil {
+		br.Msg = "获取用户列表失败"
+		br.ErrMsg = "获取用户列表失败,Err:" + err.Error()
+		return
+	}
+
+	for _, v := range systemAdminList {
+		systemAdminMap[v.AdminId] = v
+		departmentMap[v.DepartmentName] = v.DepartmentName
+		departmentAdminMap[v.AdminId] = v.DepartmentName
+		groupMap[v.GroupName] = v.DepartmentName
+	}
+
+	depList := make([]company.DepartmentGroupAdmins, 0)
+
+	i := 1
+	for _, v := range departmentMap {
+		item := company.DepartmentGroupAdmins{
+			AdminId:  "dep_" + strconv.Itoa(i),
+			RealName: v,
+		}
+		i++
+		depList = append(depList, item)
+	}
+
+	for k := 0; k < len(depList); k++ {
+		for k1, v1 := range groupMap {
+			if v1 == depList[k].RealName && v1 != "" {
+				item := &company.DepartmentGroupAdmins{
+					AdminId:  "group_" + strconv.Itoa(k),
+					RealName: k1,
+				}
+				depList[k].ChildrenList = append(depList[k].ChildrenList, item)
+			}
+		}
+	}
+
+	for _, admin := range systemAdminList {
+		for i, v := range depList {
+			for _, group := range v.ChildrenList {
+				if admin.GroupName == group.RealName {
+					item := &company.DepartmentGroupAdmins{
+						AdminId:      strconv.Itoa(admin.AdminId),
+						RealName:     admin.RealName,
+						RoleTypeCode: admin.RoleTypeCode,
+						Authority:    admin.Authority,
+					}
+					if group.RealName != "" {
+						group.ChildrenList = append(group.ChildrenList, item)
+					} else {
+						depList[i].ChildrenList = append(depList[i].ChildrenList, item)
+					}
+				}
+			}
+		}
+	}
+
+	for _, groupList := range depList {
+		for k, v := range groupList.ChildrenList {
+			if v.RealName == "" {
+				groupList.ChildrenList = append(groupList.ChildrenList[:k], groupList.ChildrenList[k+1:]...)
+			}
+		}
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = depList
+}
+
+// EdbSourceList
+// @Title 指标来源列表
+// @Description 指标来源列表
+// @Param   IsBase   query   int  false	"是否为基础指标: 1-是"
+// @Success 200 {object} data_manage.EdbInfoListResp
+// @router /edb_source/list [get]
+func (this *EdbInfoController) EdbSourceList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	isBase, _ := this.GetInt("IsBase", 0)
+
+	cond := ``
+	if isBase > 0 {
+		cond = ` AND is_base = 1`
+	}
+	pars := make([]interface{}, 0)
+	list, e := data_manage.GetEdbSourceItemsByCondition(cond, pars, []string{}, "")
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取指标来源列表失败, Err: " + e.Error()
+		return
+	}
+
+	br.Data = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+}

+ 5 - 5
controllers/data_manage/edb_info_calculate.go

@@ -2,12 +2,12 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"net/url"
 	"strconv"
 	"strings"

+ 4 - 4
controllers/data_manage/edb_info_updates.go

@@ -1,12 +1,12 @@
 package data_manage
 
 import (
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"time"
 )
 

+ 3 - 3
controllers/data_manage/eia_steo.go

@@ -3,9 +3,9 @@ package data_manage
 import (
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/utils"
 	"os"
 	"path/filepath"
 	"time"

+ 6 - 6
controllers/data_manage/excel_classify.go

@@ -2,12 +2,12 @@ package data_manage
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/utils"
 	"strconv"
 	"time"
 )

+ 22 - 13
controllers/data_manage/excel_info.go

@@ -2,19 +2,19 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/services"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/data"
+	"eta/eta_api/services/excel"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/yidane/formula"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/services/excel"
-	"hongze/hz_eta_api/utils"
 	"os"
 	"strconv"
 	"strings"
@@ -1242,12 +1242,21 @@ func (c *ExcelInfoController) Calculate() {
 		br.ErrMsg = "计算失败:计算结果是:NAN;formulaStr:" + formulaFormStr
 		return
 	}
-	calVal := calResult.String()
-	if err != nil {
+	// 计算结果格式化
+	calFloat, e := calResult.Float64()
+	if e != nil {
 		br.Msg = "计算失败"
-		br.ErrMsg = "计算失败,结果转 string 失败:Err:" + err.Error() + ";formulaStr:" + formulaFormStr
+		br.ErrMsg = "计算失败, Err: " + e.Error()
 		return
 	}
+	calVal := utils.FormatTableDataShowValue(calFloat)
+
+	//calVal := calResult.String()
+	//if err != nil {
+	//	br.Msg = "计算失败"
+	//	br.ErrMsg = "计算失败,结果转 string 失败:Err:" + err.Error() + ";formulaStr:" + formulaFormStr
+	//	return
+	//}
 
 	br.Ret = 200
 	br.Success = true

+ 6 - 6
controllers/data_manage/future_good/future_good_chart_classify.go

@@ -2,13 +2,13 @@ package future_good
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"time"
 )

+ 11 - 211
controllers/data_manage/future_good/future_good_chart_info.go

@@ -2,18 +2,18 @@ package future_good
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/future_good"
+	"eta/eta_api/models/data_manage/future_good/request"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/services/data"
+	future_goodServ "eta/eta_api/services/data/future_good"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/future_good"
-	"hongze/hz_eta_api/models/data_manage/future_good/request"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/data"
-	future_goodServ "hongze/hz_eta_api/services/data/future_good"
-	"hongze/hz_eta_api/utils"
 	"os"
 	"os/exec"
 	"sort"
@@ -2194,205 +2194,6 @@ func (this *FutureGoodChartInfoController) ChartInfoImageSet() {
 	br.Msg = "保存成功"
 }
 
-//
-//// @Param   Img   query   string  true       "图片"
-//// @Success 200 {object} models.ResourceResp
-//// @router /chart_info/base64Upload [post]
-//func (this *FutureGoodChartInfoController) ChartInfoBase64Upload() {
-//
-//	br := new(models.BaseResponse).Init()
-//	defer func() {
-//		this.Data["json"] = br
-//		this.ServeJSON()
-//	}()
-//
-//	var err error
-//	ext := ".png"
-//	uploadDir := "./static"
-//	randStr := utils.GetRandStringNoSpecialChar(28)
-//	fileName := randStr + ext
-//	fpath := uploadDir + "/" + fileName
-//
-//	image := this.Ctx.Request.FormValue("Img")
-//	if image == "" {
-//		resp := new(models.ResourceResp)
-//		resp.Id = 0
-//		resp.ResourceUrl = ""
-//		br.Msg = "上传成功"
-//		br.Ret = 200
-//		br.Success = true
-//		br.Data = resp
-//		return
-//	}
-//	b, _ := regexp.MatchString(`^data:\s*image\/(\w+);base64,`, image)
-//	if !b {
-//		br.Msg = "图片格式不正确"
-//		br.ErrMsg = "图片格式不正确"
-//		return
-//	}
-//	re, _ := regexp.Compile(`^data:\s*image\/(\w+);base64,`)
-//	base64Str := re.ReplaceAllString(image, "")
-//	base64Str = strings.Replace(base64Str, " ", "", -1)
-//
-//	err = utils.SaveBase64ToFile(base64Str, fpath)
-//	if err != nil {
-//		br.Msg = "图片保存失败"
-//		br.ErrMsg = "图片保存失败,Err:" + err.Error()
-//		return
-//	}
-//	fmt.Println("end")
-//
-//	defer os.Remove(fpath)
-//
-//	hzUploadDir := "static/images/"
-//	savePath := hzUploadDir + time.Now().Format("200601/20060102/")
-//	savePath += fileName
-//	//上传到阿里云
-//	err = services.UploadFileToAliyun(fileName, fpath, savePath)
-//	if err != nil {
-//		br.Msg = "文件上传失败"
-//		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-//		return
-//	}
-//	utils.FileLog.Info("%s:", time.Now().Format(utils.FormatDateTime))
-//	utils.FileLog.Info("end update oss ")
-//
-//	fileHost := "https://hzstatic.hzinsights.com/"
-//
-//	resourceUrl := fileHost + savePath
-//
-//	item := new(models.Resource)
-//	item.ResourceUrl = resourceUrl
-//	item.ResourceType = 1
-//	item.CreateTime = time.Now()
-//	newId, err := models.AddResource(item)
-//	if err != nil {
-//		br.Msg = "资源上传失败"
-//		br.ErrMsg = "资源上传失败,Err:" + err.Error()
-//		return
-//	}
-//	resp := new(models.ResourceResp)
-//	resp.Id = newId
-//	resp.ResourceUrl = resourceUrl
-//	br.Msg = "上传成功"
-//	br.Ret = 200
-//	br.Success = true
-//	br.Data = resp
-//
-//	//br := new(models.BaseResponse).Init()
-//	//defer func() {
-//	//	this.Data["json"] = br
-//	//	this.ServeJSON()
-//	//}()
-//	//imgData := this.GetString("Img")
-//	//if imgData == "" {
-//	//	br.Msg = "图片参数错误"
-//	//	br.ErrMsg = "图片参数错误,Img Is Empty"
-//	//	return
-//	//}
-//
-//	//dateDir := time.Now().Format("20060102")
-//	//uploadDir := utils.STATIC_DIR + "hongze/" + dateDir
-//	//
-//	//if !utils.FileIsExist(uploadDir) {
-//	//	err := os.MkdirAll(uploadDir, 777)
-//	//	if err != nil {
-//	//		br.Msg = "存储目录创建失败"
-//	//		br.ErrMsg = "存储目录创建失败,Err:" + err.Error()
-//	//		return
-//	//	}
-//	//}
-//	//var resourceUrl string
-//	//param := url.Values{}
-//	//param.Add("Sign", "dIGi2M0VN21s3dKS")
-//	//param.Add("Img", imgData)
-//	//svgToPngUrl := `http://8.136.199.33:8086/v1/image/svg_to_png`
-//	//respBody, err := http.Post(svgToPngUrl, param.Encode(), "")
-//	//if err != nil {
-//	//	br.Msg = "文件上传失败"
-//	//	br.ErrMsg = "图片格式转换失败,Err:" + err.Error()
-//	//	return
-//	//}
-//	//fmt.Println(string(respBody))
-//	//respItem := new(data_manage.ImageSvgToPngResp)
-//	//err = json.Unmarshal(respBody, &respItem)
-//	//if err != nil {
-//	//	br.Msg = "文件上传失败"
-//	//	br.ErrMsg = "图片格式转换失败,Unmarshal Err:" + err.Error()
-//	//	return
-//	//}
-//	//resourceUrl = respItem.Data.ResourceURL
-//	//resp := new(models.ResourceResp)
-//	//resp.ResourceUrl = resourceUrl
-//	//br.Msg = "上传成功"
-//	//br.Ret = 200
-//	//br.Success = true
-//	//br.Data = resp
-//
-//
-//
-//	/*
-//		svg 转 png
-//
-//		uploadDir := "static/images/"
-//		if !utils.FileIsExist(uploadDir) {
-//			err := os.MkdirAll(uploadDir, 777)
-//			if err != nil {
-//				br.Msg = "图表保存失败"
-//				br.ErrMsg = "存储目录创建失败,Err:" + err.Error()
-//				return
-//			}
-//		}
-//
-//		var saveToOssPath string
-//		randStr := utils.GetRandStringNoSpecialChar(28)
-//		var fileName, outFileName string
-//		fileName = randStr + ".txt"
-//		//saveSvgPath = uploadDir + fileName
-//		err := utils.SaveToFile(imgData, fileName)
-//		if err != nil {
-//			br.Msg = "图片保存失败"
-//			br.ErrMsg = "图片保存失败,Err:" + err.Error()
-//			return
-//		}
-//
-//		outFileName = randStr + ".png"
-//		cd := exec.Command("highcharts-export-server", "--infile", fileName, "--constr", "Chart", "--scale", "2", "--workers", "5", "--workLimit", "5", "--outfile", outFileName)
-//		str, err := cd.Output()
-//		fmt.Println(string(str))
-//		if err != nil {
-//			fmt.Println("Command Err:" + err.Error())
-//			return
-//		}
-//		fmt.Println("end convert", time.Now())
-//
-//		defer func() {
-//			os.Remove(fileName)
-//			os.Remove(outFileName)
-//		}()
-//		saveToOssPath = uploadDir + time.Now().Format("200601/20060102/")
-//		saveToOssPath += outFileName
-//		//上传到阿里云
-//		fmt.Println("upload:", outFileName, saveToOssPath)
-//		err = services.UploadFileToAliyun("", outFileName, saveToOssPath)
-//		if err != nil {
-//			br.Msg = "文件上传失败"
-//			br.ErrMsg = "文件上传失败,Err:" + err.Error()
-//			return
-//		}
-//		fileHost := "https://hzstatic.hzinsights.com/"
-//		resourceUrl := fileHost + saveToOssPath
-//
-//		resp := new(models.ResourceResp)
-//		resp.ResourceUrl = resourceUrl
-//		br.Msg = "上传成功"
-//		br.Ret = 200
-//		br.Success = true
-//		br.Data = resp
-//	*/
-//	return
-//}
-
 // @Param   Img   query   string  true       "图片"
 // @Success 200 {object} models.ResourceResp
 // @router /chart_info/base64Upload [post]
@@ -2472,8 +2273,7 @@ func (this *FutureGoodChartInfoController) ChartInfoBase64Upload() {
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
-	fileHost := "https://hzstatic.hzinsights.com/"
-	resourceUrl := fileHost + saveToOssPath
+	resourceUrl := utils.Imghost + saveToOssPath
 	resp.ResourceUrl = resourceUrl
 	resp.Source = "convert"
 	//resp.CacheKey = imgDataKey

+ 4 - 4
controllers/data_manage/future_good/future_good_edb_info.go

@@ -1,11 +1,11 @@
 package future_good
 
 import (
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	future_good2 "eta/eta_api/models/data_manage/future_good"
+	"eta/eta_api/utils"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	future_good2 "hongze/hz_eta_api/models/data_manage/future_good"
-	"hongze/hz_eta_api/utils"
 )
 
 // FutureGoodEdbInfoController 期货数据

+ 9 - 9
controllers/data_manage/future_good/future_good_profit_chart_info.go

@@ -2,16 +2,16 @@ package future_good
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/future_good"
+	"eta/eta_api/models/data_manage/future_good/request"
+	"eta/eta_api/models/data_manage/future_good/response"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	future_goodServ "eta/eta_api/services/data/future_good"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/future_good"
-	"hongze/hz_eta_api/models/data_manage/future_good/request"
-	"hongze/hz_eta_api/models/data_manage/future_good/response"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	future_goodServ "hongze/hz_eta_api/services/data/future_good"
-	"hongze/hz_eta_api/utils"
 	"sort"
 	"strconv"
 	"strings"

+ 3 - 3
controllers/data_manage/gl_data.go

@@ -4,9 +4,9 @@ import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/utils"
 	"os"
 	"path/filepath"
 	"time"

+ 6 - 6
controllers/data_manage/line_equation/line_chart_classify.go

@@ -2,12 +2,12 @@ package line_equation
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"strconv"
 	"time"
 )

+ 9 - 9
controllers/data_manage/line_equation/line_chart_info.go

@@ -2,17 +2,17 @@ package line_equation
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/line_equation/request"
+	"eta/eta_api/models/data_manage/line_equation/response"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/services/data/line_equation"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/line_equation/request"
-	"hongze/hz_eta_api/models/data_manage/line_equation/response"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/services/data/line_equation"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"strings"
 	"time"

+ 9 - 9
controllers/data_manage/line_feature/chart_info.go

@@ -3,17 +3,17 @@ package line_feature
 import (
 	"encoding/json"
 	"errors"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/line_feature/request"
+	"eta/eta_api/models/data_manage/line_feature/response"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	lineFeatureServ "eta/eta_api/services/data/line_feature"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/line_feature/request"
-	"hongze/hz_eta_api/models/data_manage/line_feature/response"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	lineFeatureServ "hongze/hz_eta_api/services/data/line_feature"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"strings"
 	"time"

+ 6 - 6
controllers/data_manage/line_feature/classify.go

@@ -2,12 +2,12 @@ package line_feature
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"strconv"
 	"time"
 )

+ 4 - 4
controllers/data_manage/lz_data.go

@@ -1,12 +1,12 @@
 package data_manage
 
 import (
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_source"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_source"
-	"hongze/hz_eta_api/utils"
 	"os"
 	"path/filepath"
 	"strconv"

+ 6 - 6
controllers/data_manage/manual.go

@@ -3,12 +3,12 @@ package data_manage
 import (
 	"encoding/json"
 	"fmt"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"strconv"
 	"strings"
 	"time"

+ 20 - 19
controllers/data_manage/multiple_graph_config.go

@@ -2,15 +2,15 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	correlationServ "eta/eta_api/services/data/correlation"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	correlationServ "hongze/hz_eta_api/services/data/correlation"
-	"hongze/hz_eta_api/utils"
 	"math"
 	"strconv"
 	"strings"
@@ -295,6 +295,8 @@ func (this *ChartInfoController) MultipleGraphPreview() {
 		correlationConf := req.Correlation
 		// 配置了数据才有返回
 		if correlationConf.LeadValue > 0 {
+			tmpChartInfo := *chartInfo
+
 			moveUnitDays, ok := utils.FrequencyDaysMap[correlationConf.CalculateUnit]
 			if !ok {
 				br.Msg = "错误的分析周期"
@@ -310,7 +312,7 @@ func (this *ChartInfoController) MultipleGraphPreview() {
 				return
 			}
 
-			tmpChartInfo := *chartInfo
+			tmpChartInfo.ChartName += fmt.Sprint(`(`, correlationConf.CalculateValue, correlationConf.CalculateUnit, `)`)
 			tmpChartInfo.Source = utils.CHART_SOURCE_CORRELATION
 			resp.CorrelationData = response.CorrelationResp{
 				ChartInfo:   tmpChartInfo,
@@ -352,12 +354,6 @@ func (this *ChartInfoController) MultipleGraphPreview() {
 			rollingCorrelationData := make([]interface{}, 0)
 			for _, rollingCorrelationConf := range rollingCorrelationConfList {
 				if rollingCorrelationConf.CalculateValue > 0 && rollingCorrelationConf.CalculateUnit != `` {
-					xDateTimeValue, yDataList, e := correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, rollingCorrelationConf.LeadValue, rollingCorrelationConf.LeadUnit, rollingCorrelationConf.CalculateValue, rollingCorrelationConf.CalculateUnit, startDate, endDate)
-					if e != nil {
-						br.Msg = "获取失败"
-						br.ErrMsg = "获取滚动相关性图表, 图表计算值失败, Err:" + e.Error()
-						return
-					}
 					tmpChartInfo := *chartInfo
 					tmpChartInfo.Source = utils.CHART_SOURCE_ROLLING_CORRELATION
 					// ”指标A名称“+”指标B名称“+"滚动相关性"+”滚动相关性计算窗口值“+”滚动相关性计算窗口单位“
@@ -372,11 +368,16 @@ func (this *ChartInfoController) MultipleGraphPreview() {
 					} else {
 						tmpChartInfo.ChartName = fmt.Sprintf(`%s与%s(领先%d%s)%d%s滚动相关性`, edbInfoMappingA.EdbName, edbInfoMappingB.EdbName, int(math.Abs(float64(rollingCorrelationConf.LeadValue))), rollingCorrelationConf.LeadUnit, rollingCorrelationConf.CalculateValue, rollingCorrelationConf.CalculateUnit)
 					}
+					dataResp, e := correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, rollingCorrelationConf.LeadValue, rollingCorrelationConf.LeadUnit, rollingCorrelationConf.CalculateValue, rollingCorrelationConf.CalculateUnit, startDate, endDate, tmpChartInfo.ChartName, tmpChartInfo.ChartNameEn)
+					if e != nil {
+						br.Msg = "获取失败"
+						br.ErrMsg = "获取滚动相关性图表, 图表计算值失败, Err:" + e.Error()
+						return
+					}
 					rollingCorrelationData = append(rollingCorrelationData, response.RollingCorrelationResp{
-						ChartInfo:      tmpChartInfo,
-						EdbInfoList:    mappingList,
-						XDateTimeValue: xDateTimeValue,
-						YDataList:      yDataList,
+						ChartInfo:   tmpChartInfo,
+						EdbInfoList: mappingList,
+						DataResp:    dataResp,
 						CorrelationChartInfo: data_manage.CorrelationInfo{
 							LeadValue:       rollingCorrelationConf.LeadValue,
 							LeadUnit:        rollingCorrelationConf.LeadUnit,

+ 6 - 6
controllers/data_manage/my_chart.go

@@ -2,14 +2,14 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"strings"
 	"time"

+ 7 - 7
controllers/data_manage/mysteel_chemical_data.go

@@ -2,16 +2,16 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"os"
 	"path/filepath"
 	"sort"

+ 4 - 4
controllers/data_manage/national_statistics.go

@@ -4,10 +4,10 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/utils"
 	"os"
 	"path/filepath"
 	"time"

+ 6 - 6
controllers/data_manage/predict_edb_classify.go

@@ -2,12 +2,12 @@ package data_manage
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 )
 
 // PredictEdbClassifyController 数据管理-预测指标分类模块

+ 8 - 8
controllers/data_manage/predict_edb_info.go

@@ -3,14 +3,14 @@ package data_manage
 import (
 	"encoding/json"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/services/elastic"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/services/data"
+	"eta/eta_api/services/elastic"
+	"eta/eta_api/utils"
 	"sort"
 	"strconv"
 	"strings"

+ 4 - 4
controllers/data_manage/predict_edb_info_calculate.go

@@ -2,11 +2,11 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"strings"
 	"time"
 )

+ 6 - 6
controllers/data_manage/sci_data.go

@@ -5,12 +5,12 @@ import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"os"
 	"path/filepath"
 	"strings"

+ 6 - 6
controllers/data_manage/smm_data.go

@@ -5,12 +5,12 @@ import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"os"
 	"path/filepath"
 	"strings"

+ 9 - 9
controllers/data_manage/supply_analysis/variety.go

@@ -2,17 +2,17 @@ package supply_analysis
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/models/data_manage/supply_analysis"
+	"eta/eta_api/services/data"
+	supply_analysisServ "eta/eta_api/services/data/supply_analysis"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/models/data_manage/supply_analysis"
-	"hongze/hz_eta_api/services/data"
-	supply_analysisServ "hongze/hz_eta_api/services/data/supply_analysis"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"strings"
 	"time"

+ 8 - 8
controllers/data_manage/supply_analysis/variety_edb.go

@@ -4,14 +4,14 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/models/data_manage/supply_analysis"
-	"hongze/hz_eta_api/services/data"
-	supply_analysisServ "hongze/hz_eta_api/services/data/supply_analysis"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/models/data_manage/supply_analysis"
+	"eta/eta_api/services/data"
+	supply_analysisServ "eta/eta_api/services/data/supply_analysis"
+	"eta/eta_api/utils"
 	"os"
 	"path/filepath"
 	"strconv"

+ 6 - 6
controllers/data_manage/supply_analysis/variety_plant.go

@@ -2,14 +2,14 @@ package supply_analysis
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage/request"
+	"eta/eta_api/models/data_manage/response"
+	"eta/eta_api/models/data_manage/supply_analysis"
+	supply_analysisServ "eta/eta_api/services/data/supply_analysis"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/shopspring/decimal"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage/request"
-	"hongze/hz_eta_api/models/data_manage/response"
-	"hongze/hz_eta_api/models/data_manage/supply_analysis"
-	supply_analysisServ "hongze/hz_eta_api/services/data/supply_analysis"
-	"hongze/hz_eta_api/utils"
 	"time"
 )
 

+ 6 - 6
controllers/english_report/email.go

@@ -2,16 +2,16 @@ package english_report
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/services"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/server/web"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/utils"
 	"os"
 	"path"
 	"strconv"

+ 3 - 3
controllers/english_report/en_permission.go

@@ -3,9 +3,9 @@ package english_report
 import (
 	"encoding/json"
 	"fmt"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/utils"
 	"strings"
 	"time"
 )

+ 6 - 6
controllers/english_report/english_auth.go

@@ -2,13 +2,13 @@ package english_report
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/models/system/request"
+	"eta/eta_api/models/system/response"
+	"eta/eta_api/utils"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/models/system/request"
-	"hongze/hz_eta_api/models/system/response"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"strings"
 	"time"

+ 4 - 4
controllers/english_report/english_classify.go

@@ -4,10 +4,10 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"sort"
 	"time"
 )

+ 6 - 6
controllers/english_report/english_company.go

@@ -4,12 +4,12 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/utils"
 	"strconv"
 	"strings"
 	"time"

+ 5 - 5
controllers/english_report/english_company_todo.go

@@ -3,11 +3,11 @@ package english_report
 import (
 	"encoding/json"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"html"
 	"time"
 )

+ 5 - 5
controllers/english_report/english_video.go

@@ -3,11 +3,11 @@ package english_report
 import (
 	"encoding/json"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"strconv"
 	"strings"
 )

+ 4 - 4
controllers/english_report/policy_report.go

@@ -2,11 +2,11 @@ package english_report
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
 	"html"
 	"time"
 )

+ 131 - 65
controllers/english_report/report.go

@@ -4,15 +4,17 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/utils"
 	"html"
 	"strconv"
 	"strings"
+	"sync"
 	"time"
 )
 
@@ -389,55 +391,114 @@ func (this *EnglishReportController) ListReport() {
 		}
 	}
 
-	total, err := models.GetEnglishReportListCount(condition, pars, companyType)
-	if err != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取失败,Err:" + err.Error()
-		return
-	}
-	list, err := models.GetEnglishReportList(condition, pars, companyType, startSize, pageSize)
-	if err != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取失败,Err:" + err.Error()
-		return
-	}
+	var total int
+	var errCount, errList, errOther error
+	var authOk bool
+	list := make([]*models.EnglishReportList, 0)
+	failMap := make(map[int]bool, 0)    // 有群发失败记录的研报
+	adminMap := make(map[int]string, 0) // 编辑中的研究员姓名
 
-	// 获取邮件配置-是否有权限群发
-	conf := new(models.EnglishReportEmailConf)
-	authKey := "english_report_email_conf"
-	confAuth, e := company.GetConfigDetailByCode(authKey)
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取群发邮件权限失败, Err: " + e.Error()
-		return
-	}
-	if confAuth.ConfigValue == "" {
+	wg := sync.WaitGroup{}
+	wg.Add(3)
+
+	// 列表总数
+	go func() {
+		defer func() {
+			wg.Done()
+		}()
+
+		t, e := models.GetEnglishReportListCount(condition, pars, companyType)
+		if e != nil {
+			errCount = fmt.Errorf("获取英文研报Count失败, Err: %s", e.Error())
+			return
+		}
+		total = t
+	}()
+
+	// 列表数据
+	go func() {
+		defer func() {
+			wg.Done()
+		}()
+
+		// 限制一下富文本字段, 列表用不到
+		fieldArr := []string{
+			"id", "add_type", "classify_id_first", "classify_name_first", "classify_id_second", "classify_name_second", "title", "abstract", "author",
+			"frequency", "create_time", "modify_time", "state", "publish_time", "stage", "msg_is_send", "report_code", "pv", "share_url",
+			"pv_email", "email_state", "from_report_id", "key_takeaways", "admin_id", "admin_real_name",
+		}
+		items, e := models.GetEnglishReportList(condition, pars, companyType, startSize, pageSize, fieldArr)
+		if e != nil {
+			errList = fmt.Errorf("获取英文研报列表失败, Err: %s", e.Error())
+			return
+		}
+		list = items
+	}()
+
+	// 群发权限/失败记录
+	go func() {
+		defer func() {
+			wg.Done()
+		}()
+
+		// 获取邮件配置-是否有权限群发
+		conf := new(models.EnglishReportEmailConf)
+		authKey := "english_report_email_conf"
+		confAuth, e := company.GetConfigDetailByCode(authKey)
+		if e != nil {
+			errOther = fmt.Errorf("获取群发邮件权限失败, Err: %s", e.Error())
+			return
+		}
+		if confAuth.ConfigValue == "" {
+			errOther = fmt.Errorf("群发邮件配置为空")
+			return
+		}
+		if e := json.Unmarshal([]byte(confAuth.ConfigValue), &conf); e != nil {
+			errOther = fmt.Errorf("群发邮件配置有误")
+			return
+		}
+		authArr := strings.Split(conf.SendAuthGroup, ",")
+		if utils.InArrayByStr(authArr, sysUser.RoleTypeCode) {
+			authOk = true
+		}
+
+		// 是否有群发邮件失败的记录,标记红点
+		failList, e := models.GetEnglishReportEmailLogFailList(0)
+		if e != nil {
+			errOther = fmt.Errorf("获取群发邮件记录失败, Err: %s", e.Error())
+			return
+		}
+		for i := range failList {
+			failMap[failList[i].ReportId] = true
+		}
+
+		// 获取admin, 用于匹配编辑中的研究员姓名
+		admins, e := system.GetSysAdminList("", make([]interface{}, 0), []string{"admin_id", "real_name"}, "")
+		if e != nil {
+			errOther = fmt.Errorf("获取系统用户列表失败, Err: %s", e.Error())
+			return
+		}
+		for _, a := range admins {
+			adminMap[a.AdminId] = a.RealName
+		}
+	}()
+	wg.Wait()
+
+	if errCount != nil {
 		br.Msg = "获取失败"
-		br.ErrMsg = "群发邮件配置为空"
+		br.ErrMsg = errCount.Error()
 		return
 	}
-	if e := json.Unmarshal([]byte(confAuth.ConfigValue), &conf); e != nil {
+	if errList != nil {
 		br.Msg = "获取失败"
-		br.ErrMsg = "群发邮件配置有误"
+		br.ErrMsg = errList.Error()
 		return
 	}
-	authOk := false
-	authArr := strings.Split(conf.SendAuthGroup, ",")
-	if utils.InArrayByStr(authArr, sysUser.RoleTypeCode) {
-		authOk = true
-	}
-
-	// 是否有群发邮件失败的记录,标记红点
-	failList, e := models.GetEnglishReportEmailLogFailList(0)
-	if e != nil {
+	if errOther != nil {
 		br.Msg = "获取失败"
-		br.ErrMsg = "获取群发邮件记录失败, Err: " + e.Error()
+		br.ErrMsg = errOther.Error()
 		return
 	}
-	failMap := make(map[int]bool, 0)
-	for i := range failList {
-		failMap[failList[i].ReportId] = true
-	}
 
 	for _, item := range list {
 		if item.State == 2 {
@@ -445,37 +506,42 @@ func (this *EnglishReportController) ListReport() {
 		}
 		item.EmailAuth = authOk
 		item.EmailHasFail = failMap[item.Id]
+
 		// 邮箱PV大于0的时候, 不展示最初版本的PV
 		if item.PvEmail > 0 {
 			item.Pv = 0
 		}
 
-		/*key := fmt.Sprint(`crm:enReport:edit:`, item.Id)
-		opUserId, _ := utils.Rc.RedisInt(key)
-		//如果当前没有人操作,获取当前操作人是本人,那么编辑按钮可用
-		if opUserId <= 0 || (opUserId == this.SysUser.AdminId) {
-			item.CanEdit = true
-		} else {
-			adminInfo, errAdmin := system.GetSysUserById(opUserId)
-			if errAdmin != nil {
-				br.Msg = "获取失败"
-				br.ErrMsg = "获取失败,Err:" + errAdmin.Error()
-				return
+		// 报告是否正在编辑中
+		var opUser models.MarkReportItem
+		key := fmt.Sprint(`crm:enReport:edit:`, item.Id)
+		opUserId, e := utils.Rc.RedisInt(key)
+		if e != nil {
+			str, te := utils.Rc.RedisString(key)
+			if te == nil {
+				te = json.Unmarshal([]byte(str), &opUser)
+				if te == nil {
+					opUserId = opUser.AdminId
+				}
 			}
-			item.Editor = adminInfo.RealName
-		}*/
-		markStatus, err := services.UpdateEnReportEditMark(item.Id, this.SysUser.AdminId, 2, this.SysUser.RealName)
-		if err != nil {
-			br.Msg = "查询标记状态失败"
-			br.ErrMsg = "查询标记状态失败,Err:" + err.Error()
-			return
 		}
-		if markStatus.Status == 0 {
+		var ret models.MarkReportResp
+		if opUserId > 0 && opUserId != sysUser.AdminId {
+			editor := opUser.Editor
+			if editor == "" {
+				editor = adminMap[opUserId]
+			}
+			ret.Status = 1
+			ret.Msg = fmt.Sprintf("当前%s正在编辑报告", editor)
+			ret.Editor = editor
+		}
+		if ret.Status == 0 {
 			item.CanEdit = true
 		} else {
-			item.Editor = markStatus.Editor
+			item.Editor = ret.Editor
 		}
 	}
+
 	page := paging.GetPaging(currentIndex, pageSize, total)
 	resp := new(models.EnglishReportListResp)
 	resp.Paging = page

+ 7 - 8
controllers/ppt_english.go

@@ -2,13 +2,13 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/models/ppt_english"
+	"eta/eta_api/services"
+	"eta/eta_api/services/ppt"
+	"eta/eta_api/utils"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/models/ppt_english"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/ppt"
-	"hongze/hz_eta_api/utils"
 	_ "image/gif"
 	_ "image/jpeg"
 	_ "image/png"
@@ -523,8 +523,7 @@ func (this *PptEnglishController) PptUpload() {
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
-	fileHost := "https://hzstatic.hzinsights.com/"
-	pptxUrl := fileHost + savePptxToOssPath
+	pptxUrl := utils.Imghost + savePptxToOssPath
 
 	defer func() {
 		os.Remove(fpath)

+ 3 - 3
controllers/ppt_english_group.go

@@ -2,9 +2,9 @@ package controllers
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/ppt_english"
-	"hongze/hz_eta_api/services/ppt"
+	"eta/eta_api/models"
+	"eta/eta_api/models/ppt_english"
+	"eta/eta_api/services/ppt"
 )
 
 type PptEnglishGroupController struct {

+ 7 - 8
controllers/ppt_v2.go

@@ -2,14 +2,14 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/models/ppt_english"
+	"eta/eta_api/services"
+	"eta/eta_api/services/ppt"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/models/ppt_english"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/ppt"
-	"hongze/hz_eta_api/utils"
 	_ "image/gif"
 	_ "image/jpeg"
 	_ "image/png"
@@ -524,8 +524,7 @@ func (this *PptV2Controller) PptUpload() {
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
-	fileHost := "https://hzstatic.hzinsights.com/"
-	pptxUrl := fileHost + savePptxToOssPath
+	pptxUrl := utils.Imghost + savePptxToOssPath
 
 	defer func() {
 		os.Remove(fpath)

+ 2 - 2
controllers/ppt_v2_group.go

@@ -2,8 +2,8 @@ package controllers
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services/ppt"
+	"eta/eta_api/models"
+	"eta/eta_api/services/ppt"
 )
 
 type PptV2GroupController struct {

+ 150 - 49
controllers/report.go

@@ -2,14 +2,14 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/server/web"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/utils"
 	"html"
 	"os"
 	"path"
@@ -482,26 +482,30 @@ func (this *ReportController) Add() {
 		br.ErrMsg = "保存失败,Err:" + err.Error()
 		return
 	}
-	//处理权限
-	{
-		permissionItems, err := models.GetPermission(req.ClassifyNameSecond)
-		if err != nil {
-			go alarm_msg.SendAlarmMsg("获取权限失败,Err:"+err.Error(), 3)
-			//utils.SendEmail(utils.APPNAME+"失败提醒", "获取权限失败,Err:"+err.Error(), utils.EmailSendToUsers)
-		}
-		for _, v := range permissionItems {
-			err = models.AddChartPermissionChapterMapping(v.ChartPermissionId, newReportId)
-			if err != nil {
-				go alarm_msg.SendAlarmMsg("新增权限失败,Err:"+err.Error(), 3)
-				//utils.SendEmail(utils.APPNAME+"失败提醒", "新增权限失败,Err:"+err.Error()+strconv.FormatInt(newReportId, 10), utils.EmailSendToUsers)
-			}
-		}
-	}
 	reportCode := utils.MD5(strconv.Itoa(int(newReportId)))
 	//修改唯一编码
 	{
 		go models.ModifyReportCode(newReportId, reportCode)
 	}
+
+	//处理权限
+	if utils.BusinessCode == utils.BusinessCodeRelease || utils.BusinessCode == utils.BusinessCodeSandbox {
+		go func() {
+			permissionItems, e := models.GetPermission(req.ClassifyNameSecond)
+			if e != nil {
+				alarm_msg.SendAlarmMsg("获取权限失败,Err:"+e.Error(), 3)
+				return
+			}
+			for _, v := range permissionItems {
+				e = models.AddChartPermissionChapterMapping(v.ChartPermissionId, newReportId)
+				if e != nil {
+					alarm_msg.SendAlarmMsg("新增权限失败,Err:"+e.Error(), 3)
+					return
+				}
+			}
+		}()
+	}
+
 	resp := new(models.AddResp)
 	resp.ReportId = newReportId
 	resp.ReportCode = reportCode
@@ -523,6 +527,14 @@ func (this *ReportController) Edit() {
 		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 models.EditReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
 	if err != nil {
@@ -551,14 +563,6 @@ func (this *ReportController) Edit() {
 		}
 	}
 
-	sysUser := this.SysUser
-	if sysUser == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,SysUser Is Empty"
-		br.Ret = 408
-		return
-	}
-
 	//更新标记key
 	markStatus, err := services.UpdateReportEditMark(int(req.ReportId), sysUser.AdminId, 1, sysUser.RealName)
 	if err != nil {
@@ -608,26 +612,30 @@ func (this *ReportController) Edit() {
 		br.ErrMsg = "保存失败,Err:" + err.Error()
 		return
 	}
+
 	//处理权限
-	{
-		err = models.RemoveChartPermissionChapterMapping(req.ReportId)
-		if err != nil {
-			go alarm_msg.SendAlarmMsg("修改删除报告权限失败,Err:"+err.Error(), 3)
-			//utils.SendEmail(utils.APPNAME+"失败提醒", "修改删除报告权限失败,Err:"+err.Error(), utils.EmailSendToUsers)
-		}
-		permissionItems, err := models.GetPermission(req.ClassifyNameSecond)
-		if err != nil {
-			go alarm_msg.SendAlarmMsg("获取权限失败,Err:"+err.Error(), 3)
-			//utils.SendEmail(utils.APPNAME+"失败提醒", "获取权限失败,Err:"+err.Error(), utils.EmailSendToUsers)
-		}
-		for _, v := range permissionItems {
-			err = models.AddChartPermissionChapterMapping(v.ChartPermissionId, req.ReportId)
-			if err != nil {
-				go alarm_msg.SendAlarmMsg("新增权限失败,Err:"+err.Error(), 3)
-				//utils.SendEmail(utils.APPNAME+"失败提醒", "新增权限失败,Err:"+err.Error()+strconv.FormatInt(req.ReportId, 10), utils.EmailSendToUsers)
+	if utils.BusinessCode == utils.BusinessCodeRelease || utils.BusinessCode == utils.BusinessCodeSandbox {
+		go func() {
+			e := models.RemoveChartPermissionChapterMapping(req.ReportId)
+			if e != nil {
+				alarm_msg.SendAlarmMsg("修改删除报告权限失败,Err:"+e.Error(), 3)
+				return
 			}
-		}
+			permissionItems, e := models.GetPermission(req.ClassifyNameSecond)
+			if e != nil {
+				alarm_msg.SendAlarmMsg("获取权限失败,Err:"+e.Error(), 3)
+				return
+			}
+			for _, v := range permissionItems {
+				e = models.AddChartPermissionChapterMapping(v.ChartPermissionId, req.ReportId)
+				if e != nil {
+					alarm_msg.SendAlarmMsg("新增权限失败,Err:"+e.Error(), 3)
+					return
+				}
+			}
+		}()
 	}
+
 	reportCode := utils.MD5(strconv.Itoa(int(req.ReportId)))
 	resp := new(models.EditResp)
 	resp.ReportId = req.ReportId
@@ -876,6 +884,13 @@ func (this *ReportController) SendTemplateMsg() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
+
 	var req models.SendTemplateMsgReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
 	if err != nil {
@@ -1414,7 +1429,6 @@ func (this *ReportController) GetDayWeekReportChapterTypeList() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-
 	sysUser := this.SysUser
 	if sysUser == nil {
 		br.Msg = "请登录"
@@ -1422,6 +1436,12 @@ func (this *ReportController) GetDayWeekReportChapterTypeList() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	var condition string
 	var pars []interface{}
@@ -1526,6 +1546,12 @@ func (this *ReportController) GetDayWeekReportPauseTime() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	list, err := models.GetDayWeekReportPauseTimeList()
 	if err != nil {
@@ -1560,6 +1586,12 @@ func (this *ReportController) SetDayWeekReportUpdateRule() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	var req models.SetDayWeekReportUpdateRuleReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
@@ -1607,6 +1639,12 @@ func (this *ReportController) SetDayWeekReportEnableRule() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	var req models.SetDayWeekReportEnableUpdateRuleReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
@@ -1648,7 +1686,6 @@ func (this *ReportController) AddDayWeekReport() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-
 	sysUser := this.SysUser
 	if sysUser == nil {
 		br.Msg = "请登录"
@@ -1656,6 +1693,12 @@ func (this *ReportController) AddDayWeekReport() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	var req models.SaveDayWeekReportReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
@@ -1847,7 +1890,6 @@ func (this *ReportController) EditDayWeekReport() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-
 	sysUser := this.SysUser
 	if sysUser == nil {
 		br.Msg = "请登录"
@@ -1855,6 +1897,12 @@ func (this *ReportController) EditDayWeekReport() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	var req models.SaveDayWeekReportReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
@@ -1926,6 +1974,12 @@ func (this *ReportController) GetReportChapterList() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	reqReportId := this.GetString("ReportId")
 	reportId, _ := strconv.Atoi(reqReportId)
@@ -2044,6 +2098,12 @@ func (this *ReportController) GetLastDayWeekReportChapter() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	typeId, _ := this.GetInt("TypeId")
 	reportType := this.GetString("ReportType")
@@ -2347,7 +2407,6 @@ func (this *ReportController) GetDayReportTickerList() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-
 	sysUser := this.SysUser
 	if sysUser == nil {
 		br.Msg = "请登录"
@@ -2355,6 +2414,12 @@ func (this *ReportController) GetDayReportTickerList() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	reportChapterId, _ := this.GetInt("ReportChapterId")
 	if reportChapterId <= 0 {
@@ -2456,6 +2521,12 @@ func (this *ReportController) IsLastDayWeekReportChapter() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	reportChapterId, _ := this.GetInt("ReportChapterId")
 	if reportChapterId <= 0 {
@@ -2513,6 +2584,12 @@ func (this *ReportController) PublishDayWeekReportChapter() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	var req models.PublishReportChapterReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
@@ -2702,6 +2779,12 @@ func (this *ReportController) PublishDayWeekReport() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 
 	var req models.PublishDayWeekReportReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
@@ -2761,6 +2844,13 @@ func (this *ReportController) GetSunCode() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
+
 	var req models.SunCodeReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
 	if err != nil {
@@ -2807,7 +2897,6 @@ func (this *ReportController) GetStopDayWeekReportChapterTypeList() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-
 	sysUser := this.SysUser
 	if sysUser == nil {
 		br.Msg = "请登录"
@@ -2815,6 +2904,12 @@ func (this *ReportController) GetStopDayWeekReportChapterTypeList() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		return
+	}
 
 	stopDay := make([]*models.ReportChapterType, 0)
 	stopWeek := make([]*models.ReportChapterType, 0)
@@ -2930,6 +3025,12 @@ func (this *ReportController) SendMsg() {
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
 	if req.ReportId <= 0 {
 		br.Msg = "参数错误"
 		br.ErrMsg = "参数错误"

+ 2 - 2
controllers/report_author.go

@@ -3,8 +3,8 @@ package controllers
 import (
 	"encoding/json"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/utils"
 	"strings"
 	"time"
 )

+ 17 - 2
controllers/report_chapter_type.go

@@ -3,8 +3,8 @@ package controllers
 import (
 	"encoding/json"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/utils"
 	"time"
 )
 
@@ -370,6 +370,14 @@ func (this *ReportChapterTypeController) AuthSetting() {
 		br.Ret = 408
 		return
 	}
+	// 非自用直接返回
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
+
 	var req models.ReportChapterTypeAuthSettingReq
 	if err := json.Unmarshal(this.Ctx.Input.RequestBody, &req); err != nil {
 		br.Msg = "参数解析异常!"
@@ -456,6 +464,13 @@ func (this *ReportChapterTypeController) PermissionList() {
 		br.Ret = 408
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
+
 	typeId, _ := this.GetInt("ReportChapterTypeId")
 	if typeId <= 0 {
 		br.Msg = "参数有误"

+ 16 - 2
controllers/research_group.go

@@ -1,8 +1,9 @@
 package controllers
 
 import (
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 )
 
 type ResearchGroupController struct {
@@ -20,6 +21,13 @@ func (this *ResearchGroupController) GetResearchGroupList() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "操作成功"
+		return
+	}
+
 	include, _ := this.GetInt("Include")
 	list, err := services.GetResearchGroupTree(include)
 	if err != nil {
@@ -50,6 +58,12 @@ func (this *ResearchGroupController) GetAdminResearchGroup() {
 		br.Msg = "参数有误"
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		return
+	}
 	//list, err := system.ResearchGroupRelationListByAdminId(adminId)
 	list, err := models.ResearchTagRelationListByAdminId(adminId)
 	if err != nil {

+ 4 - 6
controllers/resource.go

@@ -2,11 +2,11 @@ package controllers
 
 import (
 	"bufio"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/kgiannakakis/mp3duration/src/mp3duration"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
 	"io"
 	"os"
 	"path"
@@ -556,9 +556,7 @@ func (this *ResourceController) UploadImageBase64() {
 	utils.FileLog.Info("%s:", time.Now().Format(utils.FormatDateTime))
 	utils.FileLog.Info("end update oss ")
 
-	fileHost := "https://hzstatic.hzinsights.com/"
-
-	resourceUrl := fileHost + savePath
+	resourceUrl := utils.Imghost + savePath
 
 	item := new(models.Resource)
 	item.ResourceUrl = resourceUrl

+ 3 - 3
controllers/roadshow/calendar.go

@@ -1,9 +1,9 @@
 package roadshow
 
 import (
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/roadshow"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/roadshow"
 )
 
 // CalendarController 日历

+ 32 - 11
controllers/sandbox/sandbox.go

@@ -2,15 +2,16 @@ package sandbox
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	"eta/eta_api/models/sandbox"
+	"eta/eta_api/models/sandbox/request"
+	"eta/eta_api/models/sandbox/response"
+	"eta/eta_api/models/system"
+	sandboxService "eta/eta_api/services/sandbox"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/sandbox"
-	"hongze/hz_eta_api/models/sandbox/request"
-	"hongze/hz_eta_api/models/sandbox/response"
-	sandboxService "hongze/hz_eta_api/services/sandbox"
-	"hongze/hz_eta_api/utils"
 )
 
 // versionSize 版本列表第一页数据约定是:3条
@@ -325,11 +326,30 @@ func (this *SandboxController) Save() {
 		return
 	}
 
-	var sandboxInfo *sandbox.Sandbox
+	var sandboxResp *sandbox.SandboxSaveResp
+	// 获取系统菜单, 如果没有对应的字段的特殊处理项, 则忽略必填
+	menus, e := system.GetSysMenuItemsByCondition("", make([]interface{}, 0), []string{}, ``)
+	if e != nil {
+		br.Msg = "保存失败"
+		br.ErrMsg = "获取菜单列表失败, Err: " + e.Error()
+		return
+	}
+	menuMap := make(map[string]bool)
+	for _, m := range menus {
+		if m.ButtonCode != "" {
+			menuMap[m.ButtonCode] = true
+		}
+	}
+	ignoreVariety := false
+	if !menuMap[system.MenuSpecialHandleSandboxVariety] {
+		ignoreVariety = true
+		return
+	}
+
 	var errMsg string
 	if req.SandboxVersionCode == `` {
 		//新增沙盘
-		sandboxInfo, err = sandboxService.AddSandbox(req, sysUser.AdminId, sysUser.RealName)
+		sandboxResp, err = sandboxService.AddSandbox(req, sysUser.AdminId, sysUser.RealName, ignoreVariety)
 	} else {
 		////更新当前编辑中的状态缓存
 		//err = sandboxService.UpdateSandboxEditMark(req.SandboxId, sysUser.AdminId, 1)
@@ -339,7 +359,7 @@ func (this *SandboxController) Save() {
 		//}
 
 		//编辑沙盘
-		sandboxInfo, err, errMsg = sandboxService.UpdateSandbox(req, sysUser.AdminId, sysUser.RealName)
+		sandboxResp, err, errMsg = sandboxService.UpdateSandbox(req, sysUser.AdminId, sysUser.RealName, ignoreVariety)
 	}
 	if err != nil {
 		br.Msg = "保存失败!"
@@ -349,11 +369,12 @@ func (this *SandboxController) Save() {
 		br.ErrMsg = "保存失败,Err:" + err.Error()
 		return
 	}
+
 	msg := "保存成功"
 	br.Ret = 200
 	br.Success = true
 	br.Msg = msg
-	br.Data = sandboxInfo
+	br.Data = sandboxResp
 }
 
 // AddSandboxDraft

+ 5 - 5
controllers/semantic_analysis/sa_compare.go

@@ -2,13 +2,13 @@ package semantic_analysis
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	saModel "eta/eta_api/models/semantic_analysis"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	saModel "hongze/hz_eta_api/models/semantic_analysis"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
 	"html"
 	"strconv"
 	"strings"

+ 5 - 5
controllers/semantic_analysis/sa_compare_classify.go

@@ -2,12 +2,12 @@ package semantic_analysis
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	saModel "eta/eta_api/models/semantic_analysis"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	saModel "hongze/hz_eta_api/models/semantic_analysis"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/utils"
 	"strings"
 	"time"
 )

+ 5 - 5
controllers/semantic_analysis/sa_doc.go

@@ -2,13 +2,13 @@ package semantic_analysis
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	saModel "eta/eta_api/models/semantic_analysis"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	saModel "hongze/hz_eta_api/models/semantic_analysis"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
 	"html"
 	"strings"
 	"time"

+ 5 - 5
controllers/semantic_analysis/sa_doc_classify.go

@@ -3,11 +3,11 @@ package semantic_analysis
 import (
 	"encoding/json"
 	"fmt"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	saModel "hongze/hz_eta_api/models/semantic_analysis"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	saModel "eta/eta_api/models/semantic_analysis"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/utils"
 	"strings"
 	"time"
 )

+ 6 - 6
controllers/semantic_analysis/sa_label.go

@@ -4,12 +4,12 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	saModel "hongze/hz_eta_api/models/semantic_analysis"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	saModel "eta/eta_api/models/semantic_analysis"
+	"eta/eta_api/services"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/utils"
 	"strings"
 	"time"
 )

+ 7 - 7
controllers/sys_admin.go

@@ -3,14 +3,14 @@ package controllers
 import (
 	"encoding/base64"
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/company"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/company"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
 	"strconv"
 	"strings"
 	"time"
@@ -267,7 +267,7 @@ func (this *SysAdminController) ListSysuser() {
 		}
 	}
 	// 研究方向分组
-	if len(adminIdArr) > 0 {
+	if len(adminIdArr) > 0 && (utils.BusinessCode == utils.BusinessCodeRelease || utils.BusinessCode == utils.BusinessCodeSandbox) {
 		//adminIds := strings.Join(adminIdArr, ",")
 		//researchGroupList, e := system.GetAdminResearchGroupListByAdminId(adminIds)
 		researchGroupList, e := models.GetAdminVarietyTagRelationListByAdminId(adminIdArr)

+ 3 - 3
controllers/sys_department.go

@@ -2,9 +2,9 @@ package controllers
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/utils"
 	"time"
 )
 

+ 3 - 3
controllers/sys_group.go

@@ -2,9 +2,9 @@ package controllers
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/utils"
 	"strings"
 	"time"
 )

+ 3 - 3
controllers/sys_menu.go

@@ -1,9 +1,9 @@
 package controllers
 
 import (
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/utils"
 	"strconv"
 	"strings"
 )

+ 3 - 3
controllers/sys_menu_button.go

@@ -1,9 +1,9 @@
 package controllers
 
 import (
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/utils"
 )
 
 type SysMenuButtonController struct {

+ 253 - 6
controllers/sys_role.go

@@ -4,10 +4,10 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"strconv"
 	"strings"
 	"time"
@@ -248,7 +248,8 @@ func (this *SysRoleController) ListSysRole() {
 	br.Data = resp
 }
 
-// @Title 角色设置权限-菜单列表
+// SysRoleMenusList
+// @Title 角色设置权限-菜单列表-CRM14.1弃用
 // @Description 角色设置权限-菜单列表
 // @Param   RoleId   query   int  true       "角色Id"
 // @Success 200 {object} system.SysRoleListResp
@@ -313,7 +314,8 @@ func (this *SysRoleController) SysRoleMenusList() {
 	br.Data = resp
 }
 
-// @Title 角色设置权限
+// SysRoleMenusAdd
+// @Title 角色设置权限-CRM14.1弃用
 // @Description 角色设置权限
 // @Param	request	body system.RoleMenusAddReq true "type json string"
 // @Success 200 {object} system.SysRoleListResp
@@ -453,3 +455,248 @@ func (this *SysRoleController) AllSysRole() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// SysRoleMenuAuthList
+// @Title 角色设置权限-菜单列表
+// @Description 角色设置权限-菜单列表
+// @Param   RoleId   query   int  true       "角色Id"
+// @Success 200 {object} system.SysRoleListResp
+// @router /role/menu/auth_list [get]
+func (this *SysRoleController) SysRoleMenuAuthList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		return
+	}
+	resp := new(system.SysMenuListResp)
+	resp.ChoiceList = make([]int, 0)
+	resp.HalfChoiceList = make([]int, 0)
+	resp.List = make([]*system.SysMenuItem, 0)
+
+	// 角色勾选的权限
+	roleId, _ := this.GetInt("RoleId", 0)
+	if roleId > 0 {
+		relates, e := system.GetSysRoleMenuByRoleId(roleId)
+		if e != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取角色关联菜单失败, Err: " + e.Error()
+			return
+		}
+		for _, r := range relates {
+			if r.Type == 1 {
+				resp.HalfChoiceList = append(resp.HalfChoiceList, r.MenuId)
+				continue
+			}
+			resp.ChoiceList = append(resp.ChoiceList, r.MenuId)
+		}
+	}
+
+	order := `sort ASC, create_time DESC, menu_id DESC`
+	list, e := system.GetSysMenuItemsByCondition("", make([]interface{}, 0), []string{}, order)
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取菜单列表失败, Err: " + e.Error()
+		return
+	}
+
+	items := make([]*system.SysMenuItem, 0)
+	for _, v := range list {
+		t := &system.SysMenuItem{
+			MenuId:       v.MenuId,
+			ParentId:     v.ParentId,
+			Name:         v.Name,
+			Sort:         v.Sort,
+			Path:         v.Path,
+			PathName:     v.PathName,
+			IconPath:     v.IconPath,
+			Component:    v.Component,
+			Hidden:       v.Hidden,
+			HiddenLayout: v.HiddenLayout,
+			Level:        v.Level,
+			MenuType:     v.MenuType,
+			ButtonCode:   v.ButtonCode,
+			Children:     make([]*system.SysMenuItem, 0),
+		}
+		items = append(items, t)
+	}
+
+	// 递归返回树形结构
+	items = services.GetMenuTreeRecursive(items, 0)
+
+	resp.List = items
+	br.Data = resp
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+}
+
+// SysRoleMenuAuthSave
+// @Title 角色设置权限-保存
+// @Description 角色设置权限-保存
+// @Param	request	body RoleMenusSaveReq true "type json string"
+// @Success 200 {object} system.SysRoleListResp
+// @router /role/menu/auth_save [post]
+func (this *SysRoleController) SysRoleMenuAuthSave() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	type RoleMenusSaveReq struct {
+		RoleId      int   `description:"角色ID"`
+		MenuIds     []int `description:"菜单IDs"`
+		HalfMenuIds []int `description:"半选菜单IDs-仅供前端回显用的"`
+	}
+	var req RoleMenusSaveReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.RoleId <= 0 {
+		br.Msg = "参数有误"
+		return
+	}
+	if len(req.MenuIds) == 0 {
+		br.Msg = "请选择菜单"
+		return
+	}
+
+	items := make([]*system.SysRoleMenu, 0)
+	for _, v := range req.MenuIds {
+		t := new(system.SysRoleMenu)
+		t.MenuId = v
+		t.RoleId = req.RoleId
+		items = append(items, t)
+	}
+	for _, v := range req.HalfMenuIds {
+		t := new(system.SysRoleMenu)
+		t.MenuId = v
+		t.Type = 1
+		t.RoleId = req.RoleId
+		items = append(items, t)
+	}
+	if e := system.CreateMultiSysRoleMenu(req.RoleId, items); e != nil {
+		br.Msg = "保存失败"
+		br.ErrMsg = "保存角色菜单权限失败, Err: " + e.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "设置成功"
+}
+
+// ButtonList
+// @Title 角色-按钮权限列表
+// @Description 角色-按钮权限列表
+// @Param   RoleId   query   int  true       "角色Id"
+// @Success 200 {object} system.SysRoleListResp
+// @router /role/menu/buttons [get]
+func (this *SysRoleController) ButtonList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	roleId := sysUser.RoleId
+	list, e := system.GetMenuButtonsByRoleId(roleId)
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取角色按钮权限失败, Err: " + e.Error()
+		return
+	}
+
+	buttonList := make([]*system.SysMenuButtonResp, 0)
+	for _, v := range list {
+		tmp := new(system.SysMenuButtonResp)
+		tmp.MenuId = v.MenuId
+		tmp.ParentId = v.ParentId
+		tmp.MenuType = v.MenuType
+		tmp.Name = v.Name
+		tmp.ButtonCode = v.ButtonCode
+		buttonList = append(buttonList, tmp)
+	}
+
+	br.Data = buttonList
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+}
+
+// SystemConfig
+// @Title 系统配置列表
+// @Description 系统配置列表
+// @Success 200 {object} []system.BusinessConf
+// @router /config [get]
+func (this *SysRoleController) SystemConfig() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	list := make([]system.BusinessConf, 0)
+
+	// 获取基础配置, 若未配置则直接返回
+	conf, e := models.GetBusinessConf()
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取基础配置失败, Err: " + e.Error()
+		return
+	}
+
+	list = append(list, system.BusinessConf{
+		ConfKey: "ReportViewUrl",
+		ConfVal: conf["ReportViewUrl"],
+	}, system.BusinessConf{
+		ConfKey: "ChartViewUrl",
+		ConfVal: conf["ChartViewUrl"],
+	})
+
+	br.Data = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+}

+ 5 - 5
controllers/sys_role_admin.go

@@ -3,11 +3,11 @@ package controllers
 import (
 	"encoding/json"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/models/system/request"
-	"hongze/hz_eta_api/models/system/response"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/models/system/request"
+	"eta/eta_api/models/system/response"
+	"eta/eta_api/utils"
 	"strconv"
 	"strings"
 	"time"

+ 3 - 3
controllers/sys_team.go

@@ -2,9 +2,9 @@ package controllers
 
 import (
 	"encoding/json"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/utils"
 	"strings"
 	"time"
 )

+ 4 - 4
controllers/sys_user.go

@@ -2,11 +2,11 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"fmt"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
 	"time"
 )
 

+ 13 - 13
controllers/target.go

@@ -10,17 +10,17 @@ package controllers
 
 import (
 	"encoding/json"
+	"eta/eta_api/models"
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_source"
+	"eta/eta_api/models/system"
+	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/data"
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/shopspring/decimal"
 	"github.com/tealeg/xlsx"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/models/data_manage"
-	"hongze/hz_eta_api/models/data_source"
-	"hongze/hz_eta_api/models/system"
-	"hongze/hz_eta_api/services/alarm_msg"
-	"hongze/hz_eta_api/services/data"
-	"hongze/hz_eta_api/utils"
 	"os"
 	"path/filepath"
 	"reflect"
@@ -2393,13 +2393,13 @@ func (this *TargetController) TargetFrequencyList() {
 
 func sortEdbFrequency(frequencyList []string) (newFrequencyList []string) {
 	var frequencyMap1 = map[string]int{
-		"日度":   1,
-		"周度":   2,
-		"旬度":   3,
-		"月度":   4,
-		"季度":   5,
+		"日度":  1,
+		"周度":  2,
+		"旬度":  3,
+		"月度":  4,
+		"季度":  5,
 		"半年度": 6,
-		"年度":   7,
+		"年度":  7,
 	}
 
 	var frequencyMap2 = map[int]string{

+ 4 - 4
controllers/trade_analysis/trade_analysis.go

@@ -1,10 +1,10 @@
 package trade_analysis
 
 import (
-	"hongze/hz_eta_api/controllers"
-	"hongze/hz_eta_api/models"
-	trade_analysisModel "hongze/hz_eta_api/models/data_manage/trade_analysis"
-	"hongze/hz_eta_api/services/data/trade_analysis"
+	"eta/eta_api/controllers"
+	"eta/eta_api/models"
+	trade_analysisModel "eta/eta_api/models/data_manage/trade_analysis"
+	"eta/eta_api/services/data/trade_analysis"
 )
 
 // TradeAnalysisController 供应分析

+ 16 - 3
controllers/variety_tag.go

@@ -1,8 +1,9 @@
 package controllers
 
 import (
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 )
 
 type VarietyTagController struct {
@@ -21,15 +22,27 @@ func (this *VarietyTagController) TagTree() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
+	// 非自用不请求
+	resp := make([]*services.TagTreeItem, 0)
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
+		return
+	}
+
 	hasResearcher, _ := this.GetInt("HasResearcher")    // 是否展示研究员:1展示, 0不展示
 	include, _ := this.GetInt("IncludeDisableMember")   // 是否包含被禁用的研究员标签
 	questionId, _ := this.GetInt("CommunityQuestionId") // 问答社区ID-用于区分哪些研究员不可选
-	resp, e := services.GetTagTree(hasResearcher, include, questionId)
+	list, e := services.GetTagTree(hasResearcher, include, questionId)
 	if e != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "TagTree-获取标签树失败, Err: " + e.Error()
 		return
 	}
+	resp = list
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 3 - 3
controllers/voice.go

@@ -5,9 +5,9 @@ import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/file"
 	"github.com/rdlucklib/rdluck_tools/http"
-	"hongze/hz_eta_api/models"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/models"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 	"io/ioutil"
 	"os"
 	"path"

+ 1 - 5
go.mod

@@ -1,15 +1,13 @@
-module hongze/hz_eta_api
+module eta/eta_api
 
 go 1.18
 
 require (
-	baliance.com/gooxml v1.0.1
 	github.com/PuerkitoBio/goquery v1.8.0
 	github.com/SebastiaanKlippert/go-wkhtmltopdf v1.7.2
 	github.com/alibabacloud-go/alimt-20181012/v2 v2.0.0
 	github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.2
 	github.com/alibabacloud-go/dm-20151123/v2 v2.0.1
-	github.com/alibabacloud-go/ocr-20191230/v3 v3.0.6
 	github.com/alibabacloud-go/tea v1.1.20
 	github.com/alibabacloud-go/tea-utils/v2 v2.0.1
 	github.com/aliyun/alibaba-cloud-sdk-go v1.61.1656
@@ -22,7 +20,6 @@ require (
 	github.com/gonum/stat v0.0.0-20181125101827-41a0da705a5b
 	github.com/gorilla/websocket v1.5.0
 	github.com/kgiannakakis/mp3duration v0.0.0-20191013070830-d834f8d5ed53
-	github.com/mozillazg/go-pinyin v0.19.0
 	github.com/nosixtools/solarlunar v0.0.0-20211112060703-1b6dea7b4a19
 	github.com/olivere/elastic/v7 v7.0.30
 	github.com/rdlucklib/rdluck_tools v1.0.3
@@ -31,7 +28,6 @@ require (
 	github.com/tealeg/xlsx v1.0.5
 	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.541
 	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses v1.0.541
-	github.com/wenzhenxi/gorsa v0.0.0-20210524035706-528c7050d703
 	github.com/xuri/excelize/v2 v2.6.1
 	github.com/yidane/formula v0.0.0-20210902154546-0782e1736717
 	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df

+ 4 - 4
main.go

@@ -2,13 +2,13 @@ package main
 
 import (
 	"fmt"
-	"hongze/hz_eta_api/services/alarm_msg"
+	"eta/eta_api/services/alarm_msg"
 	"runtime"
 	"time"
 
-	_ "hongze/hz_eta_api/routers"
-	"hongze/hz_eta_api/services"
-	"hongze/hz_eta_api/utils"
+	_ "eta/eta_api/routers"
+	"eta/eta_api/services"
+	"eta/eta_api/utils"
 
 	"github.com/beego/beego/v2/adapter/logs"
 	"github.com/beego/beego/v2/server/web"

+ 0 - 147
models/aimod/ai.go

@@ -1,147 +0,0 @@
-package aimod
-
-import (
-	"github.com/beego/beego/v2/client/orm"
-	"time"
-)
-
-type AiChatTopic struct {
-	AiChatTopicId   int `orm:"column(ai_chat_topic_id);pk"`
-	TopicName       string
-	SysUserId       int
-	SysUserRealName string
-	CreateTime      time.Time
-	ModifyTime      time.Time
-}
-
-type AiChat struct {
-	AiChatId        int `orm:"column(ai_chat_id);pk"`
-	AiChatTopicId   int
-	Ask             string
-	AskUuid         string
-	Answer          string
-	Model           string
-	SysUserId       int
-	SysUserRealName string
-	CreateTime      time.Time
-	ModifyTime      time.Time
-}
-
-type ChatReq struct {
-	AiChatTopicId int    `description:"主题id"`
-	Model         string `description:"模型:gpt-3.5-turbo,eta,gpt-3.5-turbo-16k"`
-	Ask           string `description:"提问"`
-}
-
-func GetAiChatByAsk(askUuid, model string) (item *AiChat, err error) {
-	sql := `SELECT * FROM ai_chat WHERE ask_uuid=? AND model =? `
-	o := orm.NewOrmUsingDB("weekly")
-	err = o.Raw(sql, askUuid, model).QueryRow(&item)
-	return
-}
-
-type ChatResp struct {
-	AiChatTopicId int    `description:"主题id"`
-	Ask           string `description:"提问"`
-	Answer        string `description:"回答"`
-	Model         string
-}
-
-// AddAiChatTopic 新增主题
-func AddAiChatTopic(item *AiChatTopic) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("weekly")
-	lastId, err = o.Insert(item)
-	return
-}
-
-// AddAiChat 新增聊天
-func AddAiChat(item *AiChat) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("weekly")
-	lastId, err = o.Insert(item)
-	return
-}
-
-type AiChatTopicView struct {
-	AiChatTopicId int    `description:"主题id"`
-	TopicName     string `description:"主题名称"`
-	CreateTime    string `description:"创建时间"`
-	ModifyTime    string `description:"修改时间"`
-}
-
-func GetAiChatTopicList(sysUserId int) (item []*AiChatTopicView, err error) {
-	sql := ` SELECT * FROM ai_chat_topic WHERE sys_user_id=? ORDER BY create_time DESC `
-	o := orm.NewOrmUsingDB("weekly")
-	_, err = o.Raw(sql, sysUserId).QueryRows(&item)
-	return
-}
-
-type AiChatTopicListResp struct {
-	List []*AiChatTopicView
-}
-
-type AiChatView struct {
-	AiChatId      int    `description:"记录id"`
-	AiChatTopicId int    `description:"主题id"`
-	Ask           string `description:"提问"`
-	Answer        string `description:"答案"`
-	Model         string
-	CreateTime    string `description:"创建时间"`
-	ModifyTime    string `description:"修改时间"`
-}
-
-func GetAiChatList(aiChatTopicId int) (item []*AiChatView, err error) {
-	sql := ` SELECT * FROM ai_chat WHERE ai_chat_topic_id=? ORDER BY create_time ASC `
-	o := orm.NewOrmUsingDB("weekly")
-	_, err = o.Raw(sql, aiChatTopicId).QueryRows(&item)
-	return
-}
-
-type AiChatDetailResp struct {
-	List []*AiChatView
-}
-
-type TopicDeleteReq struct {
-	AiChatTopicId int `description:"主题id"`
-}
-
-func DeleteTopic(topicId int) (err error) {
-	o := orm.NewOrmUsingDB("weekly")
-	tx, err := o.Begin()
-	defer func() {
-		if err != nil {
-			tx.Rollback()
-		} else {
-			tx.Commit()
-		}
-	}()
-	sql := ` DELETE FROM ai_chat_topic WHERE  ai_chat_topic_id=? `
-	_, err = tx.Raw(sql, topicId).Exec()
-	if err != nil {
-		return err
-	}
-	sql = ` DELETE FROM ai_chat WHERE  ai_chat_topic_id=? `
-	_, err = tx.Raw(sql, topicId).Exec()
-	if err != nil {
-		return err
-	}
-	return err
-}
-
-type TopicEditReq struct {
-	AiChatTopicId int    `description:"主题id"`
-	TopicName     string `description:"主题名称"`
-}
-
-func GetAiChatTopicByTopicName(topicName string) (item *AiChatTopicView, err error) {
-	sql := ` SELECT * FROM ai_chat_topic WHERE topic_name=? `
-	o := orm.NewOrmUsingDB("weekly")
-	err = o.Raw(sql, topicName).QueryRow(&item)
-	return
-}
-
-func EditTopic(topicId int, topicName string) (err error) {
-	o := orm.NewOrmUsingDB("weekly")
-	sql := ` UPDATE ai_chat_topic SET topic_name=? WHERE  ai_chat_topic_id=? `
-	_, err = o.Raw(sql, topicName, topicId).Exec()
-	return err
-}

+ 1 - 1
models/classify.go

@@ -1,9 +1,9 @@
 package models
 
 import (
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/utils"
 	"time"
 )
 

+ 1 - 1
models/cloud_disk_menu.go

@@ -3,7 +3,7 @@ package models
 import (
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/utils"
 	"strings"
 	"time"
 )

+ 1 - 1
models/cloud_disk_resource.go

@@ -3,7 +3,7 @@ package models
 import (
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/utils"
 	"strings"
 	"time"
 )

+ 10 - 0
models/company/company_seller.go

@@ -23,3 +23,13 @@ type DepartmentGroupSellers struct {
 	RoleTypeCode string                   `description:"角色编码"`
 	Authority    int                      `description:"管理权限,0:无,1:部门负责人,2:小组负责人,或者ficc销售主管,4:ficc销售组长"`
 }
+
+
+type DepartmentGroupAdmins struct {
+	AdminId string `description:"系统用户id"`
+	//AdminName string `description:"系统用户名称"`
+	RealName     string                   `description:"用户真实名称"`
+	ChildrenList []*DepartmentGroupAdmins `description:"角色列表"`
+	RoleTypeCode string                   `description:"角色编码"`
+	Authority    int                      `description:"管理权限,0:无,1:部门负责人,2:小组负责人,或者ficc销售主管,4:ficc销售组长"`
+}

+ 1 - 1
models/data_manage/baiinfo_data.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"hongze/hz_eta_api/utils"
 )
 
 type BaiinfoClassify struct {

+ 1 - 1
models/data_manage/base_from_baiinfo.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
-	"hongze/hz_eta_api/utils"
 	"time"
 )
 

+ 1 - 1
models/data_manage/base_from_baiinfo_classify.go

@@ -3,7 +3,7 @@ package data_manage
 import (
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
-	"hongze/hz_eta_api/utils"
+	"eta/eta_api/utils"
 	"time"
 )
 

Some files were not shown because too many files changed in this diff