Browse Source

获取社区权限

xyxie 2 months ago
parent
commit
f91671428a

+ 89 - 0
controllers/eta_business/eta_business.go

@@ -6,10 +6,12 @@ import (
 	"eta/eta_forum_admin/models"
 	"eta/eta_forum_admin/models/eta_business"
 	"eta/eta_forum_admin/models/help_doc"
+	"eta/eta_forum_admin/services"
 	etaBusinessService "eta/eta_forum_admin/services/eta_business"
 	"eta/eta_forum_admin/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
+	"sort"
 	"strconv"
 	"strings"
 	"time"
@@ -1582,6 +1584,7 @@ func (this *EtaBusinessController) AddChartPermission() {
 		item := new(eta_business.BusinessChartClassifyPermission)
 		item.ChartClassifyId = classifyId
 		item.BusinessCode = businessInfo.BusinessCode
+		item.EtaBusinessId = req.EtaBusinessId
 		item.CreateTime = time.Now()
 		item.ModifyTime = time.Now()
 		item.AdminId = sysUser.AdminId
@@ -1602,6 +1605,92 @@ func (this *EtaBusinessController) AddChartPermission() {
 	br.Msg = "设置成功"
 }
 
+// @Title 获取社区图表分类权限
+// @Description 获取社区图表分类权限
+// @Param	request	body eta_business.AddBusinessChartClassifyPermissionReq true "type json string"
+// @Success 200 {object} system.SysRoleListResp
+// @router /get_chart_permission [get]
+func (this *EtaBusinessController) GetChartPermission() {
+	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"
+		return
+	}
+	etaBusinessId, _ := this.GetInt("EtaBusinessId")
+	if etaBusinessId <= 0 {
+		br.Msg = "请选择商户"
+		return
+	}
+	// 权限校验
+	ok, e := etaBusinessService.CheckEtaBusinessOperateAuth(sysUser.RoleTypeCode)
+	if e != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "操作权限校验失败, ErrMsg: " + e.Error()
+		return
+	}
+	if !ok {
+		br.Msg = "无权操作"
+		return
+	}
+
+	ob := new(eta_business.EtaBusiness)
+	businessInfo, e := ob.GetItemById(etaBusinessId)
+	if e != nil {
+		if e.Error() == utils.ErrNoRow() {
+			br.Msg = "商家不存在, 请刷新页面"
+			return
+		}
+		br.Msg = "获取商家信息失败"
+		br.ErrMsg = "获取商家信息失败, Err: " + e.Error()
+		return
+	}
+	permissionList, err := eta_business.GetBusinessChartClassifyPermission(businessInfo.EtaBusinessId)
+	if err != nil {
+		br.Msg = "获取社区权限失败"
+		br.ErrMsg = "获取社区权限失败,Err:" + err.Error()
+		return
+	}
+	permissionClassifyIdsMap := make(map[int]struct{})
+	checkList := make([]int, 0)
+	for _, v := range permissionList {
+		if _, ok1 := permissionClassifyIdsMap[v.ChartClassifyId]; !ok1 {
+			permissionClassifyIdsMap[v.ChartClassifyId] = struct{}{}
+			checkList = append(checkList, v.ChartClassifyId)
+		}
+	}
+	allList, err := models.GetChartClassify()
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+	nodeAll := make([]*models.ChartClassifyItems, 0)
+	list := make([]*models.ChartClassifyItems, 0)
+	var sortList models.ChartClassifyItemList
+
+	if len(allList) > 0 {
+		nodeAll = services.GetClassifyTreeRecursive(allList, 0)
+		//根据sort值排序
+		sortList = nodeAll
+		sort.Sort(sortList)
+	}
+
+	list = append(list, sortList...)
+	resp := new(models.BusinessChartClassifyResp)
+	resp.List = list
+	resp.CheckList = checkList
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
 // PageList
 // @Title 商家列表
 // @Description 商家列表

+ 5 - 0
models/chart_classify.go

@@ -432,3 +432,8 @@ func GetChartClassifyByLevelPath(levelPath string) (items []*ChartClassify, err
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+type BusinessChartClassifyResp struct {
+	List      []*ChartClassifyItems
+	CheckList []int
+}

+ 9 - 0
models/eta_business/business_chart_classify_permission.go

@@ -10,6 +10,7 @@ type BusinessChartClassifyPermission struct {
 	ChartClassifyId           int       `description:"分类Id"`
 	Source                    int       `description:"分类来源: 1-图库; 2-商品价格曲线; 3-相关性图表; 6-拟合方程图表; 7-统计特征"`
 	BusinessCode              string    `description:"商户号"`
+	EtaBusinessId             int       `description:"商家ID"`
 	AdminId                   int       `description:"系统用户Id"`
 	ModifyTime                time.Time `description:"变更时间"`
 	CreateTime                time.Time `description:"关系建立时间"`
@@ -46,3 +47,11 @@ type AddBusinessChartClassifyPermissionReq struct {
 	EtaBusinessId      int    `description:"商家ID"`
 	ChartClassifyIdStr string `description:"图表分类ID,多个用英文逗号隔开"`
 }
+
+// 获取商家图表分类权限
+func GetBusinessChartClassifyPermission(businessId int) (list []*BusinessChartClassifyPermission, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM business_chart_classify_permission WHERE eta_business_id = ?`
+	_, err = o.Raw(sql, businessId).QueryRows(&list)
+	return
+}

+ 9 - 0
routers/commentsRouter.go

@@ -70,6 +70,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessController"],
+        beego.ControllerComments{
+            Method: "GetChartPermission",
+            Router: `/get_chart_permission`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessController"],
         beego.ControllerComments{
             Method: "AllList",