Bläddra i källkod

给商家设置社区图表分类权限

xyxie 4 månader sedan
förälder
incheckning
94a323b917

+ 53 - 0
controllers/chart_classify.go

@@ -1123,3 +1123,56 @@ func (this *ChartClassifyController) ClassifyTree() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// ClassifyRealTree
+// @Title 多层分类列表树
+// @Description 多层分类列表树
+// @Success 200 {object} data_manage.EdbClassifyListResp
+// @router /classify/real_tree [get]
+func (this *ChartClassifyController) ClassifyRealTree() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	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)
+	}
+
+	language := `CN`
+	// 指标显示的语言
+	{
+		configDetail, _ := system.GetConfigDetailByCode(this.SysUser.AdminId, system.EdbLanguageVar)
+		if configDetail != nil {
+			language = configDetail.ConfigValue
+		} else {
+			configDetail, _ = system.GetDefaultConfigDetailByCode(system.EdbLanguageVar)
+			if configDetail != nil {
+				language = configDetail.ConfigValue
+			}
+		}
+	}
+
+	list = append(list, sortList...)
+	resp := new(models.ChartClassifyListResp)
+	resp.AllNodes = list
+	resp.Language = language
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 85 - 0
controllers/eta_business/eta_business.go

@@ -1512,3 +1512,88 @@ func (this *EtaBusinessController) RemoveSign() {
 	br.Success = true
 	br.Msg = "操作成功"
 }
+
+// @Title 设置社区图表分类权限
+// @Description 设置社区图表分类权限
+// @Param	request	body eta_business.AddBusinessChartClassifyPermissionReq true "type json string"
+// @Success 200 {object} system.SysRoleListResp
+// @router /add_chart_permission [post]
+func (this *EtaBusinessController) AddChartPermission() {
+	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
+	}
+	var req eta_business.AddBusinessChartClassifyPermissionReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.EtaBusinessId <= 0 {
+		br.Msg = "请选择商户"
+		return
+	}
+	if req.ChartClassifyIdStr == "" {
+		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(req.EtaBusinessId)
+	if e != nil {
+		if e.Error() == utils.ErrNoRow() {
+			br.Msg = "商家不存在, 请刷新页面"
+			return
+		}
+		br.Msg = "获取商家信息失败"
+		br.ErrMsg = "获取商家信息失败, Err: " + e.Error()
+		return
+	}
+	chartClassifyIdArr := strings.Split(req.ChartClassifyIdStr, ",")
+	addList := make([]*eta_business.BusinessChartClassifyPermission, 0)
+	for _, v := range chartClassifyIdArr {
+		classifyId, e := strconv.Atoi(v)
+		if e != nil {
+			br.Msg = "设置社区权限失败"
+			br.ErrMsg = "classifyId 解析失败,Err:" + e.Error()
+			return
+		}
+		//item := new(system.SysRoleMenu)
+		item := new(eta_business.BusinessChartClassifyPermission)
+		item.ChartClassifyId = classifyId
+		item.BusinessCode = businessInfo.BusinessCode
+		addList = append(addList, item)
+	}
+
+	err = eta_business.AddBusinessChartClassifyPermission(addList, businessInfo.BusinessCode)
+	if err != nil {
+		br.Msg = "设置社区权限失败"
+		br.ErrMsg = "设置社区权限失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.IsAddLog = true
+	br.Msg = "设置成功"
+}

+ 64 - 8
controllers/eta_business/user.go

@@ -1131,7 +1131,7 @@ func (this *EtaBusinessUserController) ChangeUserBusiness() {
 	}
 	businessObj := new(eta_business.EtaBusiness)
 
-	businessInfo, err := businessObj.GetItemByBusinessCode(req.BusinessCode)
+	_, err = businessObj.GetItemByBusinessCode(req.BusinessCode)
 	if err != nil {
 		if err.Error() == utils.ErrNoRow() {
 			br.Msg = "商户不存在"
@@ -1141,13 +1141,6 @@ func (this *EtaBusinessUserController) ChangeUserBusiness() {
 		br.ErrMsg = "获取商户信息失败, Err: " + err.Error()
 		return
 	}
-	//操作权限校验
-	ok := eta_business2.CheckBusinessUserButton(sysUser.RoleTypeCode, businessInfo.SellerId, sysUser.AdminId)
-	if !ok {
-		br.Msg = "没有操作权限"
-		br.ErrMsg = "没有操作权限"
-		return
-	}
 
 	//待更新字段
 	updateCol := []string{"LastUpdatedTime", "BusinessCode"}
@@ -1167,3 +1160,66 @@ func (this *EtaBusinessUserController) ChangeUserBusiness() {
 	br.Msg = "操作成功"
 	br.IsAddLog = true
 }
+
+// @Title 开启/禁用系统用户
+// @Description 开启/禁用系统用户接口
+// @Param	request	body system.SysuserEditReq true "type json string"
+// @Success 200 操作成功
+// @router /user/editEnabled [post]
+func (this *EtaBusinessUserController) EditEnabled() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.UserEditEnabledReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	if req.UserId <= 0 {
+		br.Msg = "请选择用户"
+		return
+	}
+
+	//操作权限校验
+	userInfo, err := models.GetUserByUserId(req.UserId)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "用户不存在"
+			return
+		}
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		br.Msg = "获取信息失败"
+		return
+	}
+	if req.Enabled != 0 && req.Enabled != 1 {
+		br.Msg = "参数错误"
+		return
+	}
+	//待更新字段
+	updateCol := []string{"LastUpdatedTime", "Enabled"}
+
+	userInfo.LastUpdatedTime = time.Now()
+
+	userInfo.Enabled = req.Enabled
+	err = userInfo.Update(updateCol)
+	if err != nil {
+		br.Msg = "操作失败!"
+		br.ErrMsg = "操作失败,Err:" + err.Error()
+		return
+	}
+
+	//todo 用户被禁用的情况下,需要将他对应的token给过期
+	/*if adminItem.Enabled == 1 && req.Enabled == 0 {
+		logOutSystemUser(adminItem.AdminId)
+	}*/
+
+	br.Ret = 200
+	br.Success = true
+	br.IsAddLog = true
+	br.Msg = "操作成功"
+}

