Browse Source

Merge branch 'bzq1/data_bloomberg' of eta_server/eta_api into debug

鲍自强 6 months ago
parent
commit
e24d5ad845

+ 133 - 1
controllers/data_manage/bloomberg_data.go

@@ -10,10 +10,11 @@ import (
 	etaTrialService "eta/eta_api/services/eta_trial"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"strconv"
 	"strings"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // BloombergDataController 彭博数据源
@@ -521,3 +522,134 @@ func (this *BloombergDataController) AddCheck() {
 	br.Ret = 200
 	br.Success = true
 }
+
+// EdbInfoAdd
+// @Title 加入到指标库
+// @Description 加入到指标库
+// @Param	request	body data_manage.AddEdbInfoReq true "type json string"
+// @Success 200 string "操作成功"
+// @router /bloomberg_source/edb_add [post]
+func (this *BloombergDataController) EdbInfoAdd() {
+	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
+	}
+
+	deleteCache := true
+	cacheKey := "CACHE_EDB_INFO_SINGLE_ADD_BLOOMBERG_" + strconv.Itoa(sysUser.AdminId)
+	defer func() {
+		if deleteCache {
+			_ = utils.Rc.Delete(cacheKey)
+		}
+	}()
+	if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
+		deleteCache = false
+		br.Msg = "系统处理中,请稍后重试!"
+		br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(this.Ctx.Input.RequestBody)
+		return
+	}
+	req := new(data_manage.AddEdbInfoReq)
+	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + e.Error()
+		return
+	}
+
+	if req.EdbCode == "" {
+		br.Msg = "指标ID不可为空"
+		return
+	}
+	req.EdbName = strings.TrimSpace(req.EdbName)
+	if req.EdbName == "" {
+		br.Msg = "请输入指标名称"
+		return
+	}
+	req.Frequency = strings.TrimSpace(req.Frequency)
+	if req.Frequency == "" {
+		br.Msg = "请选择频度"
+		return
+	}
+	req.Unit = strings.TrimSpace(req.Unit)
+	if req.Unit == "" {
+		br.Msg = "请输入单位"
+		return
+	}
+	if req.ClassifyId <= 0 {
+		br.Msg = "请选择分类"
+		return
+	}
+
+	// 新增指标
+	var r data.BloombergIndexSource2EdbReq
+	r.EdbCode = req.EdbCode
+	r.EdbName = req.EdbName
+	r.Frequency = req.Frequency
+	r.Unit = req.Unit
+	r.ClassifyId = req.ClassifyId
+	r.AdminId = this.SysUser.AdminId
+	r.AdminRealName = this.SysUser.RealName
+
+	edbInfo, e, errMsg, skip := data.BloombergIndexSource2Edb(r, this.Lang)
+	if e != nil {
+		br.Msg = "操作失败"
+		if errMsg != "" {
+			br.Msg = errMsg
+		}
+		br.ErrMsg = e.Error()
+		return
+	}
+	if skip {
+		br.Msg = "指标已存在"
+		return
+	}
+
+	// 试用平台更新用户累计新增指标数
+	if utils.BusinessCode == utils.BusinessCodeSandbox {
+		go func() {
+			adminItem, e := system.GetSysAdminById(sysUser.AdminId)
+			if e != nil {
+				tips := fmt.Sprintf("试用平台更新用户累计新增指标数-获取用户失败, Err: " + e.Error())
+				utils.FileLog.Info(tips)
+				return
+			}
+			if adminItem.DepartmentName != "ETA试用客户" {
+				return
+			}
+			var ur etaTrialService.EtaTrialUserReq
+			ur.Mobile = adminItem.Mobile
+			_, _ = etaTrialService.UpdateUserIndexNum(ur)
+		}()
+	}
+
+	// 新增操作日志
+	{
+		edbLog := new(data_manage.EdbInfoLog)
+		edbLog.EdbInfoId = edbInfo.EdbInfoId
+		edbLog.SourceName = edbInfo.SourceName
+		edbLog.Source = edbInfo.Source
+		edbLog.EdbCode = edbInfo.EdbCode
+		edbLog.EdbName = edbInfo.EdbName
+		edbLog.ClassifyId = edbInfo.ClassifyId
+		edbLog.SysUserId = sysUser.AdminId
+		edbLog.SysUserRealName = sysUser.RealName
+		edbLog.CreateTime = time.Now()
+		edbLog.Content = string(this.Ctx.Input.RequestBody)
+		edbLog.Status = "新增指标"
+		edbLog.Method = this.Ctx.Input.URI()
+		go data_manage.AddEdbInfoLog(edbLog)
+	}
+
+	br.Msg = "操作成功"
+	br.Ret = 200
+	br.Success = true
+	br.IsAddLog = true
+}

+ 134 - 1
controllers/data_manage/business_data.go

