فهرست منبع

Merge branch 'master' into feature/jingbo_updload

xyxie 1 سال پیش
والد
کامیت
bb10924fa5

+ 9 - 9
controllers/commodity_trade_base_index.go

@@ -1186,8 +1186,8 @@ func (this *TradeCommonController) EicHistoryData() {
 //}
 
 // CoalMineClassify
-// @title	获取中国煤炭网分类列表
-// @Description	获取中国煤炭网分类列表
+// @title	获取中国煤炭市场网分类列表
+// @Description	获取中国煤炭市场网分类列表
 // @Success 200 {object} models.
 // @router /data/coalMineData/classify [get]
 func (this *TradeCommonController) CoalMineClassify() {
@@ -1335,8 +1335,8 @@ func (this *TradeCommonController) CoalMineClassify() {
 }
 
 // CoalMineFrequency
-// @title	获取中国煤炭网频度
-// @Description	获取中国煤炭网频度
+// @title	获取中国煤炭市场网频度
+// @Description	获取中国煤炭市场网频度
 // @Param	ClassifyId query int true	"数据id"
 // @Success 200 {object} models.
 // @router /data/coalMineData/frequency [get]
@@ -1392,8 +1392,8 @@ func (this *TradeCommonController) CoalMineFrequency() {
 }
 
 // CoalMineData
-// @title	获取中国煤炭网详细数据列表
-// @Description	获取中国煤炭网详细数据接口
+// @title	获取中国煤炭市场网详细数据列表
+// @Description	获取中国煤炭市场网详细数据接口
 // @Param	ClassifyId query int true	"数据id"
 // @Param	GroupName query string true	"分组名"
 // @Param	Frequency query string true	"频度"
@@ -2182,7 +2182,7 @@ func (this *TradeCommonController) ExportCoalList() {
 		}
 		//获取指标数据
 		windRow := sheet.AddRow()
-		windRow.AddCell().SetValue("中国煤炭网")
+		windRow.AddCell().SetValue("中国煤炭市场网")
 		rowSecName := sheet.AddRow()
 		celSecName := rowSecName.AddCell()
 		celSecName.SetValue("指标名称")
@@ -2260,7 +2260,7 @@ func (this *TradeCommonController) ExportCoalList() {
 		br.ErrMsg = "保存文件失败"
 		return
 	}
-	fileName := `中国煤炭网数据`
+	fileName := `中国煤炭市场网数据`
 	if len(secNameList) > 0 {
 		fileName = secNameList[0].ClassifyName
 	}
@@ -2638,7 +2638,7 @@ func (this *TradeCommonController) MtjhData() {
 		product.CreateTime = v.CreateTime
 
 		modifyTime, err := data_manage.GetMtjhIndexLatestDate(v.IndexCode)
-		if err != nil  && err.Error() != utils.ErrNoRow() {
+		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取更新时间失败"
 			br.ErrMsg = "获取更新时间失败,Err:" + err.Error()
 			return

+ 1 - 1
controllers/company_permission.go

@@ -34,7 +34,7 @@ func (this *CompanyPermissionController) List() {
 	}
 	// 非自用无需查询
 	resp := new(company.PermissionSetResp)
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "获取成功"

+ 11 - 4
controllers/data_manage/com_trade.go

@@ -147,11 +147,18 @@ func (this *EdbInfoController) ComTradeDataList() {
 	sortParam := this.GetString("SortParam")
 	sortType := this.GetString("SortType")
 	sortStr := ``
-	if sortParam != `` {
-		sortStr = fmt.Sprintf("%s %s,modify_time desc ", sortParam, sortType)
-	} else {
-		sortStr = " data_time desc,modify_time desc "
+
+	switch sortParam {
+	case "data_time":
+	default:
+		sortParam = " data_time "
+	}
+	switch sortType {
+	case "desc", "asc":
+	default:
+		sortType = "desc"
 	}
+	sortStr = fmt.Sprintf("%s %s,modify_time desc ", sortParam, sortType)
 
 	total, err := data_manage.GetComTradeListCount(condition, pars)
 	if err != nil && err.Error() != utils.ErrNoRow() {

+ 1 - 1
controllers/data_manage/edb_info.go

@@ -1164,7 +1164,7 @@ func (this *EdbInfoController) EdbInfoSearch() {
 				}
 				isAdd = true
 			}
-		} else if source == utils.DATA_SOURCE_COAL { //中国煤炭网
+		} else if source == utils.DATA_SOURCE_COAL { //中国煤炭市场
 			var suffix string
 			if strings.Contains(edbCode, "jsm") {
 				suffix = "jsm_index"

+ 11 - 0
controllers/data_manage/edb_info_refresh.go

@@ -277,6 +277,17 @@ func (c *EdbInfoController) RefreshEdbList() {
 	sortParam := c.GetString("SortParam")
 	sortType := c.GetString("SortType")
 
+	switch sortParam {
+	case "end_date":
+	default:
+		sortParam = " end_date "
+	}
+	switch sortType {
+	case "desc", "asc":
+	default:
+		sortType = "desc"
+	}
+
 	pageSize, _ := c.GetInt("PageSize")
 	currentIndex, _ := c.GetInt("CurrentIndex")
 	var startSize int

+ 17 - 17
controllers/report.go

@@ -845,7 +845,7 @@ func (this *ReportController) Detail() {
 						// 如果被永久暂停更新了
 						if rule.Enabled == 0 && item.IsEdit == 0 { //该章节已被永久禁用,同时未被操作过
 							stop = true
-						} else if rule.PauseStartTime != "" && rule.PauseEndTime != "" {
+						} else if rule.PauseStartTime != "" && rule.PauseEndTime != "" && rule.PauseStartTime != utils.EmptyDateStr && rule.PauseEndTime != utils.EmptyDateStr {
 							startTime, timeErr := time.ParseInLocation(utils.FormatDate, rule.PauseStartTime, time.Local)
 							if timeErr != nil {
 								br.Msg = "获取更新规则失败"
@@ -1038,7 +1038,7 @@ func (this *ReportController) SendTemplateMsg() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -1608,7 +1608,7 @@ func (this *ReportController) GetDayWeekReportChapterTypeList() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -1718,7 +1718,7 @@ func (this *ReportController) GetDayWeekReportPauseTime() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -1758,7 +1758,7 @@ func (this *ReportController) SetDayWeekReportUpdateRule() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -1811,7 +1811,7 @@ func (this *ReportController) SetDayWeekReportEnableRule() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -1865,7 +1865,7 @@ func (this *ReportController) AddDayWeekReport() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -2072,7 +2072,7 @@ func (this *ReportController) EditDayWeekReport() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -2149,7 +2149,7 @@ func (this *ReportController) GetReportChapterList() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -2273,7 +2273,7 @@ func (this *ReportController) GetLastDayWeekReportChapter() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -2594,7 +2594,7 @@ func (this *ReportController) GetDayReportTickerList() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -2701,7 +2701,7 @@ func (this *ReportController) IsLastDayWeekReportChapter() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -2764,7 +2764,7 @@ func (this *ReportController) PublishDayWeekReportChapter() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -2968,7 +2968,7 @@ func (this *ReportController) PublishDayWeekReport() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -3043,7 +3043,7 @@ func (this *ReportController) GetSunCode() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -3103,7 +3103,7 @@ func (this *ReportController) GetStopDayWeekReportChapterTypeList() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "获取成功"
@@ -3224,7 +3224,7 @@ func (this *ReportController) SendMsg() {
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"

+ 2 - 2
controllers/report_chapter_type.go

@@ -371,7 +371,7 @@ func (this *ReportChapterTypeController) AuthSetting() {
 		return
 	}
 	// 非自用直接返回
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -464,7 +464,7 @@ func (this *ReportChapterTypeController) PermissionList() {
 		br.Ret = 408
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"

+ 2 - 2
controllers/research_group.go

@@ -21,7 +21,7 @@ func (this *ResearchGroupController) GetResearchGroupList() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "操作成功"
@@ -58,7 +58,7 @@ func (this *ResearchGroupController) GetAdminResearchGroup() {
 		br.Msg = "参数有误"
 		return
 	}
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "获取成功"

+ 7 - 3
controllers/smart_report/smart_report.go

@@ -470,8 +470,10 @@ func (this *SmartReportController) Publish() {
 	item.State = state
 	item.ModifyTime = time.Now().Local()
 	if state == smart_report.SmartReportStatePublished {
-		cols = append(cols, "PublishTime")
+		// 主动发布会清除掉预发布设置, 发布时间则取当前时间
+		cols = append(cols, "PublishTime", "PrePublishTime")
 		item.PublishTime = time.Now().Local()
+		item.PrePublishTime = time.Time{}
 
 		// 写入队列
 		var queue smart_report.Report2ImgQueueReq
@@ -480,11 +482,13 @@ func (this *SmartReportController) Publish() {
 		_ = utils.Rc.LPush(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, queue)
 	}
 
-	// 取消发布时同时清除掉Img和PDF的文件地址
+	// 取消发布时同时清除掉Img和PDF的文件地址, 发布时间以及预发布时间
 	if state == smart_report.SmartReportStateWaitPublish {
-		cols = append(cols, "DetailImgUrl", "DetailPdfUrl")
+		cols = append(cols, "DetailImgUrl", "DetailPdfUrl", "PublishTime", "PrePublishTime")
 		item.DetailImgUrl = ""
 		item.DetailPdfUrl = ""
+		item.PublishTime = time.Time{}
+		item.PrePublishTime = time.Time{}
 	}
 	if e = item.Update(cols); e != nil {
 		br.Msg = "操作失败"

+ 151 - 0
controllers/sys_department.go

@@ -5,6 +5,8 @@ import (
 	"eta/eta_api/models"
 	"eta/eta_api/models/system"
 	"eta/eta_api/utils"
+	"fmt"
+	"strings"
 	"time"
 )
 
@@ -221,3 +223,152 @@ func (this *SysDepartmentController) ListDepartment() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// DepartmentUserTree
+// @Title 获取部门及分组用户树
+// @Description 获取部门列表接口
+// @Success 200 {object} system.DepartmentUserTree
+// @router /department/user_tree [get]
+func (this *SysDepartmentController) DepartmentUserTree() {
+	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
+	}
+	keywords := this.GetString("Keywords", "")
+	keywords = strings.TrimSpace(keywords)
+
+	// 获取部门/分组/用户
+	departments, e := system.GetDepartmentList()
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取部门失败,Err:" + e.Error()
+		return
+	}
+	groups, e := system.GetFullGroup()
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取分组失败,Err:" + e.Error()
+		return
+	}
+	cond := ` AND enabled = 1`
+	pars := make([]interface{}, 0)
+	if keywords != "" {
+		kw := fmt.Sprint("%", keywords, "%")
+		cond += ` AND real_name LIKE ?`
+		pars = append(pars, kw)
+	}
+	admins, e := system.GetSysAdminList(cond, pars, []string{}, "")
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取用户失败,Err:" + e.Error()
+		return
+	}
+
+	// 用户map
+	departmentAdmins := make(map[int][]*system.DepartmentUserTree, 0)
+	groupAdmins := make(map[int][]*system.DepartmentUserTree, 0)
+	for _, v := range admins {
+		t := new(system.DepartmentUserTree)
+		t.NodeId = v.AdminId
+		t.NodeType = 3
+		t.NodeName = v.RealName
+		t.Children = make([]*system.DepartmentUserTree, 0)
+		if groupAdmins[v.GroupId] == nil {
+			groupAdmins[v.GroupId] = make([]*system.DepartmentUserTree, 0)
+		}
+		groupAdmins[v.GroupId] = append(groupAdmins[v.GroupId], t)
+
+		// 直属于部门
+		if v.GroupId == 0 {
+			if departmentAdmins[v.DepartmentId] == nil {
+				departmentAdmins[v.DepartmentId] = make([]*system.DepartmentUserTree, 0)
+			}
+			departmentAdmins[v.DepartmentId] = append(departmentAdmins[v.DepartmentId], t)
+		}
+	}
+
+	// 小组
+	groupTeams := make(map[int][]*system.DepartmentUserTree, 0)
+	for _, v := range groups {
+		if v.ParentId == 0 {
+			continue
+		}
+		// 关键词查询时不显示空组
+		if keywords != "" && groupAdmins[v.GroupId] == nil {
+			continue
+		}
+		t := new(system.DepartmentUserTree)
+		t.NodeId = v.GroupId
+		t.NodeName = v.GroupName
+		t.NodeType = 2
+		t.Children = make([]*system.DepartmentUserTree, 0)
+		t.Children = groupAdmins[v.GroupId]
+		if groupTeams[v.ParentId] == nil {
+			groupTeams[v.ParentId] = make([]*system.DepartmentUserTree, 0)
+		}
+		groupTeams[v.ParentId] = append(groupTeams[v.ParentId], t)
+	}
+
+	// 大组
+	departmentGroups := make(map[int][]*system.DepartmentUserTree, 0)
+	for _, v := range groups {
+		if v.ParentId > 0 {
+			continue
+		}
+		// 关键词查询时不显示空组
+		if keywords != "" && groupAdmins[v.GroupId] == nil && groupTeams[v.GroupId] == nil {
+			continue
+		}
+		t := new(system.DepartmentUserTree)
+		t.NodeId = v.GroupId
+		t.NodeName = v.GroupName
+		t.NodeType = 2
+		t.Children = make([]*system.DepartmentUserTree, 0)
+		if groupTeams[v.GroupId] != nil {
+			t.Children = append(t.Children, groupTeams[v.GroupId]...)
+		}
+		if groupAdmins[v.GroupId] != nil {
+			t.Children = append(t.Children, groupAdmins[v.GroupId]...)
+		}
+		if departmentGroups[v.DepartmentId] == nil {
+			departmentGroups[v.DepartmentId] = make([]*system.DepartmentUserTree, 0)
+		}
+		departmentGroups[v.DepartmentId] = append(departmentGroups[v.DepartmentId], t)
+	}
+
+	// 部门
+	list := make([]*system.DepartmentUserTree, 0)
+	for _, v := range departments {
+		// 关键词查询时不显示空部门
+		if keywords != "" && departmentGroups[v.DepartmentId] == nil && departmentAdmins[v.DepartmentId] == nil {
+			continue
+		}
+		t := new(system.DepartmentUserTree)
+		t.NodeId = v.DepartmentId
+		t.NodeType = 1
+		t.NodeName = v.DepartmentName
+		t.Children = make([]*system.DepartmentUserTree, 0)
+		if departmentGroups[v.DepartmentId] != nil {
+			t.Children = append(t.Children, departmentGroups[v.DepartmentId]...)
+		}
+		if departmentAdmins[v.DepartmentId] != nil {
+			t.Children = append(t.Children, departmentAdmins[v.DepartmentId]...)
+		}
+		list = append(list, t)
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = list
+}

+ 1 - 0
controllers/sys_menu.go

@@ -125,6 +125,7 @@ func (this *SysRoleController) SysMenuList() {
 			cm := new(system.ChildMenu)
 			cm.MenuId = 10000
 			cm.Name = "出差审批"
+			cm.NameEn = "Business Trip Approval"
 			cm.Path = "businessTripApproval"
 			cm.Component = "businessTripApproval"
 			cm.IconPath = ""

+ 16 - 6
controllers/user_login.go

@@ -1004,9 +1004,9 @@ func (this *UserLoginController) CheckUserLdap() {
 	br.Msg = "操作成功"
 }
 
-// ICPLicense
-// @Title icp备案信息
-// @Description icp备案信息
+// BaseInfo
+// @Title 基础信息
+// @Description 基础信息
 // @Success 200 Ret=200 获取成功
 // @router /base_info [get]
 func (this *UserLoginController) BaseInfo() {
@@ -1032,18 +1032,28 @@ func (this *UserLoginController) BaseInfo() {
 		br.ErrMsg = "获取商家配置失败, Err: " + e.Error()
 		return
 	}
+
+	tabName, e := models.GetBusinessConfByKey("TabName")
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取商家配置失败, Err: " + e.Error()
+		return
+	}
+
 	type BaseInfoResp struct {
-		Icp      *models.BusinessConf `description:"手机号"`
-		ETATitle *models.BusinessConf `description:"邮箱"`
+		Icp      *models.BusinessConf `description:"Icp信息"`
+		ETATitle *models.BusinessConf `description:"eta系统名称"`
+		TabName  *models.BusinessConf `description:"tab页名称"`
 	}
 
 	resp := BaseInfoResp{
 		Icp:      icp,
 		ETATitle: title,
+		TabName: tabName,
 	}
 
 	br.Data = resp
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"
-}
+}

+ 1 - 1
controllers/variety_tag.go

@@ -24,7 +24,7 @@ func (this *VarietyTagController) TagTree() {
 	}()
 	// 非自用不请求
 	resp := make([]*services.TagTreeItem, 0)
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "获取成功"

+ 8 - 0
models/system/sys_department.go

@@ -145,3 +145,11 @@ func MultiUpdateDepartmentSort(items []*DepartmentSort) (err error) {
 	}
 	return
 }
+
+// DepartmentUserTree 部门用户树
+type DepartmentUserTree struct {
+	NodeId   int                   `description:"节点ID"`
+	NodeType int                   `description:"节点类型:1-部门;2-分组;3-用户"`
+	NodeName string                `description:"节点名称"`
+	Children []*DepartmentUserTree `description:"子节点"`
+}

+ 4 - 1
models/system/sys_menu.go

@@ -31,6 +31,7 @@ type SysMenu struct {
 	CreateTime time.Time `description:"创建时间"`
 	ModifyTime time.Time `description:"更新时间"`
 	Api        string    `description:"按钮相关api"`
+	NameEn     string    `description:"菜单名称或者按钮名称(英文)"`
 }
 
 // GetSysMenuItemsByCondition 获取菜单列表
@@ -53,6 +54,7 @@ type MenuList struct {
 	MenuId    int          `description:"导航唯一标识"`
 	IsLevel   int          `description:"1,只有一级;2,有多级"`
 	Name      string       `json:"name" description:"导航名称"`
+	NameEn    string       `json:"name_en" description:"导航名称(英文)"`
 	Path      string       `json:"path"`
 	IconPath  string       `json:"icon_path"`
 	LevelPath string       `json:"level_path"`
@@ -64,6 +66,7 @@ type MenuList struct {
 type ChildMenu struct {
 	MenuId    int    `description:"导航唯一标识"`
 	Name      string `json:"name" description:"导航名称"`
+	NameEn    string `json:"name_en" description:"导航名称(英文)"`
 	Path      string `json:"path"`
 	Component string `json:"component"`
 	IconPath  string `json:"icon_path"`
@@ -187,4 +190,4 @@ func GetMenuButtonApisByRoleId(roleId int) (items []*SysMenu, err error) {
 				r.create_time DESC`
 	_, err = orm.NewOrm().Raw(sql, roleId).QueryRows(&items)
 	return
-}
+}

+ 2 - 0
models/system/sys_role.go

@@ -117,11 +117,13 @@ type SysRoleListResp struct {
 type RoleMenu struct {
 	MenuId int    `description:"导航唯一标识"`
 	Name   string `description:"导航名称"`
+	NameEn string `description:"导航名称(英文)"`
 }
 
 type RoleMenuList struct {
 	MenuId    int    `description:"导航唯一标识"`
 	Name      string `description:"导航名称"`
+	NameEn    string `description:"导航名称(英文)"`
 	Child     []*RoleMenu
 	CheckList []int
 }

+ 9 - 0
routers/commentsRouter.go

@@ -7603,6 +7603,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers:SysDepartmentController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:SysDepartmentController"],
+        beego.ControllerComments{
+            Method: "DepartmentUserTree",
+            Router: `/department/user_tree`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers:SysGroupController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:SysGroupController"],
         beego.ControllerComments{
             Method: "Add",

+ 2 - 2
services/crm_eta.go

@@ -29,7 +29,7 @@ type GetLoginAuthCodeReq struct {
 
 // GetAuthCodeFromMiddleServer CRM_ETA服务-获取登录编码
 func GetAuthCodeFromMiddleServer(adminName string) (authCode string, err error) {
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		return
 	}
 	url := fmt.Sprint(utils.CrmEtaServerUrl, "/api/auth/auth_code")
@@ -124,7 +124,7 @@ type GetCrmTokenData struct {
 
 // CodeLoginFromMiddleServer 中间服务-编码登录
 func CodeLoginFromMiddleServer(authCode string) (tokenResp GetCrmTokenData, err error) {
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		return
 	}
 	url := fmt.Sprint(utils.CrmEtaServerUrl, "/api/auth/eta_token")

+ 3 - 3
services/data/edb_info.go

@@ -2300,7 +2300,7 @@ func EdbInfoAdd(source, subSource, classifyId int, edbCode, edbName, frequency,
 		utils.DATA_SOURCE_SHFE:                "上期能源",
 		utils.DATA_SOURCE_GIE:                 "欧洲天然气",
 		utils.DATA_SOURCE_LT:                  "路透",
-		utils.DATA_SOURCE_COAL:                "中国煤炭网",
+		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
 		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
 		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
 		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",
@@ -2973,7 +2973,7 @@ func EdbInfoWsdAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo, err
 		utils.DATA_SOURCE_SHFE:                "上期能源",
 		utils.DATA_SOURCE_GIE:                 "欧洲天然气",
 		utils.DATA_SOURCE_LT:                  "路透",
-		utils.DATA_SOURCE_COAL:                "中国煤炭网",
+		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
 		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
 		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
 		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",
@@ -3166,7 +3166,7 @@ func EdbInfoSmmApiAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo,
 		utils.DATA_SOURCE_SHFE:                "上期能源",
 		utils.DATA_SOURCE_GIE:                 "欧洲天然气",
 		utils.DATA_SOURCE_LT:                  "路透",
-		utils.DATA_SOURCE_COAL:                "中国煤炭网",
+		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
 		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
 		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
 		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",

+ 1 - 1
services/report_push.go

@@ -16,7 +16,7 @@ import (
 
 // SendReportToEmail 发送报告邮件
 func SendReportToEmail(report *models.ReportDetail) (err error) {
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		// 客户不做报告邮件推送
 		return
 	}

+ 2 - 2
services/user.go

@@ -8,7 +8,7 @@ import (
 
 // SwitchHzUserEnabledByMobile 根据手机号启用/禁用弘则研究下的联系人
 func SwitchHzUserEnabledByMobile(opEnabled int, mobile string) (err error) {
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		return
 	}
 	if mobile == "" {
@@ -42,7 +42,7 @@ func SwitchHzUserEnabledByMobile(opEnabled int, mobile string) (err error) {
 
 // DeleteHzUserByMobile 根据手机号删除弘则研究下的联系人
 func DeleteHzUserByMobile(mobile string) (err error) {
-	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox {
+	if utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeSandbox && utils.BusinessCode != utils.BusinessCodeDebug {
 		return
 	}
 	if mobile == "" {

+ 1 - 1
utils/constants.go

@@ -118,7 +118,7 @@ const (
 	DATA_SOURCE_CALCULATE_ZJPJ                                  //直接拼接->23
 	DATA_SOURCE_CALCULATE_LJZTBPJ                               //累计值同比拼接->24
 	DATA_SOURCE_LT                                              //路透->25
-	DATA_SOURCE_COAL                                            //中国煤炭网->26
+	DATA_SOURCE_COAL                                            //中国煤炭市场网->26
 	DATA_SOURCE_PYTHON                                          //python代码->27
 	DATA_SOURCE_PB_FINANCE                                      //彭博财务数据->28
 	DATA_SOURCE_GOOGLE_TRAVEL                                   //谷歌出行->29

+ 1 - 1
utils/jwt.go

@@ -16,7 +16,7 @@ var (
 func GenToken(account string) string {
 	token := jwt.New(jwt.SigningMethodHS256)
 	token.Claims = &jwt.StandardClaims{
-		NotBefore: int64(time.Now().Unix()),
+		NotBefore: int64(time.Now().Unix()) - int64(1*time.Second),
 		ExpiresAt: int64(time.Now().Unix() + 90*24*60*60),
 		Issuer:    "eta_api",
 		Subject:   account,