Browse Source

fix: 调整部分代码,增加基本配置接口

zqbao 9 months ago
parent
commit
e00e02851d

+ 57 - 0
controllers/mini_config.go

@@ -0,0 +1,57 @@
+package controllers
+
+import (
+	"eta/eta_mini_api/models"
+	"eta/eta_mini_api/models/response"
+)
+
+type MiniConfigController struct {
+	BaseCommonController
+}
+
+// @Title 获取小程序配置项
+// @Description 获取小程序配置项
+// @Param   ReportId   query   int  true       "报告id"
+// @Param   chartPermissionId   query   int  true       "品种ID"
+// @Param   PageSize   query   int  true       "每页数据条数"
+// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Success 200 {object} models.ReportDetailResp
+// @router /config [get]
+func (this *MiniConfigController) MiniConfig() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	list := make([]response.MiniConfigResp, 0)
+	miniConf, err := models.GetMiniConf()
+	if err != nil {
+		br.Msg = "获取小程序配置项失败"
+		br.ErrMsg = "获取小程序配置项失败,系统异常,Err:" + err.Error()
+		return
+	}
+	etaConf, err := models.GetEtaConf()
+	if err != nil {
+		br.Msg = "获取小程序配置项失败"
+		br.ErrMsg = "获取程序配置项失败,系统异常,Err:" + err.Error()
+		return
+	}
+
+	list = append(list, response.MiniConfigResp{
+		ConfKey: "ChartViewUrl",
+		ConfVal: etaConf["ChartViewUrl"],
+	}, response.MiniConfigResp{
+		ConfKey: "H5Url",
+		ConfVal: miniConf["H5Url"],
+	})
+
+	br.Data = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+
+}

+ 39 - 0
controllers/my_chart.go

@@ -0,0 +1,39 @@
+package controllers
+
+import (
+	"encoding/json"
+	"eta/eta_mini_api/models"
+	"eta/eta_mini_api/models/request"
+)
+
+type MyChartController struct {
+	BaseAuthController
+}
+
+// @Title List
+// @Description create users
+// @Param   PageSize   query   int  true       "每页数据条数"
+// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Success 200 {object} models.BaseResponse
+// @Failure 403 {object} models.BaseResponse
+// @router /collect [get]
+func (this *MyChartController) Collect() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	var req request.MyChartCollectReq
+	if err := json.Unmarshal(this.Ctx.Input.RequestBody, &req); err != nil {
+		br.Msg = "参数解析失败"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	user := this.User
+	if user.Status != 2 {
+		br.Msg = "用户没有权限收藏"
+		return
+	}
+
+}

+ 6 - 5
controllers/report.go

@@ -3,14 +3,15 @@ package controllers
 import (
 	"eta/eta_mini_api/models"
 	"eta/eta_mini_api/services"
+	"eta/eta_mini_api/utils"
 )
 
 type ReportController struct {
 	BaseAuthController
 }
 
-// @Title 日评详情
-// @Description 日评详情接口
+// @Title 研报详情
+// @Description 研报详情接口
 // @Param   ReportId   query   int  true       "报告id"
 // @Success 200 {object} models.ReportDetailResp
 // @router /detail [get]
@@ -134,11 +135,11 @@ func (this *ReportController) Search() {
 		this.ServeJSON()
 	}()
 