+ 48 - 0
models/eta_business/business_chart_classify_permission.go

@@ -0,0 +1,48 @@
+package eta_business
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type BusinessChartClassifyPermission struct {
+	ChartClassifyPermissionId int       `orm:"column(chart_classify_permission_id);pk"`
+	ChartClassifyId           int       `description:"分类Id"`
+	Source                    int       `description:"分类来源: 1-图库; 2-商品价格曲线; 3-相关性图表; 6-拟合方程图表; 7-统计特征"`
+	BusinessCode              string    `description:"商户号"`
+	AdminId                   int       `description:"系统用户Id"`
+	ModifyTime                time.Time `description:"变更时间"`
+	CreateTime                time.Time `description:"关系建立时间"`
+}
+
+func AddBusinessChartClassifyPermission(list []*BusinessChartClassifyPermission, businessCode string) (err error) {
+	// 事务,先执行删除,再新增
+	o := orm.NewOrm()
+
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+	sql := ` DELETE FROM business_chart_classify_permission WHERE business_code = ?`
+	_, err = to.Raw(sql, businessCode).Exec()
+	if err != nil {
+		return
+	}
+	if len(list) > 0 {
+		_, err = o.InsertMulti(len(list), list)
+		return
+	}
+	return
+}
+
+type AddBusinessChartClassifyPermissionReq struct {
+	EtaBusinessId      int    `description:"商家ID"`
+	ChartClassifyIdStr string `description:"图表分类ID,多个用英文逗号隔开"`
+}

+ 6 - 0
models/user.go

@@ -178,3 +178,9 @@ type ChangeUserBusinessReq struct {
 	UserId       int
 	BusinessCode string `description:"商家编码"`
 }
+
+// UserEditEnabledReq 用户状态编辑
+type UserEditEnabledReq struct {
+	UserId  int `description:"系统用户id"`
+	Enabled int `description:"1:有效,0:禁用"`
+}

+ 27 - 0
routers/commentsRouter.go

@@ -16,6 +16,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: "AddChartPermission",
+            Router: `/add_chart_permission`,
+            AllowHTTPMethods: []string{"post"},
+            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: "ContractList",
@@ -223,6 +232,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"],
+        beego.ControllerComments{
+            Method: "EditEnabled",
+            Router: `/user/editEnabled`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"],
         beego.ControllerComments{
             Method: "Import",
@@ -430,6 +448,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_forum_admin/controllers:ChartClassifyController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers:ChartClassifyController"],
+        beego.ControllerComments{
+            Method: "ClassifyRealTree",
+            Router: `/classify/real_tree`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_forum_admin/controllers:ChartClassifyController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers:ChartClassifyController"],
         beego.ControllerComments{
             Method: "SimpleList",