浏览代码

add:添加图表详情和定位功能

zqbao 9 月之前
父节点
当前提交
88c4fe4e9c
共有 5 个文件被更改,包括 209 次插入9 次删除
  1. 112 1
      controllers/chart.go
  2. 4 8
      controllers/my_chart.go
  3. 58 0
      controllers/user.go
  4. 8 0
      models/response/chart.go
  5. 27 0
      routers/commentsRouter.go

+ 112 - 1
controllers/chart.go

@@ -4,6 +4,7 @@ import (
 	"eta/eta_mini_api/models"
 	"eta/eta_mini_api/models/response"
 	"eta/eta_mini_api/services"
+	"eta/eta_mini_api/utils"
 )
 
 type ChartController struct {
@@ -27,7 +28,7 @@ func (this *ChartController) List() {
 	pageSize, _ := this.GetInt("PageSize")
 	currentIndex, _ := this.GetInt("CurrentIndex")
 
-	result, err := services.GetChartList(pageSize, currentIndex)
+	result, err := services.GetChartList(currentIndex, pageSize)
 	if err != nil {
 		br.Msg = "查询图表失败"
 		br.ErrMsg = "查询图表失败,系统异常,Err:" + err.Error()
@@ -47,3 +48,113 @@ func (this *ChartController) List() {
 	br.Success = true
 	br.Ret = 200
 }
+
+// @Title Detail
+// @Description 图表详情
+// @Param   ChartInfoId   query   int  true       "图表详情id"
+// @Success 200 {object} models.BaseResponse
+// @router /detail [get]
+func (this *ChartController) Detail() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	if this.User.Status != utils.UserStatusFormal {
+		br.Msg = "用户没有权限查看图表"
+		return
+	}
+
+	chartInfoId, _ := this.GetInt("ChartInfoId")
+	if chartInfoId <= 0 {
+		br.Msg = "图表id错误"
+		return
+	}
+
+	result, err := services.GetChartDetail(chartInfoId)
+	if err != nil {
+		br.Msg = "获取图表详情失败"
+		br.ErrMsg = "获取图表详情失败,Err:" + err.Error()
+		return
+	}
+	if result.Ret != 200 {
+		br.Msg = result.Msg
+		br.ErrMsg = result.ErrMsg
+		return
+	}
+	br.Data = result.Data
+	br.Msg = "查询成功"
+	br.Success = true
+	br.Ret = 200
+}
+
+// @Title Locate
+// @Description create users
+// @Param   PageSize   query   int  true       "每页数据条数"
+// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Success 200 {object} models.BaseResponse
+// @router /locate [get]
+func (this *ChartController) Locate() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	if pageSize <= 0 {
+		pageSize = 2
+	}
+	result, err := services.GetChartList(currentIndex, pageSize)
+	if err != nil {
+		br.Msg = "查询图表失败"
+		br.ErrMsg = "查询图表失败,系统异常,Err:" + err.Error()
+		return
+	}
+	if result.Ret != 200 {
+		br.Msg = result.Msg
+		br.ErrMsg = result.ErrMsg
+		return
+	}
+	total := len(result.Data.List)
+	charts := make([]*response.ChartLocateItem, 0)
+
+	items := result.Data.List
+	for k, v := range items {
+		var prevChartInfoId, nextChartInfoId int
+		switch k {
+		case 0:
+			prevChartInfoId = -1
+			if k < total-1 {
+				nextChartInfoId = items[k+1].ChartInfoId
+			} else {
+				nextChartInfoId = -1
+			}
+		case total - 1:
+			nextChartInfoId = -1
+			if k > 0 {
+				prevChartInfoId = items[k-1].ChartInfoId
+			}
+		default:
+			prevChartInfoId = items[k-1].ChartInfoId
+			nextChartInfoId = items[k+1].ChartInfoId
+
+		}
+		tmpLocate := &response.ChartLocateItem{
+			ChartInfoId:     v.ChartInfoId,
+			ChartName:       v.ChartName,
+			UniqueCode:      v.UniqueCode,
+			PrevChartInfoId: prevChartInfoId,
+			NextChartInfoId: nextChartInfoId,
+		}
+		charts = append(charts, tmpLocate)
+	}
+
+	br.Data = charts
+	br.Msg = "查询成功"
+	br.Success = true
+	br.Ret = 200
+}

+ 4 - 8
controllers/my_chart.go

@@ -203,13 +203,6 @@ func (this *MyChartController) Locate() {
 		return
 	}
 	charts := make([]*response.MyChartLocateItem, 0)
-	if total == 0 {
-		br.Data = charts
-		br.Ret = 200
-		br.Success = true
-		br.Msg = "获取成功"
-		return
-	}
 	items, err := models.GetMyChartListById(user.UserId, 0, total)
 	if err != nil {
 		br.Msg = "查询收藏失败"
@@ -221,8 +214,11 @@ func (this *MyChartController) Locate() {
 		switch k {
 		case 0:
 			prevChartInfoId = -1
-			if k < total {
+			if k < total-1 {
 				nextChartInfoId = items[k+1].ChartInfoId
+			} else {
+				nextChartInfoId = -1
+
 			}
 		case total - 1:
 			nextChartInfoId = -1

+ 58 - 0
controllers/user.go

@@ -480,3 +480,61 @@ func (this *UserAuthController) PermissionList() {
 	br.Success = true
 	br.Ret = 200
 }
+
+// PermissionList
+// @Title 用户已购权限列表
+// @Description 用户已购权限列表
+// @Param	request	body models.LoginReq true "type json string"
+// @Success 200 {object} []models.ChartPermissionTreeView
+// @router /purchased/list [get]
+func (this *UserAuthController) PurchasedPermission() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	permissionIds, err := models.GetChartPermissionIdByUserId(user.UserId)
+	if err != nil {
+		br.Msg = "查询用户权限失败"
+		br.ErrMsg = "查询用户权限失败,系统异常,Err:" + err.Error()
+		return
+	}
+	// 查询私有权限
+	privateResp, err := services.GetPrivateChartPermissionList()
+	if err != nil {
+		br.Msg = "查询私有权限失败"
+		br.ErrMsg = "查询私有权限失败,系统异常,Err:" + err.Error()
+	}
+	if privateResp.Ret != 200 {
+		br.Msg = privateResp.Msg
+		br.ErrMsg = privateResp.ErrMsg
+		return
+	}
+
+	var privateView []*models.ChartPermissionTreeView
+	for _, v := range privateResp.Data {
+		IsAdd := false
+		curPermissionView := &models.ChartPermissionTreeView{
+			ChartPermissionId: v.ChartPermissionId,
+			PermissionName:    v.PermissionName,
+			IsPublic:          v.IsPublic,
+			Sort:              v.Sort,
+			Child:             make([]*models.ChartPermissionTreeView, 0),
+		}
+		for _, vv := range permissionIds {
+			if v.ChartPermissionId == vv {
+				curPermissionView.Child = append(curPermissionView.Child, v)
+				IsAdd = true
+			}
+		}
+		if IsAdd {
+			privateView = append(privateView, curPermissionView)
+		}
+	}
+
+	br.Data = privateView
+	br.Msg = "查询成功"
+	br.Success = true
+	br.Ret = 200
+}

+ 8 - 0
models/response/chart.go

@@ -93,3 +93,11 @@ type ChartResp[T any] struct {
 	Msg    string
 	ErrMsg string
 }
+
+type ChartLocateItem struct {
+	ChartInfoId     int
+	ChartName       string
+	UniqueCode      string
+	PrevChartInfoId int
+	NextChartInfoId int
+}

+ 27 - 0
routers/commentsRouter.go

@@ -7,6 +7,15 @@ import (
 
 func init() {
 
+    beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ChartController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ChartController"],
+        beego.ControllerComments{
+            Method: "Detail",
+            Router: `/detail`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ChartController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:ChartController"],
         beego.ControllerComments{
             Method: "List",
@@ -16,6 +25,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: "Locate",
+            Router: `/locate`,
+            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",
@@ -187,6 +205,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserAuthController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserAuthController"],
+        beego.ControllerComments{
+            Method: "PurchasedPermission",
+            Router: `/purchased/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserController"],
         beego.ControllerComments{
             Method: "AreaCodeList",