| | |
| | | var prop = entity.Property(nameof(CommonEntity.CreatedTime)); |
| | | if (prop != null && prop.CurrentValue?.ToDateTime() == null) |
| | | { |
| | | prop.CurrentValue = DateTime.Now; |
| | | prop.CurrentValue = DateTimeOffset.Now; |
| | | } |
| | | |
| | | // 生成Id |
| | |
| | | var prop = entity.Property(nameof(CommonEntity.UpdatedTime)); |
| | | if (prop != null && prop.CurrentValue?.ToDateTime() == null) |
| | | { |
| | | prop.CurrentValue = DateTime.Now; |
| | | prop.CurrentValue = DateTimeOffset.Now; |
| | | } |
| | | |
| | | // 赋值用户信息Id |
| | |
| | | : EnumDbAuditOperate.Deleted, |
| | | TraceId = App.GetTraceId(), |
| | | CreatedTime = DateTime.Now, |
| | | CreatedUserInfoId = logier.UserInfoId, |
| | | CreatedUserInfoId = logier?.UserInfoId, |
| | | }); |
| | | } |
| | | } |
| | |
| | | /// 认证 |
| | | /// </summary> |
| | | [Route("api/user/[controller]")] |
| | | public class AuthAppService : IDynamicApiController |
| | | public class AuthAppService(IMediator mediator) : IDynamicApiController |
| | | { |
| | | private readonly IMediator mediator; |
| | | |
| | | public AuthAppService(IMediator mediator) |
| | | { |
| | | this.mediator = mediator; |
| | | } |
| | | private readonly IMediator mediator = mediator; |
| | | |
| | | /// <summary> |
| | | /// 密码登录 |
| | |
| | | /// <summary> |
| | | /// 密码登录 |
| | | /// </summary> |
| | | public class AuthPasswordLoginCommandHandler : IRequestHandler<AuthPasswordLoginCommand, AuthPasswordLoginCallback> |
| | | public class AuthPasswordLoginCommandHandler( |
| | | IRepository<UserAuth> userAuthRep, |
| | | IRepository<UserInfo> userInfoRep) |
| | | : IRequestHandler<AuthPasswordLoginCommand, AuthPasswordLoginCallback> |
| | | { |
| | | private readonly IRepository<UserAuth> userAuthRep; |
| | | private readonly IRepository<UserInfo> userInfoRep; |
| | | private readonly IRepository<UserAuth> userAuthRep = userAuthRep; |
| | | private readonly IRepository<UserInfo> userInfoRep = userInfoRep; |
| | | |
| | | public AuthPasswordLoginCommandHandler( |
| | | IRepository<UserAuth> userAuthRep, |
| | | IRepository<UserInfo> userInfoRep) |
| | | { |
| | | this.userAuthRep = userAuthRep; |
| | | this.userInfoRep = userInfoRep; |
| | | } |
| | | |
| | | /// <inheritdoc/> |
| | | public async Task<AuthPasswordLoginCallback> Handle(AuthPasswordLoginCommand request, CancellationToken cancellationToken) |
| | | { |
| | | var userInfo = await userInfoRep.AsQueryable().AsNoTracking() |
| | |
| | | 认证 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.AuthAppService.#ctor(MediatR.IMediator)"> |
| | | <summary> |
| | | 认证 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.AuthAppService.PasswordLogin(FlexJobApi.Core.AuthPasswordLoginCommand)"> |
| | | <summary> |
| | | 密码登录 |
| | |
| | | <summary> |
| | | 密码登录 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.AuthPasswordLoginCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserAuth},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo})"> |
| | | <summary> |
| | | 密码登录 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.AuthPasswordLoginCommandHandler.Handle(FlexJobApi.Core.AuthPasswordLoginCommand,System.Threading.CancellationToken)"> |
| | | <inheritdoc/> |
| | | </member> |
| | | <member name="F:FlexJobApi.User.Application.EnumUserErrorCodeType.s100"> |
| | | <summary> |
| | |
| | | 保存菜单 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.MenuSaveCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})"> |
| | | <summary> |
| | | 保存菜单 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.MenuSaveCommandHandler.Handle(FlexJobApi.Core.MenuSaveCommand,System.Threading.CancellationToken)"> |
| | | <inheritdoc/> |
| | | </member> |
| | | <member name="T:FlexJobApi.User.Application.MenuAppService"> |
| | | <summary> |
| | | 菜单 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.MenuAppService.#ctor(MediatR.IMediator)"> |
| | | <summary> |
| | | 菜单 |
| | | </summary> |
| | |
| | | 查询所有菜单 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.MenuAllQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})"> |
| | | <summary> |
| | | 查询所有菜单 |
| | | </summary> |
| | | </member> |
| | | <member name="M:FlexJobApi.User.Application.MenuAllQueryHandler.Handle(FlexJobApi.Core.MenuAllQuery,System.Threading.CancellationToken)"> |
| | | <inheritdoc/> |
| | | </member> |
| | | </members> |
| | | </doc> |
| | |
| | | /// <summary> |
| | | /// 保存菜单 |
| | | /// </summary> |
| | | public class MenuSaveCommandHandler : IRequestHandler<MenuSaveCommand, Guid> |
| | | public class MenuSaveCommandHandler( |
| | | IRepository<Menu> menuRep) |
| | | : IRequestHandler<MenuSaveCommand, Guid> |
| | | { |
| | | private readonly IRepository<Menu> menuRep; |
| | | private readonly IRepository<Menu> menuRep = menuRep; |
| | | |
| | | public MenuSaveCommandHandler( |
| | | IRepository<Menu> menuRep) |
| | | { |
| | | this.menuRep = menuRep; |
| | | } |
| | | |
| | | /// <inheritdoc/> |
| | | public async Task<Guid> Handle(MenuSaveCommand request, CancellationToken cancellationToken) |
| | | { |
| | | var menu = |
| | |
| | | ? await menuRep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken) |
| | | : new Menu(); |
| | | if (menu == null) throw Oops.Oh(EnumUserErrorCodeType.s100, "菜单"); |
| | | menu.Adapt(request); |
| | | await menuRep.SaveNowAsync(cancellationToken); |
| | | request.Adapt(menu); |
| | | var result = request.Id == null |
| | | ? await menuRep.InsertNowAsync(menu, cancellationToken: cancellationToken) |
| | | : await menuRep.UpdateNowAsync(menu, cancellationToken: cancellationToken); |
| | | return menu.Id; |
| | | } |
| | | } |
| | |
| | | /// 菜单 |
| | | /// </summary> |
| | | [Route("api/user/[controller]")] |
| | | public class MenuAppService : IDynamicApiController |
| | | public class MenuAppService(IMediator mediator) : IDynamicApiController |
| | | { |
| | | private readonly IMediator mediator; |
| | | |
| | | public MenuAppService(IMediator mediator) |
| | | { |
| | | this.mediator = mediator; |
| | | } |
| | | private readonly IMediator mediator = mediator; |
| | | |
| | | /// <summary> |
| | | /// 查询所有菜单 |
| | |
| | | /// <summary> |
| | | /// 查询所有菜单 |
| | | /// </summary> |
| | | public class MenuAllQueryHandler : IRequestHandler<MenuAllQuery, MenuAllCallback> |
| | | public class MenuAllQueryHandler( |
| | | IRepository<Menu> menuRep) |
| | | : IRequestHandler<MenuAllQuery, MenuAllCallback> |
| | | { |
| | | private readonly IRepository<Menu> menuRep; |
| | | private readonly IRepository<Menu> menuRep = menuRep; |
| | | |
| | | public MenuAllQueryHandler( |
| | | IRepository<Menu> menuRep) |
| | | { |
| | | this.menuRep = menuRep; |
| | | } |
| | | |
| | | /// <inheritdoc/> |
| | | public async Task<MenuAllCallback> Handle(MenuAllQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var config = new TypeAdapterConfig(); |