@@ -11,10 +11,11 @@ import (
 	etaTrialService "eta/eta_api/services/eta_trial"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"strconv"
 	"strings"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // EdbBusinessController 自有数据(商家)
@@ -589,3 +590,135 @@ func (c *EdbBusinessController) DataList() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// EdbInfoAdd
+// @Title 加入到指标库
+// @Description 加入到指标库
+// @Param	request	body data_manage.AddEdbInfoReq true "type json string"
+// @Success 200 string "操作成功"
+// @router /business_data/edb_add [post]
+func (c *EdbBusinessController) EdbInfoAdd() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		c.Data["json"] = br
+		c.ServeJSON()
+	}()
+
+	sysUser := c.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	deleteCache := true
+	cacheKey := "CACHE_EDB_INFO_SINGLE_ADD_BUSINESS_" + strconv.Itoa(sysUser.AdminId)
+	defer func() {
+		if deleteCache {
+			_ = utils.Rc.Delete(cacheKey)
+		}
+	}()
+	if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
+		deleteCache = false
+		br.Msg = "系统处理中,请稍后重试!"
+		br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(c.Ctx.Input.RequestBody)
+		return
+	}
+
+	req := new(data_manage.AddEdbInfoReq)
+	if e := json.Unmarshal(c.Ctx.Input.RequestBody, &req); e != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + e.Error()
+		return
+	}
+
+	if req.EdbCode == "" {
+		br.Msg = "指标ID不可为空"
+		return
+	}
+	req.EdbName = strings.TrimSpace(req.EdbName)
+	if req.EdbName == "" {
+		br.Msg = "请输入指标名称"
+		return
+	}
+	req.Frequency = strings.TrimSpace(req.Frequency)
+	if req.Frequency == "" {
+		br.Msg = "请选择频度"
+		return
+	}
+	req.Unit = strings.TrimSpace(req.Unit)
+	if req.Unit == "" {
+		br.Msg = "请输入单位"
+		return
+	}
+	if req.ClassifyId <= 0 {
+		br.Msg = "请选择分类"
+		return
+	}
+
+	// 新增指标
+	var r data.BusinessIndexSource2EdbReq
+	r.EdbCode = req.EdbCode
+	r.EdbName = req.EdbName
+	r.Frequency = req.Frequency
+	r.Unit = req.Unit
+	r.ClassifyId = req.ClassifyId
+	r.AdminId = c.SysUser.AdminId
+	r.AdminRealName = c.SysUser.RealName
+
+	edbInfo, e, errMsg, skip := data.BusinessIndexSource2Edb(r, c.Lang)
+	if e != nil {
+		br.Msg = "操作失败"
+		if errMsg != "" {
+			br.Msg = errMsg
+		}
+		br.ErrMsg = e.Error()
+		return
+	}
+	if skip {
+		br.Msg = "指标已存在"
+		return
+	}
+
+	// 试用平台更新用户累计新增指标数
+	if utils.BusinessCode == utils.BusinessCodeSandbox {
+		go func() {
+			adminItem, e := system.GetSysAdminById(sysUser.AdminId)
+			if e != nil {
+				tips := fmt.Sprintf("试用平台更新用户累计新增指标数-获取用户失败, Err: " + e.Error())
+				utils.FileLog.Info(tips)
+				return
+			}
+			if adminItem.DepartmentName != "ETA试用客户" {
+				return
+			}
+			var ur etaTrialService.EtaTrialUserReq
+			ur.Mobile = adminItem.Mobile
+			_, _ = etaTrialService.UpdateUserIndexNum(ur)
+		}()
+	}
+
+	// 新增操作日志
+	{
+		edbLog := new(data_manage.EdbInfoLog)
+		edbLog.EdbInfoId = edbInfo.EdbInfoId
+		edbLog.SourceName = edbInfo.SourceName
+		edbLog.Source = edbInfo.Source
+		edbLog.EdbCode = edbInfo.EdbCode
+		edbLog.EdbName = edbInfo.EdbName
+		edbLog.ClassifyId = edbInfo.ClassifyId
+		edbLog.SysUserId = sysUser.AdminId
+		edbLog.SysUserRealName = sysUser.RealName
+		edbLog.CreateTime = time.Now()
+		edbLog.Content = string(c.Ctx.Input.RequestBody)
+		edbLog.Status = "新增指标"
+		edbLog.Method = c.Ctx.Input.URI()
+		go data_manage.AddEdbInfoLog(edbLog)
+	}
+
+	br.Msg = "操作成功"
+	br.Ret = 200
+	br.Success = true
+	br.IsAddLog = true
+}

+ 18 - 0
routers/commentsRouter.go

@@ -2770,6 +2770,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BloombergDataController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BloombergDataController"],
+        beego.ControllerComments{
+            Method: "EdbInfoAdd",
+            Router: `/bloomberg_source/edb_add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BloombergDataController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BloombergDataController"],
         beego.ControllerComments{
             Method: "List",
@@ -3616,6 +3625,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbBusinessController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbBusinessController"],
+        beego.ControllerComments{
+            Method: "EdbInfoAdd",
+            Router: `/business_data/edb_add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbBusinessController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbBusinessController"],
         beego.ControllerComments{
             Method: "List",