Compare commits

...

2 Commits

Author SHA1 Message Date
陈伟 a95e8fd13f ```
refactor(workflow): 完善草稿保存功能实现

- 移除自定义工作流控制器中的待办注释
- 实现业务编号生成逻辑替代待办事项
- 在保存草稿时集成业务编号生成器
- 确保流程发起时根据业务编号进行状态管理
```
2026-02-05 14:56:58 +08:00
陈伟 e5e3bf2c2e feat(auth): 在用户视图中添加角色信息
- 修改 CheckController 获取登录用户资料时添加角色信息到响应结果
- 在 UserView 模型中新增 Roles 属性用于存储用户角色列表
- 优化代码格式和注释区域的空行布局
- 重构模块树生成逻辑的代码格式化
2026-02-05 14:53:48 +08:00
4 changed files with 29 additions and 8 deletions

View File

@ -71,6 +71,8 @@ namespace OpenAuth.App.Response
/// 用户最大部门等级 /// 用户最大部门等级
/// </summary> /// </summary>
public string OrgMaxLevel { get; set; } public string OrgMaxLevel { get; set; }
public List<string> Roles { get; set; }
public static implicit operator UserView(SysUser user) public static implicit operator UserView(SysUser user)
{ {

View File

@ -973,11 +973,11 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
/// <exception cref="NotImplementedException"></exception> /// <exception cref="NotImplementedException"></exception>
public object SaveDraft(InitiateFlowRequestDto requestDto) public object SaveDraft(InitiateFlowRequestDto requestDto)
{ {
requestDto.BusinessNo = _businessNoGenerator.GenerateBusinessNo("WF");
var attachmentPaths = string.Join(",", requestDto.Attachments); var attachmentPaths = string.Join(",", requestDto.Attachments);
var user = _auth.GetCurrentUser().User; var user = _auth.GetCurrentUser().User;
var illegalConstructionAssessment = new IllegalConstructionAssessment var illegalConstructionAssessment = new IllegalConstructionAssessment
{ {
// todo 业务编码生成逻辑待完善
Id = requestDto.BusinessNo, Id = requestDto.BusinessNo,
Title = requestDto.Title, Title = requestDto.Title,
BusinessNumber = requestDto.BusinessNo, BusinessNumber = requestDto.BusinessNo,

View File

@ -37,6 +37,7 @@ namespace OpenAuth.WebApi.Controllers
#region 当前登录用户资源 #region 当前登录用户资源
#region 用户信息 #region 用户信息
/// <summary> /// <summary>
/// 获取登录用户资料 /// 获取登录用户资料
/// </summary> /// </summary>
@ -48,6 +49,7 @@ namespace OpenAuth.WebApi.Controllers
try try
{ {
resp.Result = _authStrategyContext.User.MapTo<UserView>(); resp.Result = _authStrategyContext.User.MapTo<UserView>();
resp.Result.Roles = _authStrategyContext.Roles.Select(a => a.Name).ToList();
if (_authStrategyContext.Orgs != null) if (_authStrategyContext.Orgs != null)
{ {
var orgLevel = _authStrategyContext.Orgs.Min(a => a.Level); var orgLevel = _authStrategyContext.Orgs.Min(a => a.Level);
@ -62,9 +64,11 @@ namespace OpenAuth.WebApi.Controllers
return resp; return resp;
} }
#endregion #endregion
#region 角色 #region 角色
/// <summary> /// <summary>
/// 获取登录用户的所有可访问的角色 /// 获取登录用户的所有可访问的角色
/// </summary> /// </summary>
@ -90,14 +94,15 @@ namespace OpenAuth.WebApi.Controllers
? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message ? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message; : "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
} }
} }
return result; return result;
} }
#endregion #endregion
#region 部门 #region 部门
/// <summary> /// <summary>
/// 获取登录用户的所有可访问的组织信息 /// 获取登录用户的所有可访问的组织信息
/// </summary> /// </summary>
@ -123,14 +128,15 @@ namespace OpenAuth.WebApi.Controllers
? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message ? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message; : "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
} }
} }
return result; return result;
} }
#endregion #endregion
#region 菜单 #region 菜单
/// <summary> /// <summary>
/// 获取登录用户的所有可访问的模块及菜单,以列表形式返回结果 /// 获取登录用户的所有可访问的模块及菜单,以列表形式返回结果
/// </summary> /// </summary>
@ -157,6 +163,7 @@ namespace OpenAuth.WebApi.Controllers
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message; : "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
} }
} }
return result; return result;
} }
@ -170,7 +177,9 @@ namespace OpenAuth.WebApi.Controllers
var result = new Response<IEnumerable<TreeItem<ModuleView>>>(); var result = new Response<IEnumerable<TreeItem<ModuleView>>>();
try try
{ {
result.Result = _authStrategyContext.Modules.WhereIF(!string.IsNullOrEmpty(typeid), a => a.ModuleTypeId == typeid).OrderBy(a => a.SortNo).GenerateTree(u => u.Id, u => u.ParentId, "0"); result.Result = _authStrategyContext.Modules
.WhereIF(!string.IsNullOrEmpty(typeid), a => a.ModuleTypeId == typeid).OrderBy(a => a.SortNo)
.GenerateTree(u => u.Id, u => u.ParentId, "0");
} }
catch (CommonException ex) catch (CommonException ex)
{ {
@ -186,16 +195,17 @@ namespace OpenAuth.WebApi.Controllers
? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message ? "OpenAuth.WebAPI数据库访问失败:" + ex.InnerException.Message
: "OpenAuth.WebAPI数据库访问失败:" + ex.Message; : "OpenAuth.WebAPI数据库访问失败:" + ex.Message;
} }
} }
return result; return result;
} }
#endregion #endregion
#endregion #endregion
#region 登录 #region 登录
/// <summary> /// <summary>
/// 获取公钥 /// 获取公钥
/// </summary> /// </summary>
@ -260,11 +270,13 @@ namespace OpenAuth.WebApi.Controllers
return resp; return resp;
} }
#endregion #endregion
#region 未启用/后台使用 #region 未启用/后台使用
#region 检验token是否有效 #region 检验token是否有效
/// <summary> /// <summary>
/// 检验token是否有效 /// 检验token是否有效
/// </summary> /// </summary>
@ -287,6 +299,7 @@ namespace OpenAuth.WebApi.Controllers
return result; return result;
} }
/// <summary> /// <summary>
/// 图片验证token /// 图片验证token
/// </summary> /// </summary>
@ -303,9 +316,11 @@ namespace OpenAuth.WebApi.Controllers
return BadRequest(); return BadRequest();
} }
} }
#endregion #endregion
#region 根据token获取用户名称 #region 根据token获取用户名称
/// <summary> /// <summary>
/// 根据token获取用户名称 /// 根据token获取用户名称
/// </summary> /// </summary>
@ -329,16 +344,18 @@ namespace OpenAuth.WebApi.Controllers
{ {
result.Code = 500; result.Code = 500;
result.Message = ex.InnerException != null result.Message = ex.InnerException != null
? ex.InnerException.Message : ex.Message; ? ex.InnerException.Message
: ex.Message;
} }
} }
return result; return result;
} }
#endregion #endregion
#region 加载机构的全部下级机构 #region 加载机构的全部下级机构
/// <summary> /// <summary>
/// 加载机构的全部下级机构 /// 加载机构的全部下级机构
/// </summary> /// </summary>
@ -360,6 +377,7 @@ namespace OpenAuth.WebApi.Controllers
code = 500, code = 500,
}; };
} }
cascadeId = org.CascadeId; cascadeId = org.CascadeId;
} }
@ -373,6 +391,7 @@ namespace OpenAuth.WebApi.Controllers
count = query.Count(), count = query.Count(),
}; };
} }
#endregion #endregion
#endregion #endregion

View File

@ -96,7 +96,7 @@ public class WorkflowController : ControllerBase
[HttpPost] [HttpPost]
public ActionResult<ApiResponseDto<bool>> SaveDraft([FromBody] InitiateFlowRequestDto requestDto) public ActionResult<ApiResponseDto<bool>> SaveDraft([FromBody] InitiateFlowRequestDto requestDto)
{ {
// todo 先保存到表单中,发起流程时,根据业务编号确定存不存,如果已经存在,则修改状态为已提交 // 先保存到表单中,发起流程时,根据业务编号确定存不存,如果已经存在,则修改状态为已提交
try try
{ {
// 获取当前登录用户实际项目中从Token/IAuth中解析 // 获取当前登录用户实际项目中从Token/IAuth中解析