|
@@ -1032,3 +1032,86 @@ func (this *UsersController) OperateRecords() {
|
|
br.Msg = "获取成功"
|
|
br.Msg = "获取成功"
|
|
br.Success = true
|
|
br.Success = true
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// TransAuth
|
|
|
|
+// @Title 切换阅读权限
|
|
|
|
+// @Description 切换阅读权限
|
|
|
|
+// @Param request body request.UsersTransAuthReq true "type json string"
|
|
|
|
+// @Success 200 Ret=200 操作成功
|
|
|
|
+// @router /trans_auth [post]
|
|
|
|
+func (this *UsersController) TransAuth() {
|
|
|
|
+ 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 request.UsersTransAuthReq
|
|
|
|
+ if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
|
+ br.Msg = "参数解析异常"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("参数解析异常, %v", e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserId <= 0 {
|
|
|
|
+ br.Msg = "参数有误"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("参数有误, UserId: %d", req.UserId)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ usersOb := new(models.Users)
|
|
|
|
+ usersItem, e := usersOb.GetItemById(req.UserId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ if e.Error() == utils.ErrNoRow() {
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Msg = "操作成功"
|
|
|
|
+ br.Success = true
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取用户失败, %v", e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // 操作权限校验
|
|
|
|
+ if sysUser.SysRoleId != utils.AdminRoleId {
|
|
|
|
+ if sysUser.SysUserId != usersItem.SysUserId && sysUser.SysUserId != usersItem.SellerId {
|
|
|
|
+ br.Msg = "无权操作"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ transMapping := map[int]int{models.AuthStatusClose: models.AuthStatusOpen, models.AuthStatusOpen: models.AuthStatusClose}
|
|
|
|
+ optRemarkMapping := map[int]string{models.AuthStatusClose: "关闭", models.AuthStatusOpen: "开启"}
|
|
|
|
+ usersItem.AuthStatus = transMapping[usersItem.AuthStatus]
|
|
|
|
+ usersItem.ModifyTime = time.Now().Local()
|
|
|
|
+ updateCols := []string{usersOb.Cols().AuthStatus, usersOb.Cols().ModifyTime}
|
|
|
|
+ if e = usersItem.Update(updateCols); e != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("切换用户阅读权限失败, %v", e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 操作记录
|
|
|
|
+ go func() {
|
|
|
|
+ recordOb := new(models.CompanyUserOperateRecord)
|
|
|
|
+ recordOb.UserId = usersItem.UserId
|
|
|
|
+ recordOb.Remark = fmt.Sprintf("%s%s用户权限", sysUser.SysRealName, optRemarkMapping[usersItem.AuthStatus])
|
|
|
|
+ recordOb.SysUserId = sysUser.SysUserId
|
|
|
|
+ recordOb.SysUserRealName = sysUser.SysRealName
|
|
|
|
+ recordOb.CreateTime = time.Now().Local()
|
|
|
|
+ if e := recordOb.Create(); e != nil {
|
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("新增操作记录失败, UserId: %d, ErrMsg: %v", usersOb.UserId, e))
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Msg = "操作成功"
|
|
|
|
+ br.Success = true
|
|
|
|
+}
|