FlexJobApi.Core/Entities/UserServer/Users/User.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Enums/Users/EnumUserRealMethod.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/FlexJobApi.Core.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Models/UserServer/Auths/Commands/PasswordLoginCommand.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalLoginInfoQuery.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.UserServer.Application/Auths/Commands/LoginCommandHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
FlexJobApi.Core/Entities/UserServer/Users/User.cs
@@ -1,4 +1,5 @@ using Furion.DatabaseAccessor; using FlexJobApi.Core.Enums.Users; using Furion.DatabaseAccessor; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using System; @@ -122,6 +123,11 @@ public bool IsReal { get; set; } /// <summary> /// 实名方式 /// </summary> public EnumUserRealMethod? RealMethod { get; set; } /// <summary> /// 手机号 /// </summary> /// <remarks>联系电话</remarks> FlexJobApi.Core/Enums/Users/EnumUserRealMethod.cs
New file @@ -0,0 +1,27 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.Core.Enums.Users { /// <summary> /// 用户实名方式 /// </summary> public enum EnumUserRealMethod { /// <summary> /// 个人手机号三要素 /// </summary> Identity3 = 10, /// <summary> /// 银行卡多要素 /// </summary> Identity4 = 20, /// <summary> /// 刷脸认证 /// </summary> Face = 30 } } FlexJobApi.Core/FlexJobApi.Core.xml
@@ -1750,6 +1750,11 @@ 是否实名 </summary> </member> <member name="P:FlexJobApi.Core.User.RealMethod"> <summary> 实名方式 </summary> </member> <member name="P:FlexJobApi.Core.User.ContactPhoneNumber"> <summary> 手机号 @@ -2029,6 +2034,26 @@ <member name="F:FlexJobApi.Core.Enums.Common.EnumFileStoreAccess.AliyunOSS"> <summary> 阿里云OSS </summary> </member> <member name="T:FlexJobApi.Core.Enums.Users.EnumUserRealMethod"> <summary> 用户实名方式 </summary> </member> <member name="F:FlexJobApi.Core.Enums.Users.EnumUserRealMethod.Identity3"> <summary> 个人手机号三要素 </summary> </member> <member name="F:FlexJobApi.Core.Enums.Users.EnumUserRealMethod.Identity4"> <summary> 银行卡多要素 </summary> </member> <member name="F:FlexJobApi.Core.Enums.Users.EnumUserRealMethod.Face"> <summary> 刷脸认证 </summary> </member> <member name="T:FlexJobApi.Core.EnumFileType"> @@ -3896,21 +3921,6 @@ <param name="logier"></param> <returns></returns> </member> <member name="T:FlexJobApi.Core.BindPhoneNumberCommand"> <summary> 绑定手机号 </summary> </member> <member name="P:FlexJobApi.Core.BindPhoneNumberCommand.PhoneNumber"> <summary> 手机号码 </summary> </member> <member name="P:FlexJobApi.Core.BindPhoneNumberCommand.VerifyCode"> <summary> 验证码 </summary> </member> <member name="T:FlexJobApi.Core.BindWxmpUserInfoCommand"> <summary> 绑定微信小程序用户信息 @@ -3929,6 +3939,21 @@ <member name="P:FlexJobApi.Core.BindWxmpUserInfoCommand.SessionKey"> <summary> 获取会话密钥 </summary> </member> <member name="T:FlexJobApi.Core.ChangePhoneNumberCommand"> <summary> 更换手机号 </summary> </member> <member name="P:FlexJobApi.Core.ChangePhoneNumberCommand.PhoneNumber"> <summary> 手机号码 </summary> </member> <member name="P:FlexJobApi.Core.ChangePhoneNumberCommand.VerifyCode"> <summary> 验证码 </summary> </member> <member name="T:FlexJobApi.Core.PasswordLoginCommand"> @@ -3976,6 +4001,26 @@ 刷新令牌 </summary> </member> <member name="P:FlexJobApi.Core.LoginCommandCallback.IsBindPhoneNumber"> <summary> 是否已绑定手机号 </summary> </member> <member name="T:FlexJobApi.Core.RegisterPersonalUserCommand"> <summary> 注册个人账号 </summary> </member> <member name="P:FlexJobApi.Core.RegisterPersonalUserCommand.PhoneNumber"> <summary> 手机号码 </summary> </member> <member name="P:FlexJobApi.Core.RegisterPersonalUserCommand.VerifyCode"> <summary> 验证码 </summary> </member> <member name="T:FlexJobApi.Core.SendLoginOrRegisterVerifyCodeCommand"> <summary> 发送登录或注册短信 @@ -4009,6 +4054,16 @@ <member name="P:FlexJobApi.Core.SmsLoginCommand.ClientType"> <summary> 客户端类型 </summary> </member> <member name="T:FlexJobApi.Core.UpdatePhoneNumberVerifyCodeCommand"> <summary> 发送更换手机号短信 </summary> </member> <member name="P:FlexJobApi.Core.UpdatePhoneNumberVerifyCodeCommand.PhoneNumber"> <summary> 手机号码 </summary> </member> <member name="T:FlexJobApi.Core.WxmpLoginCommand"> @@ -6119,6 +6174,51 @@ 名称 </summary> </member> <member name="T:FlexJobApi.Core.GetPersonalLoginInfoQuery"> <summary> 查询个人用户登录信息 </summary> </member> <member name="T:FlexJobApi.Core.GetPersonalLoginInfoQueryResult"> <summary> 查询个人用户信息-结果 </summary> </member> <member name="P:FlexJobApi.Core.GetPersonalLoginInfoQueryResult.Id"> <summary> Id </summary> </member> <member name="P:FlexJobApi.Core.GetPersonalLoginInfoQueryResult.Name"> <summary> 姓名 </summary> </member> <member name="P:FlexJobApi.Core.GetPersonalLoginInfoQueryResult.IsReal"> <summary> 是否实名 </summary> </member> <member name="P:FlexJobApi.Core.GetPersonalLoginInfoQueryResult.RealMethod"> <summary> 实名方式 </summary> </member> <member name="P:FlexJobApi.Core.GetPersonalLoginInfoQueryResult.TaskCount"> <summary> 我的报名 </summary> </member> <member name="P:FlexJobApi.Core.GetPersonalLoginInfoQueryResult.HirePassTaskCount"> <summary> 已录用 </summary> </member> <member name="P:FlexJobApi.Core.GetPersonalLoginInfoQueryResult.HireRefuseTaskCount"> <summary> 已取消 </summary> </member> <member name="T:FlexJobApi.Core.GetUserInfoRolesQuery"> <summary> 查询用户角色列表 FlexJobApi.Core/Models/UserServer/Auths/Commands/PasswordLoginCommand.cs
@@ -59,7 +59,12 @@ public string RefreshToken { get; set; } /// <summary> /// 是否已绑定手机号 /// 会话秘钥(仅用于微信小程序授权登录) /// </summary> public string SessionKey { get; set; } /// <summary> /// 是否已绑定手机号(仅用于微信小程序授权登录) /// </summary> public bool IsBindPhoneNumber { get; set; } } FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalLoginInfoQuery.cs
New file @@ -0,0 +1,60 @@ using FlexJobApi.Core.Enums.Users; using MediatR; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.Core { /// <summary> /// 查询个人用户登录信息 /// </summary> [Resource([EnumResourceController.Auth])] public class GetPersonalLoginInfoQuery : IRequest<GetPersonalLoginInfoQueryResult> { } /// <summary> /// 查询个人用户信息-结果 /// </summary> public class GetPersonalLoginInfoQueryResult { /// <summary> /// Id /// </summary> public Guid Id { get; set; } /// <summary> /// 姓名 /// </summary> public string Name { get; set; } /// <summary> /// 是否实名 /// </summary> public bool IsReal { get; set; } /// <summary> /// 实名方式 /// </summary> public EnumUserRealMethod? RealMethod { get; set; } /// <summary> /// 我的报名 /// </summary> public int TaskCount { get; set; } /// <summary> /// 已录用 /// </summary> public int HirePassTaskCount { get; set; } /// <summary> /// 已取消 /// </summary> public int HireRefuseTaskCount { get; set; } } } FlexJobApi.UserServer.Application/Auths/Commands/LoginCommandHandler.cs
@@ -27,7 +27,8 @@ IRequestHandler<WxmpLoginCommand, LoginCommandCallback>, IRequestHandler<BindWxmpUserInfoCommand, LoginCommandCallback>, IRequestHandler<ChangePhoneNumberCommand, bool>, IRequestHandler<RegisterPersonalUserCommand, bool> IRequestHandler<RegisterPersonalUserCommand, bool>, IRequestHandler<GetPersonalLoginInfoQuery, GetPersonalLoginInfoQueryResult> { private readonly IRepository<User> rep = rep; private readonly SmsUtils smsUtils = smsUtils; @@ -104,7 +105,7 @@ throw Oops.Oh(EnumUserErrorCodeType.u1000); if (user.Status == EnumUserStatus.Disabled) throw Oops.Oh(EnumUserErrorCodeType.u1001); return GetCurrentLogier(user, EnumClientType.Wxmp); return GetCurrentLogier(user, EnumClientType.Wxmp, snsJscode2session.session_key); } /// <summary> @@ -243,12 +244,31 @@ } /// <summary> /// 查询个人用户登录信息 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<GetPersonalLoginInfoQueryResult> Handle(GetPersonalLoginInfoQuery request, CancellationToken cancellationToken) { var model = await rep.GetPersonalQueryable(true) .GetDetail<User, GetPersonalLoginInfoQueryResult>(cancellationToken); var taskUserQueryable = rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() .Where(it => it.UserId == model.Id); model.TaskCount = await taskUserQueryable.CountAsync(); model.HirePassTaskCount = await taskUserQueryable.CountAsync(it => it.HireStatus == EnumTaskUserHireStatus.Pass); model.HireRefuseTaskCount = await taskUserQueryable.CountAsync(it => it.HireStatus == EnumTaskUserHireStatus.Refuse); return model; } /// <summary> /// 获取当前登录用户 /// </summary> /// <param name="user"></param> /// <param name="clientType"></param> /// <param name="session_key"></param> /// <returns></returns> private LoginCommandCallback GetCurrentLogier(User user, EnumClientType clientType) private LoginCommandCallback GetCurrentLogier(User user, EnumClientType clientType, string? session_key = null) { var logier = new CurrentLogier { @@ -269,6 +289,7 @@ Id = logier.Id, AccessToken = logier.AccessToken, RefreshToken = logier.RefreshToken, SessionKey = session_key, IsBindPhoneNumber = logier.PhoneNumber.IsNotNull() }; } FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
@@ -38,9 +38,9 @@ <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:FlexJobApi.UserServer.Application.LoginCommandHandler.Handle(FlexJobApi.Core.BindPhoneNumberCommand,System.Threading.CancellationToken)"> <member name="M:FlexJobApi.UserServer.Application.LoginCommandHandler.Handle(FlexJobApi.Core.ChangePhoneNumberCommand,System.Threading.CancellationToken)"> <summary> 绑定手机号 更换手机号 </summary> <param name="request"></param> <param name="cancellationToken"></param> @@ -54,6 +54,22 @@ <param name="cancellationToken"></param> <returns></returns> <exception cref="T:System.NotImplementedException"></exception> </member> <member name="M:FlexJobApi.UserServer.Application.LoginCommandHandler.Handle(FlexJobApi.Core.RegisterPersonalUserCommand,System.Threading.CancellationToken)"> <summary> 注册个人账号 </summary> <param name="request"></param> <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:FlexJobApi.UserServer.Application.LoginCommandHandler.Handle(FlexJobApi.Core.GetPersonalLoginInfoQuery,System.Threading.CancellationToken)"> <summary> 查询个人用户登录信息 </summary> <param name="request"></param> <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:FlexJobApi.UserServer.Application.LoginCommandHandler.GetCurrentLogier(FlexJobApi.Core.User,FlexJobApi.Core.EnumClientType)"> <summary> @@ -76,6 +92,14 @@ <member name="M:FlexJobApi.UserServer.Application.VerifyCodeCommandHandler.Handle(FlexJobApi.Core.SendLoginOrRegisterVerifyCodeCommand,System.Threading.CancellationToken)"> <summary> 发送登录或注册短信 </summary> <param name="request"></param> <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:FlexJobApi.UserServer.Application.VerifyCodeCommandHandler.Handle(FlexJobApi.Core.UpdatePhoneNumberVerifyCodeCommand,System.Threading.CancellationToken)"> <summary> 发送更换手机号短信 </summary> <param name="request"></param> <param name="cancellationToken"></param> @@ -209,6 +233,11 @@ 账号已禁用 </summary> </member> <member name="F:FlexJobApi.UserServer.Application.EnumUserErrorCodeType.u1010"> <summary> 该手机号已被注册 </summary> </member> <member name="F:FlexJobApi.UserServer.Application.EnumUserErrorCodeType.u1100"> <summary> 当前账号未绑定微信小程序