using Microsoft.AspNetCore.Mvc;
using ZR.Model.Business.Dto;
using ZR.Service.Business.IBusinessService;
//创建时间:2025-09-21
namespace ZR.Admin.WebApi.Controllers.Business
{
///
/// 用户模块权限
///
[Route("business/OdfUserModules")]
public class OdfUserModulesController : BaseController
{
///
/// 用户模块权限接口
///
private readonly IOdfUserModulesService _OdfUserModulesService;
public OdfUserModulesController(IOdfUserModulesService OdfUserModulesService)
{
_OdfUserModulesService = OdfUserModulesService;
}
///
/// 获取当前登录用户的功能版块列表(APP端调用,登录即可)
///
///
[HttpGet("list")]
public IActionResult GetUserModules([FromQuery] long? userId)
{
// 管理端传 userId 参数时查指定用户,APP端不传则查当前登录用户
long uid = userId ?? HttpContext.GetUId();
var modules = _OdfUserModulesService.GetUserModules(uid);
return SUCCESS(modules);
}
///
/// 获取用户列表(管理端调用)
///
///
[HttpGet("users")]
[ActionPermissionFilter(Permission = "odfusermodules:query")]
public IActionResult GetUserList()
{
var list = _OdfUserModulesService.GetUserList();
return SUCCESS(list);
}
///
/// 批量保存用户模块权限(管理端调用)
///
///
[HttpPost("save")]
[ActionPermissionFilter(Permission = "odfusermodules:edit")]
[Log(Title = "用户模块权限", BusinessType = BusinessType.UPDATE)]
public IActionResult SaveUserModules([FromBody] OdfUserModulesSaveDto dto)
{
var response = _OdfUserModulesService.SaveUserModules(dto.UserId, dto.Modules);
return ToResponse(response);
}
}
}