-	keyWord := this.GetString("key_word")
+	keyWord := this.GetString("KeyWord")
 	pageSize, _ := this.GetInt("PageSize")
 	currentIndex, _ := this.GetInt("CurrentIndex")
 	if pageSize <= 0 {
-		pageSize = 3
+		pageSize = utils.PageSize30
 	}
 
 	if keyWord == "" {
@@ -146,7 +147,7 @@ func (this *ReportController) Search() {
 		return
 	}
 
-	reports, err := services.GetReportDailyList(currentIndex, pageSize)
+	reports, err := services.SearchReport(keyWord, currentIndex, pageSize)
 	if err != nil {
 		br.Msg = "研报列表查询失败"
 		br.ErrMsg = "研报列表查询失败,系统异常,Err:" + err.Error()

+ 4 - 4
controllers/user.go

@@ -276,7 +276,7 @@ func (this *UserAuthController) AddReportRecord() {
 			userReadRecord := &models.UserReadRecord{
 				UserId:              user.UserId,
 				ReportId:            req.ReportId,
-				ReportTittle:        req.ReportTittle,
+				ReportTitle:         req.ReportTitle,
 				ChartPermissionId1:  chartMap[curPermission.ParentId].ChartPermissionId,
 				ChartPermissionId2:  curPermission.ChartPermissionId,
 				ChartPermissionName: curPermission.PermissionName,
@@ -345,18 +345,18 @@ func (this *UserController) AreaCodeList() {
 	}()
 
 	resp := make([]response.AreaCodeListResp, 0)
-	confAuth, e := models.GetConfigDetailByCode(models.ConfAreaCodeListKey)
+	confValue, e := models.GetConfigDetailByCode(models.ConfAreaCodeListKey)
 	if e != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取手机号区号配置失败, Err: " + e.Error()
 		return
 	}
-	if confAuth.ConfigValue == "" {
+	if confValue == "" {
 		br.Msg = "获取失败"
 		br.ErrMsg = "手机号区号配置为空"
 		return
 	}
-	if e := json.Unmarshal([]byte(confAuth.ConfigValue), &resp); e != nil {
+	if e := json.Unmarshal([]byte(confValue), &resp); e != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "手机号区号配置有误"
 		return

+ 14 - 0
models/business_conf.go

@@ -0,0 +1,14 @@
+package models
+
+import "time"
+
+// BusinessConf 商户配置表
+type BusinessConf struct {
+	Id         int    `orm:"column(id);pk"`
+	ConfKey    string `description:"配置Key"`
+	ConfVal    string `description:"配置值"`
+	ValType    int    `description:"1-字符串;2-数值;3-字符串数组;4-富文本;"`
+	Necessary  int    `description:"是否必填:0-否;1-是"`
+	Remark     string `description:"备注"`
+	CreateTime time.Time
+}

+ 0 - 16
models/crm_config.go

@@ -1,16 +0,0 @@
-package models
-
-import "github.com/beego/beego/v2/client/orm"
-
-const ConfAreaCodeListKey = "area_code_list" // 手机号区号列表
-
-type CrmConfig struct {
-	ConfigValue string `description:"详情"`
-}
-
-func GetConfigDetailByCode(configCode string) (item CrmConfig, err error) {
-	o := orm.NewOrm()
-	sql := ` SELECT config_value FROM crm_config WHERE config_code=? `
-	err = o.Raw(sql, configCode).QueryRow(&item)
-	return
-}

+ 12 - 6
models/db.go

@@ -9,6 +9,13 @@ import (
 )
 
 func init() {
+	_ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL_MASTER)
+	orm.SetMaxIdleConns("default", 50)
+	orm.SetMaxOpenConns("default", 100)
+
+	master_db, _ := orm.GetDB("default")
+	master_db.SetConnMaxLifetime(10 * time.Minute)
+
 	_ = orm.RegisterDataBase("rddp", "mysql", utils.MYSQL_URL_RDDP)
 	orm.SetMaxIdleConns("rddp", 50)
 	orm.SetMaxOpenConns("rddp", 100)
@@ -16,13 +23,12 @@ func init() {
 	report_db, _ := orm.GetDB("rddp")
 	report_db.SetConnMaxLifetime(10 * time.Minute)
 
-	_ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL_MASTER)
-	orm.SetMaxIdleConns("default", 50)
-	orm.SetMaxOpenConns("default", 100)
-
-	master_db, _ := orm.GetDB("default")
-	master_db.SetConnMaxLifetime(10 * time.Minute)
+	_ = orm.RegisterDataBase("eta", "mysql", utils.MYSQL_URL)
+	orm.SetMaxIdleConns("eta", 50)
+	orm.SetMaxOpenConns("eta", 100)
 
+	db, _ := orm.GetDB("eta")
+	db.SetConnMaxLifetime(10 * time.Minute)
 	orm.Debug = true
 	orm.DebugLog = orm.NewLog(utils.BinLog)
 

+ 70 - 0
models/mini_config.go

@@ -0,0 +1,70 @@
+package models
+
+import (
+	"html"
+	"time"
+
+	"github.com/beego/beego/v2/client/orm"
+)
+
+const ConfAreaCodeListKey = "AreaCodeList" // 手机号区号列表
+
+type MiniConfig struct {
+	ConfigID    int       `description:"配置id"`
+	ConfigCode  string    `description:"配置编码"` // 配置编码
+	ConfigValue string    `description:"配置值"`  // 配置值
+	ValType     int       `description:"配置类型"` // 配置类型
+	Remark      string    `description:"备注信息"` // 备注信息
+	CreateTime  time.Time `description:"创建时间"` // 创建时间
+}
+
+func GetConfigDetailByCode(configCode string) (config_value string, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT config_value FROM mini_config WHERE config_code=? `
+	err = o.Raw(sql, configCode).QueryRow(&config_value)
+	return
+}
+
+// GetMiniConf 获取小程序配置
+func GetMiniConf() (list map[string]string, err error) {
+	list = make(map[string]string)
+
+	var items []*MiniConfig
+	o := orm.NewOrm()
+	sql := `SELECT * FROM mini_config `
+	_, err = o.Raw(sql).QueryRows(&items)
+	if err != nil {
+		return
+	}
+
+	for _, v := range items {
+		if v.ValType == 4 {
+			list[v.ConfigCode] = html.UnescapeString(v.ConfigValue)
+			continue
+		}
+		list[v.ConfigCode] = v.ConfigValue
+	}
+	return
+}
+
+// GetMiniConf 获取eta的服务的配置
+func GetEtaConf() (list map[string]string, err error) {
+	list = make(map[string]string)
+
+	var items []*BusinessConf
+	o := orm.NewOrmUsingDB("eta")
+	sql := `SELECT * FROM  business_conf`
+	_, err = o.Raw(sql).QueryRows(&items)
+	if err != nil {
+		return
+	}
+
+	for _, v := range items {
+		if v.ValType == 4 {
+			list[v.ConfKey] = html.UnescapeString(v.ConfVal)
+			continue
+		}
+		list[v.ConfKey] = v.ConfVal
+	}
+	return
+}

+ 21 - 0
models/my_chart.go

@@ -0,0 +1,21 @@
+package models
+
+import "time"
+
+type MyChart struct {
+	MyChartID    int       `description:"我的图表ID"`
+	ChartInfoID  int       `description:"图表id"`   // 图表ID
+	ChartName    string    `description:"图表名称"`   // 图表名称
+	UniqueCode   string    `description:"图表唯一编码"` // 图表唯一编码
+	ChartImage   string    `description:"图表图片"`   // 图表图片
+	UserID       int       `description:"用户ID"`
+	UserRealName string    `description:"用户真实姓名"`      // 真实姓名
+	SellerID     int       `description:"销售id(管理员id)"` // 用户ID
+	ReportID     int       `description:"报告id"`        // 报告ID(从哪个报告收藏的)
+	CreateTime   time.Time `description:"创建时间"`
+	ModifyTime   time.Time `description:"修改时间"`
+}
+
+func (m *MyChart) Insert() {
+
+}

+ 7 - 0
models/request/my_chart.go

@@ -0,0 +1,7 @@
+package request
+
+type MyChartCollectReq struct {
+	UniqueCode      string `json:"unique_code" form:"unique_code"`
+	ReportId        int    `json:"report_id" form:"report_id"`
+	ReportChapterId int    `json:"report_chapter_id" form:"report_chapter_id"`
+}

+ 1 - 1
models/request/user.go

@@ -26,7 +26,7 @@ type VerifyCodeReq struct {
 type ReportRecordReq struct {
 	RecordId           []int  `description:"记录Id"`
 	ReportId           int    `description:"报告Id"`
-	ReportTittle       string `description:"报告标题"`
+	ReportTitle        string `description:"报告标题"`
 	ClassifyIdFirst    int    `description:"一级类别id"`
 	ClassifyNameFirst  string `description:"一级类别名称"`
 	ClassifyIdSecond   int    `description:"二级类别Id"`

+ 85 - 2
models/response/chart.go

@@ -1,12 +1,95 @@
 package response
 
 import (
-	"eta/eta_mini_api/services"
+	"time"
 
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 type ChartListResp struct {
-	List   []*services.ChartInfoView
+	List   []*ChartInfoView
 	Paging *paging.PagingItem
 }
+
+type ChartInfoView struct {
+	ChartInfoId       int    `orm:"column(chart_info_id);pk"`
+	ChartName         string `description:"来源名称"`
+	ChartNameEn       string `description:"英文图表名称"`
+	Unit              string `description:"中文单位名称"`
+	UnitEn            string `description:"英文单位名称"`
+	ChartClassifyId   int    `description:"图表分类id"`
+	ChartClassifyName string `description:"图表名称"`
+	SysUserId         int
+	SysUserRealName   string
+	UniqueCode        string `description:"图表唯一编码"`
+	CreateTime        time.Time
+	ModifyTime        time.Time
+	DateType          int    `description:"日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间"`
+	StartDate         string `description:"自定义开始日期"`
+	EndDate           string `description:"自定义结束日期"`
+	IsSetName         int    `description:"设置名称"`
+	EdbInfoIds        string `description:"指标id"`
+	ChartType         int    `description:"生成样式:1:曲线图,2:季节性图"`
+	Calendar          string `description:"公历/农历"`
+	SeasonStartDate   string `description:"季节性图开始日期"`
+	SeasonEndDate     string `description:"季节性图开始日期"`
+	ChartImage        string `description:"图表图片"`
+	Sort              int    `description:"排序字段,数字越小越排前面"`
+	IsAdd             bool   `description:"true:已加入我的图库,false:未加入我的图库"`
+	MyChartId         int
+	MyChartClassifyId string `description:"我的图表分类,多个用逗号隔开"`
+	ChartClassify     []*ChartClassifyView
+	EdbEndDate        string `description:"指标最新更新日期"`
+	XMin              string `description:"图表X轴最小值"`
+	XMax              string `description:"图表X轴最大值"`
+	LeftMin           string `description:"图表左侧最小值"`
+	LeftMax           string `description:"图表左侧最大值"`
+	RightMin          string `description:"图表右侧最小值"`
+	RightMax          string `description:"图表右侧最大值"`
+	Right2Min         string `description:"图表右侧最小值"`
+	Right2Max         string `description:"图表右侧最大值"`
+	MinMaxSave        int    `description:"是否手动保存过上下限:0-否;1-是"`
+	IsEdit            bool   `description:"是否有编辑权限"`
+	IsEnChart         bool   `description:"是否展示英文标识"`
+	WarnMsg           string `description:"错误信息"`
+	Disabled          int    `description:"是否禁用,0:启用,1:禁用,默认:0"`
+	BarConfig         string `description:"柱方图的配置,json数据" json:"-"`
+	Source            int    `description:"1:ETA图库;2:商品价格曲线;3:相关性图表"`
+	//CorrelationLeadUnit string `description:"相关性图表-领先单位"`
+	ExtraConfig       string          `description:"图表额外配置,json数据"`
+	ChartSource       string          `description:"图表来源str"`
+	ChartSourceEn     string          `description:"图表来源(英文)"`
+	Button            ChartViewButton `description:"操作按钮"`
+	SeasonExtraConfig string          `description:"季节性图表中的配置,json数据"`
+	StartYear         int             `description:"当选择的日期类型为最近N年类型时,即date_type=20, 用start_year表示N"`
+	ChartThemeId      int             `description:"图表应用主题ID"`
+	ChartThemeStyle   string          `description:"图表应用主题样式"`
+	SourcesFrom       string          `description:"图表来源"`
+	Instructions      string          `description:"图表说明"`
+	MarkersLines      string          `description:"标识线"`
+	MarkersAreas      string          `description:"标识区"`
+	IsJoinPermission  int             `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
+	HaveOperaAuth     bool            `description:"是否有数据权限,默认:false"`
+	ForumChartInfoId  int             `description:"社区的图表ID"`
+}
+
+type ChartClassifyView struct {
+	ChartClassifyId   int    `orm:"column(chart_classify_id);pk"`
+	ChartClassifyName string `description:"分类名称"`
+	ParentId          int    `description:"父级id"`
+}
+
+type ChartViewButton struct {
+	IsEdit    bool `description:"是否有编辑权限"`
+	IsEnChart bool `description:"是否展示英文标识"`
+	IsAdd     bool `description:"true:已加入我的图库,false:未加入我的图库"`
+	IsCopy    bool `description:"是否有另存为按钮"`
+	IsSetName int  `description:"设置名称"`
+}
+
+type ChartResp[T any] struct {
+	Ret    int
+	Data   T
+	Msg    string
+	ErrMsg string
+}

+ 6 - 0
models/response/mini_config.go

@@ -0,0 +1,6 @@
+package response
+
+type MiniConfigResp struct {
+	ConfKey string `description:"配置Key"`
+	ConfVal string `description:"配置值"`
+}

+ 31 - 1
models/response/report.go

@@ -2,11 +2,41 @@ package response
 
 import (
 	"eta/eta_mini_api/models"
+	"time"
 
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
-type ReportListResp struct {
+type ReportList struct {
 	List   []*models.ReportList
 	Paging *paging.PagingItem
 }
+
+type ReportResp[T any] struct {
+	Ret    int
+	Data   T
+	Msg    string
+	ErrMsg string
+}
+type ReportDetailResp struct {
+	Report *models.ReportDetail `description:"报告"`
+	Status int                  `description:"报告状态"`
+}
+
+type ReportCollectListItem struct {
+	ReportId            int       `description:"报告Id"`
+	ReportChapterId     int       `description:"报告章节Id"`
+	ClassifyIdFirst     int       `description:"一级分类id"`
+	ClassifyNameFirst   string    `description:"一级分类名称"`
+	ClassifyIdSecond    int       `description:"二级分类id"`
+	ClassifyNameSecond  string    `description:"二级分类名称"`
+	ReportChapterTypeId int       `decription:"报告章节类型id"`
+	PublishTime         time.Time `description:"发布时间"`
+	Title               string    `description:"标题"`
+	ContentSub          string    `description:"内容前两个章节"`
+}
+
+type ReportSearchResp struct {
+	Paging *paging.PagingItem
+	List   []*ReportCollectListItem
+}

+ 1 - 1
models/user_read_record.go

@@ -11,7 +11,7 @@ type UserReadRecord struct {
 	UserReadRecordId    int       `orm:"pk" description:"id"`
 	UserId              int       `description:"用户id"`
 	ReportId            int       `description:"报告id"`
-	ReportTittle        string    `description:"报告标题"`
+	ReportTitle         string    `description:"报告标题"`
 	ChartPermissionId1  int       `description:"一级品种id"`
 	ChartPermissionId2  int       `description:"二级品种id"`
 	ChartPermissionName string    `description:"二级品种名称"`

+ 36 - 0
routers/commentsRouter.go

@@ -16,6 +16,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ChartController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ChartController"],
+        beego.ControllerComments{
+            Method: "MyList",
+            Router: `/my/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ChartPermissionController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ChartPermissionController"],
         beego.ControllerComments{
             Method: "List",
@@ -25,6 +34,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_api/controllers:MiniConfigController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:MiniConfigController"],
+        beego.ControllerComments{
+            Method: "MiniConfig",
+            Router: `/config`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_mini_api/controllers:MyChartController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:MyChartController"],
+        beego.ControllerComments{
+            Method: "Collect",
+            Router: `/collect`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ReportController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ReportController"],
         beego.ControllerComments{
             Method: "DailyList",
@@ -52,6 +79,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ReportController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ReportController"],
+        beego.ControllerComments{
+            Method: "Search",
+            Router: `/search`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserAuthController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserAuthController"],
         beego.ControllerComments{
             Method: "AddReportRecord",

+ 5 - 0
routers/router.go

@@ -43,6 +43,11 @@ func init() {
 				&controllers.ChartPermissionController{},
 			),
 		),
+		beego.NSNamespace("/system",
+			beego.NSInclude(
+				&controllers.MiniConfigController{},
+			),
+		),
 	)
 	beego.AddNamespace(ns)
 }

+ 2 - 90
services/chart.go

@@ -8,98 +8,10 @@ import (
 	"net/http"
 	"time"
 
-	"github.com/rdlucklib/rdluck_tools/paging"
+	resp2 "eta/eta_mini_api/models/response"
 )
 
-type ChartInfoView struct {
-	ChartInfoId       int    `orm:"column(chart_info_id);pk"`
-	ChartName         string `description:"来源名称"`
-	ChartNameEn       string `description:"英文图表名称"`
-	Unit              string `description:"中文单位名称"`
-	UnitEn            string `description:"英文单位名称"`
-	ChartClassifyId   int    `description:"图表分类id"`
-	ChartClassifyName string `description:"图表名称"`
-	SysUserId         int
-	SysUserRealName   string
-	UniqueCode        string `description:"图表唯一编码"`
-	CreateTime        time.Time
-	ModifyTime        time.Time
-	DateType          int    `description:"日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间"`
-	StartDate         string `description:"自定义开始日期"`
-	EndDate           string `description:"自定义结束日期"`
-	IsSetName         int    `description:"设置名称"`
-	EdbInfoIds        string `description:"指标id"`
-	ChartType         int    `description:"生成样式:1:曲线图,2:季节性图"`
-	Calendar          string `description:"公历/农历"`
-	SeasonStartDate   string `description:"季节性图开始日期"`
-	SeasonEndDate     string `description:"季节性图开始日期"`
-	ChartImage        string `description:"图表图片"`
-	Sort              int    `description:"排序字段,数字越小越排前面"`
-	IsAdd             bool   `description:"true:已加入我的图库,false:未加入我的图库"`
-	MyChartId         int
-	MyChartClassifyId string `description:"我的图表分类,多个用逗号隔开"`
-	ChartClassify     []*ChartClassifyView
-	EdbEndDate        string `description:"指标最新更新日期"`
-	XMin              string `description:"图表X轴最小值"`
-	XMax              string `description:"图表X轴最大值"`
-	LeftMin           string `description:"图表左侧最小值"`
-	LeftMax           string `description:"图表左侧最大值"`
-	RightMin          string `description:"图表右侧最小值"`
-	RightMax          string `description:"图表右侧最大值"`
-	Right2Min         string `description:"图表右侧最小值"`
-	Right2Max         string `description:"图表右侧最大值"`
-	MinMaxSave        int    `description:"是否手动保存过上下限:0-否;1-是"`
-	IsEdit            bool   `description:"是否有编辑权限"`
-	IsEnChart         bool   `description:"是否展示英文标识"`
-	WarnMsg           string `description:"错误信息"`
-	Disabled          int    `description:"是否禁用,0:启用,1:禁用,默认:0"`
-	BarConfig         string `description:"柱方图的配置,json数据" json:"-"`
-	Source            int    `description:"1:ETA图库;2:商品价格曲线;3:相关性图表"`
-	//CorrelationLeadUnit string `description:"相关性图表-领先单位"`
-	ExtraConfig       string          `description:"图表额外配置,json数据"`
-	ChartSource       string          `description:"图表来源str"`
-	ChartSourceEn     string          `description:"图表来源(英文)"`
-	Button            ChartViewButton `description:"操作按钮"`
-	SeasonExtraConfig string          `description:"季节性图表中的配置,json数据"`
-	StartYear         int             `description:"当选择的日期类型为最近N年类型时,即date_type=20, 用start_year表示N"`
-	ChartThemeId      int             `description:"图表应用主题ID"`
-	ChartThemeStyle   string          `description:"图表应用主题样式"`
-	SourcesFrom       string          `description:"图表来源"`
-	Instructions      string          `description:"图表说明"`
-	MarkersLines      string          `description:"标识线"`
-	MarkersAreas      string          `description:"标识区"`
-	IsJoinPermission  int             `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
-	HaveOperaAuth     bool            `description:"是否有数据权限,默认:false"`
-	ForumChartInfoId  int             `description:"社区的图表ID"`
-}
-
-type ChartClassifyView struct {
-	ChartClassifyId   int    `orm:"column(chart_classify_id);pk"`
-	ChartClassifyName string `description:"分类名称"`
-	ParentId          int    `description:"父级id"`
-}
-
-type ChartViewButton struct {
-	IsEdit    bool `description:"是否有编辑权限"`
-	IsEnChart bool `description:"是否展示英文标识"`
-	IsAdd     bool `description:"true:已加入我的图库,false:未加入我的图库"`
-	IsCopy    bool `description:"是否有另存为按钮"`
-	IsSetName int  `description:"设置名称"`
-}
-
-type ChartListResp struct {
-	List   []*ChartInfoView
-	Paging *paging.PagingItem
-}
-
-type ChartResp[T any] struct {
-	Ret    int
-	Data   T
-	Msg    string
-	ErrMsg string
-}
-
-func GetChartList(currentIndex, pageSize int) (resp *ChartResp[ChartListResp], err error) {
+func GetChartList(currentIndex, pageSize int) (resp *resp2.ChartResp[resp2.ChartListResp], err error) {
 	url := utils.ETA_MINI_BRIDGE_URL + "/chart/list?"
 	url += fmt.Sprintf("PageSize=%d&CurrentIndex=%d", pageSize, currentIndex)
 	fmt.Println(url)

+ 50 - 30
services/report.go

@@ -2,34 +2,16 @@ package services
 
 import (
 	"encoding/json"
-	"eta/eta_mini_api/models"
 	"eta/eta_mini_api/utils"
 	"fmt"
 	"io"
 	"net/http"
-	"strconv"
 	"time"
 
-	"github.com/rdlucklib/rdluck_tools/paging"
+	resp2 "eta/eta_mini_api/models/response"
 )
 
-type ReportList struct {
-	List   []*models.ReportList
-	Paging *paging.PagingItem
-}
-
-type ReportResp[T any] struct {
-	Ret    int
-	Data   T
-	Msg    string
-	ErrMsg string
-}
-type ReportDetailResp struct {
-	Report *models.ReportDetail `description:"报告"`
-	Status int                  `description:"报告状态"`
-}
-
-func GetReportList(chartPermissionId, level, rangeType, currentIndex, pageSize int) (resp *ReportResp[ReportList], err error) {
+func GetReportList(chartPermissionId, level, rangeType, currentIndex, pageSize int) (resp *resp2.ReportResp[resp2.ReportList], err error) {
 	url := utils.ETA_MINI_BRIDGE_URL + "/report/list?"
 	url += fmt.Sprintf("RangeType=%d&ChartPermissionId=%d&Level=%d&PageSize=%d&CurrentIndex=%d", rangeType, chartPermissionId, level, pageSize, currentIndex)
 	fmt.Println(url)
@@ -70,7 +52,7 @@ func GetReportList(chartPermissionId, level, rangeType, currentIndex, pageSize i
 
 }
 
-func GetReportDetail(reportId, userId int) (resp *ReportResp[ReportDetailResp], err error) {
+func GetReportDetail(reportId, userId int) (resp *resp2.ReportResp[resp2.ReportDetailResp], err error) {
 	url := utils.ETA_MINI_BRIDGE_URL + "/report/detail?"
 	url += fmt.Sprintf("ReportId=%d&UserId=%d", reportId, userId)
 	fmt.Println(url)
@@ -109,18 +91,15 @@ func GetReportDetail(reportId, userId int) (resp *ReportResp[ReportDetailResp],
 	return resp, nil
 }
 
-func GetReportDailyList(currentIndex, pageSize int) (resp *ReportResp[ReportList], err error) {
-	url := utils.ETA_MINI_BRIDGE_URL + "/report/daily/list"
-	if currentIndex >= 0 && pageSize > 0 {
-		url += "?PageSize=" + strconv.Itoa(pageSize)
-		url += "&CurrentIndex=" + strconv.Itoa(currentIndex)
-	}
+func GetReportDailyList(currentIndex, pageSize int) (resp *resp2.ReportResp[resp2.ReportList], err error) {
+	url := utils.ETA_MINI_BRIDGE_URL + "/report/daily/list?"
+	url += fmt.Sprintf("PageSize=%d&CurrentIndex=%d", pageSize, currentIndex)
 	fmt.Println(url)
 	client := &http.Client{}
 	// 提交请求
 	req, err := http.NewRequest("GET", url, nil)
 	if err != nil {
-		return &ReportResp[ReportList]{}, err
+		return
 	}
 	nonce := utils.GetRandStringNoSpecialChar(16)
 	timestamp := time.Now().Format(utils.FormatDateTimeUnSpace)
@@ -134,14 +113,14 @@ func GetReportDailyList(currentIndex, pageSize int) (resp *ReportResp[ReportList
 
 	response, err := client.Do(req)
 	if err != nil {
-		return &ReportResp[ReportList]{}, err
+		return
 	}
 	defer response.Body.Close()
 
 	body, err := io.ReadAll(response.Body)
 
 	if err != nil {
-		return &ReportResp[ReportList]{}, err
+		return
 	}
 
 	utils.FileLog.Info("result:" + string(body))
@@ -152,3 +131,44 @@ func GetReportDailyList(currentIndex, pageSize int) (resp *ReportResp[ReportList
 	return resp, nil
 
 }
+
+func SearchReport(keyWord string, currentIndex, pageSize int) (resp *resp2.ReportResp[resp2.ReportSearchResp], err error) {
+	url := utils.ETA_MINI_BRIDGE_URL + "/report/search?"
+	url += fmt.Sprintf("KeyWord=%s&PageSize=%d&CurrentIndex=%d", keyWord, pageSize, currentIndex)
+	fmt.Println(url)
+	client := &http.Client{}
+	// 提交请求
+	req, err := http.NewRequest("GET", url, nil)
+	if err != nil {
+		return
+	}
+	nonce := utils.GetRandStringNoSpecialChar(16)
+	timestamp := time.Now().Format(utils.FormatDateTimeUnSpace)
+	signature := utils.GetSign(nonce, timestamp, utils.ETA_MINI_APPID, utils.ETA_MINI_APP_SECRET)
+	//增加header选项
+	req.Header.Add("Nonce", nonce)
+	req.Header.Add("Timestamp", timestamp)
+	req.Header.Add("Appid", utils.ETA_MINI_APPID)
+	req.Header.Add("Signature", signature)
+	req.Header.Set("Content-Type", "application/json")
+
+	response, err := client.Do(req)
+	if err != nil {
+		return
+	}
+	defer response.Body.Close()
+
+	body, err := io.ReadAll(response.Body)
+
+	if err != nil {
+		return
+	}
+
+	utils.FileLog.Info("result:" + string(body))
+	err = json.Unmarshal(body, &resp)
+	if err != nil {
+		return
+	}
+	return
+
+}

+ 2 - 0
utils/config.go

@@ -16,6 +16,7 @@ var (
 	RunMode          string
 	MYSQL_URL_MASTER string
 	MYSQL_URL_RDDP   string
+	MYSQL_URL        string //数据库连接
 
 	REDIS_CACHE string        //缓存地址
 	Redis       *redis.Client //redis链接
@@ -67,6 +68,7 @@ func init() {
 		panic(any("配置文件读取错误 " + err.Error()))
 	}
 	beeLogger.Log.Info(RunMode + " 模式")
+	MYSQL_URL = config["mysql_url"]
 	MYSQL_URL_RDDP = config["mysql_url_rddp"]
 	MYSQL_URL_MASTER = config["mysql_url_master"]