Browse Source

品种启用/禁用修改

xyxie 11 months ago
parent
commit
1d4ffce63b

+ 51 - 1
controllers/chart_permission.go

@@ -168,7 +168,6 @@ func (this *ChartPermissionController) Edit() {
 	req2.PermissionName = req.PermissionName
 	req2.ParentId = req.ParentId
 	req2.IsPublic = req.IsPublic
-	req2.Enabled = req.Enabled
 	req2.PublicPermissionIds = req.PublicPermissionIds
 	e, msg := services.EditChartPermission(&req2)
 	if e != nil {
@@ -231,3 +230,54 @@ func (this *ChartPermissionController) Move() {
 	br.Success = true
 	br.Msg = "获取成功"
 }
+
+// SetEnabled
+// @Title 启用/禁用品种
+// @Description 启用/禁用品种
+// @Param	request	body models.PermissionEnabledReq true "type json string"
+// @Success 200 Ret=200 操作成功
+// @router /enabled/set [post]
+func (this *ChartPermissionController) SetEnabled() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	var req models.PermissionEnabledReq
+	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + e.Error()
+		return
+	}
+	if req.PermissionId <= 0 {
+		br.Msg = "请选择要编辑的品种"
+		return
+	}
+	if req.Enabled != 0 && req.Enabled != 1 {
+		br.Msg = "请选择正确的启用禁用状态"
+		return
+	}
+	var req2 services.ChartPermissionEnabledReq
+	req2.ChartPermissionId = req.PermissionId
+	req2.Enabled = req.Enabled
+	e, msg := services.SetEnabledChartPermission(&req2)
+	if e != nil {
+		br.Msg = msg
+		br.ErrMsg = "编辑品种失败, Err: " + e.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+}

+ 78 - 11
controllers/english_report/en_permission.go

@@ -166,9 +166,8 @@ func (this *EnPermissionController) Edit() {
 	originPid := item.ParentId
 	item.EnPermissionName = req.PermissionName
 	item.ParentId = req.ParentId
-	item.Enabled = req.Enabled
 	item.ModifyTime = time.Now().Local()
-	if e = item.Update([]string{"EnPermissionName", "ParentId", "Enabled", "ModifyTime"}); e != nil {
+	if e = item.Update([]string{"EnPermissionName", "ParentId", "ModifyTime"}); e != nil {
 		br.Msg = "操作失败"
 		br.ErrMsg = "更新品种权限失败, Err: " + e.Error()
 		return
@@ -183,15 +182,6 @@ func (this *EnPermissionController) Edit() {
 		}
 	}
 
-	// 如果是一级品种被启用,则所有二级设置成启用, 如果一级品种被禁用,则所有二级设置成禁用
-	if req.ParentId == 0 {
-		if e = item.SetEnabled(item.EnPermissionId, req.Enabled); e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = "更新英文分类权限失败, Err: " + e.Error()
-			return
-		}
-	}
-
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"
@@ -492,3 +482,80 @@ func (this *EnPermissionController) Move() {
 	br.Success = true
 	br.Msg = "操作成功"
 }
+
+// SetEnabled
+// @Title 启用/禁用品种
+// @Description 启用/禁用品种
+// @Param	request	body models.EnPermissionEnabledReq true "type json string"
+// @Success 200 Ret=200 操作成功
+// @router /enabled/set [post]
+func (this *EnPermissionController) SetEnabled() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	var req models.EnPermissionEnabledReq
+	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + e.Error()
+		return
+	}
+	if req.PermissionId <= 0 {
+		br.Msg = "参数有误"
+		return
+	}
+
+	// 重名校验
+	ob := new(models.EnPermission)
+
+	item, e := ob.GetItemById(req.PermissionId)
+	if e != nil {
+		if e.Error() == utils.ErrNoRow() {
+			br.Msg = "品种不存在, 请刷新页面"
+			return
+		}
+		br.Msg = "操作失败"
+		br.ErrMsg = "获取品种权限失败, Err: " + e.Error()
+		return
+	}
+	item.Enabled = req.Enabled
+	item.ModifyTime = time.Now().Local()
+	if e = item.Update([]string{"Enabled", "ModifyTime"}); e != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "更新品种权限失败, Err: " + e.Error()
+		return
+	}
+
+	// 如果是一级品种被启用,则所有二级设置成启用, 如果一级品种被禁用,则所有二级设置成禁用
+	if item.ParentId == 0 {
+		if e = item.SetEnabled(item.EnPermissionId, req.Enabled); e != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "更新英文分类权限失败, Err: " + e.Error()
+			return
+		}
+	} else if item.ParentId > 0 && req.Enabled == 1 {
+		// 如果二级品种被启用,则他的上级品种设置成启用
+		if e = item.SetEnabledByPermissionId(item.ParentId, req.Enabled); e != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "更新英文分类权限失败, Err: " + e.Error()
+			return
+		}
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+	br.Data = item.EnPermissionId
+}

+ 5 - 0
models/chart_permission.go

@@ -65,6 +65,11 @@ type PermissionEditReq struct {
 	PublicPermissionIds []int  `description:"公有权限的ID列表"` //一级品种没有公有私有属性
 }
 
+type PermissionEnabledReq struct {
+	PermissionId int `description:"品种权限Id"`        // 如果ID存在,则是更新操作,否则是新增操作
+	Enabled      int `description:"是否可用 0禁用, 1启用"` //启用,禁用操作会关联二级品种
+}
+
 type PermissionMoveReq struct {
 	PermissionId int `description:"品种id"`
 	//	ParentChartPermissionId int `description:"父级品种id"`

+ 16 - 1
models/en_permission.go

@@ -132,8 +132,15 @@ type EnPermissionAddReq struct {
 }
 
 type EnPermissionEditReq struct {
+	PermissionId     int    `description:"英文品种权限ID"`
+	PermissionName   string `description:"品种权限名称"`
+	CnPermissionName string `description:"对应的中文权限名称"`
+	ParentId         int    `description:"父级ID"`
+}
+
+type EnPermissionEnabledReq struct {
 	PermissionId int `description:"英文品种权限ID"`
-	EnPermissionAddReq
+	Enabled      int `description:"是否可用,1可用,0禁用"`
 }
 
 type EnPermissionRemoveReq struct {
@@ -256,3 +263,11 @@ func (m *EnPermission) SetEnabled(parentId, enabled int) (err error) {
 	_, err = o.Raw(sql, enabled, parentId).Exec()
 	return
 }
+
+// SetEnabledByPermissionId 更新启动禁用
+func (m *EnPermission) SetEnabledByPermissionId(permissionId, enabled int) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := fmt.Sprintf(`UPDATE %s SET %s = ?  WHERE %s = ?`, m.TableName(), EnPermissionColumns.Enabled, EnPermissionColumns.EnPermissionId)
+	_, err = o.Raw(sql, enabled, permissionId).Exec()
+	return
+}

+ 18 - 0
routers/commentsRouter.go

@@ -4615,6 +4615,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnPermissionController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnPermissionController"],
+        beego.ControllerComments{
+            Method: "SetEnabled",
+            Router: `/enabled/set`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnPermissionController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnPermissionController"],
         beego.ControllerComments{
             Method: "List",
@@ -6127,6 +6136,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers:ChartPermissionController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:ChartPermissionController"],
+        beego.ControllerComments{
+            Method: "SetEnabled",
+            Router: `/enabled/set`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers:ChartPermissionController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:ChartPermissionController"],
         beego.ControllerComments{
             Method: "List",

+ 33 - 1
services/chart_permission.go

@@ -82,11 +82,16 @@ type ChartPermissionEditReq struct {
 	ChartPermissionId   int    `description:"品种权限Id"` // 如果ID存在,则是更新操作,否则是新增操作
 	PermissionName      string `description:"品种权限名称"`
 	ParentId            int    `description:"父级ID"`
-	Enabled             int    `description:"是否可用 0禁用, 1启用"` //启用,禁用操作会关联二级品种
 	IsPublic            int    `description:"是否是公有权限1:公有权限,0私有权限"`
 	PublicPermissionIds []int  `description:"公有权限的ID列表"` //一级品种没有公有私有属性
 }
 
+type ChartPermissionEnabledReq struct {
+	ChartPermissionId int `description:"品种权限Id"`        // 如果ID存在,则是更新操作,否则是新增操作
+	Enabled           int `description:"是否可用 0禁用, 1启用"` //启用,禁用操作会关联二级品种
+
+}
+
 type ChartPermissionMoveReq struct {
 	ChartPermissionId int `description:"品种id"`
 	//	ParentChartPermissionId int `description:"父级品种id"`
@@ -196,6 +201,33 @@ func EditChartPermission(pars *ChartPermissionEditReq) (err error, errMsg string
 	return
 }
 
+func SetEnabledChartPermission(pars *ChartPermissionEnabledReq) (err error, errMsg string) {
+	if utils.CrmEtaServerUrl == "" {
+		return
+	}
+	url := fmt.Sprint(utils.CrmEtaServerUrl, "/api/crm/chart_permission/enabled/set")
+	b, err := crmEtaPost(url, pars)
+	if err != nil {
+		errMsg = "更新品种失败"
+		err = fmt.Errorf("url:%s err: %s", url, err.Error())
+		return
+	}
+	//result := new(models.ResultData)
+	result := new(ChartPermissionResp)
+	if e := json.Unmarshal(b, &result); e != nil {
+		errMsg = "更新品种失败"
+		err = fmt.Errorf("result unmarshal err: %s\nresult: %s", e.Error(), string(b))
+		return
+	}
+	utils.FileLog.Info("%s", string(b))
+	if result.Code != 200 {
+		err = fmt.Errorf("result: %s, err: %s", string(b), result.ErrMsg)
+		errMsg = result.Msg
+		return
+	}
+	return
+}
+
 func MoveChartPermission(pars *ChartPermissionMoveReq) (err error, errMsg string) {
 	if utils.CrmEtaServerUrl == "" {
 		return