From a59e5d99a77fcb152e6fe49df78f69cb5fd6c5a0 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 19 八月 2025 15:58:10 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/EnumElectronSignUserType.cs | 26 ++++ FlexJobApi.Core/Models/UserServer/Users/Commands/PersonalUserIdentity3RealCommand.cs | 2 FlexJobApi.Core/Enums/Common/EnumResourceService.cs | 7 + FlexJobApi.UserServer.Application/Users/Commands/PersonalUserRealCommandHandler.cs | 29 ++++ FlexJobApi.Core/FlexJobApi.Core.xml | 109 +++++++++++++++++- FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs | 10 + FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/EnumElectronSignPersonalRealMethod.cs | 31 +++++ FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/SendRealSmsInput.cs | 63 ++++++++++ FlexJobApi.Core/Models/UserServer/Users/Commands/SendPersonalUserIdentity3RealSmsCommand.cs | 17 ++ FlexJobApi.Core/Utils/ResourceUtils/ResourceHttpUtils.cs | 17 ++ FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 4 11 files changed, 305 insertions(+), 10 deletions(-) diff --git a/FlexJobApi.Core/Enums/Common/EnumResourceService.cs b/FlexJobApi.Core/Enums/Common/EnumResourceService.cs index 0d2d4ef..49f877a 100644 --- a/FlexJobApi.Core/Enums/Common/EnumResourceService.cs +++ b/FlexJobApi.Core/Enums/Common/EnumResourceService.cs @@ -26,6 +26,11 @@ /// 鐢ㄦ埛鏈嶅姟 /// </summary> [ResourceService(ApplicationName = "FlexJobApi.UserServer.Application", RouteArea = "user", ServiceName = "FlexJobServices")] - UserServer + UserServer, + /// <summary> + /// 浜哄姏璧勬簮鏈嶅姟 + /// </summary> + [ResourceService(ServiceName = "HumanResourcesServices")] + HumanResourcesServer } } diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 515f0bc..896bc92 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -2642,6 +2642,11 @@ 鐢ㄦ埛鏈嶅姟 </summary> </member> + <member name="F:FlexJobApi.Core.EnumResourceService.HumanResourcesServer"> + <summary> + 浜哄姏璧勬簮鏈嶅姟 + </summary> + </member> <member name="T:FlexJobApi.Core.EnumSmsAccess"> <summary> 鐭俊閫氶亾 @@ -5736,6 +5741,16 @@ 浠诲姟鍗曞彿 </summary> </member> + <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.EnterpriseName"> + <summary> + 浼佷笟鍏ㄧО + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.UserName"> + <summary> + 鐢ㄦ埛鍚� + </summary> + </member> <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.BillingMethod"> <summary> 缁撶畻鍛ㄦ湡 @@ -6190,6 +6205,81 @@ <member name="P:FlexJobApi.Core.GetTaskUsersQueryResultItem.HireStatus"> <summary> 褰曠敤鐘舵�� + </summary> + </member> + <member name="T:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.EnumElectronSignPersonalRealMethod"> + <summary> + 鐢靛瓙绛�-瀹炲悕-璁よ瘉鏂瑰紡锛�10涓汉鎵嬫満鍙蜂笁瑕佺礌 20閾惰鍗″瑕佺礌 30鍒疯劯璁よ瘉锛� + </summary> + </member> + <member name="F:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.EnumElectronSignPersonalRealMethod.Identity3"> + <summary> + 涓汉鎵嬫満鍙蜂笁瑕佺礌 + </summary> + </member> + <member name="F:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.EnumElectronSignPersonalRealMethod.Identity4"> + <summary> + 閾惰鍗″瑕佺礌 + </summary> + </member> + <member name="F:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.EnumElectronSignPersonalRealMethod.Face"> + <summary> + 鍒疯劯璁よ瘉 + </summary> + </member> + <member name="T:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.EnumElectronSignUserType"> + <summary> + 鐢靛瓙绛�-鐢ㄦ埛绫诲瀷锛�10浼佷笟 20涓汉锛� + </summary> + </member> + <member name="F:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.EnumElectronSignUserType.Company"> + <summary> + 浼佷笟 + </summary> + </member> + <member name="F:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.EnumElectronSignUserType.Personal"> + <summary> + 涓汉 + </summary> + </member> + <member name="T:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.SendRealSmsInput"> + <summary> + 鍙戦�佸疄鍚嶇煭淇� + </summary> + </member> + <member name="P:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.SendRealSmsInput.UserType"> + <summary> + 鐢ㄦ埛绫诲瀷锛�10浼佷笟 20涓汉锛� + </summary> + </member> + <member name="P:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.SendRealSmsInput.OutUserId"> + <summary> + 瀵瑰浼佷笟/涓汉Id + </summary> + </member> + <member name="P:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.SendRealSmsInput.RealMethod"> + <summary> + 涓汉璁よ瘉鏂瑰紡锛�10涓汉鎵嬫満鍙蜂笁瑕佺礌 20閾惰鍗″瑕佺礌 30鍒疯劯璁よ瘉锛� + </summary> + </member> + <member name="P:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.SendRealSmsInput.Name"> + <summary> + 濮撳悕 + </summary> + </member> + <member name="P:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.SendRealSmsInput.Identity"> + <summary> + 璇佷欢鍙风爜 + </summary> + </member> + <member name="P:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.SendRealSmsInput.Mobile"> + <summary> + 鎵嬫満鍙风爜 + </summary> + </member> + <member name="P:FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign.SendRealSmsInput.BankCard"> + <summary> + 閾惰鍗″彿 </summary> </member> <member name="T:FlexJobApi.Core.BindWxmpUserInfoCommand"> @@ -8999,41 +9089,46 @@ 宸ヤ綔缁忛獙 </summary> </member> - <member name="T:FlexJobApi.Core.IdentityThreeRealPersonalUserCommand"> + <member name="T:FlexJobApi.Core.PersonalUserIdentity3RealCommand"> <summary> 涓汉涓夎绱犲疄鍚嶈璇� </summary> </member> - <member name="P:FlexJobApi.Core.IdentityThreeRealPersonalUserCommand.Name"> + <member name="P:FlexJobApi.Core.PersonalUserIdentity3RealCommand.Name"> <summary> 濮撳悕 </summary> </member> - <member name="P:FlexJobApi.Core.IdentityThreeRealPersonalUserCommand.PhoneNumber"> + <member name="P:FlexJobApi.Core.PersonalUserIdentity3RealCommand.PhoneNumber"> <summary> 鎵嬫満鍙� </summary> </member> - <member name="P:FlexJobApi.Core.IdentityThreeRealPersonalUserCommand.Identity"> + <member name="P:FlexJobApi.Core.PersonalUserIdentity3RealCommand.Identity"> <summary> 韬唤璇佸彿 </summary> </member> - <member name="P:FlexJobApi.Core.IdentityThreeRealPersonalUserCommand.IdentityImg"> + <member name="P:FlexJobApi.Core.PersonalUserIdentity3RealCommand.IdentityImg"> <summary> 韬唤璇佷汉鍍忛潰 </summary> </member> - <member name="P:FlexJobApi.Core.IdentityThreeRealPersonalUserCommand.IdentityBackImg"> + <member name="P:FlexJobApi.Core.PersonalUserIdentity3RealCommand.IdentityBackImg"> <summary> 韬唤璇佸浗寰介潰 </summary> </member> - <member name="P:FlexJobApi.Core.IdentityThreeRealPersonalUserCommand.VerifyCode"> + <member name="P:FlexJobApi.Core.PersonalUserIdentity3RealCommand.VerifyCode"> <summary> 楠岃瘉鐮� </summary> </member> + <member name="T:FlexJobApi.Core.SendPersonalUserIdentity3RealSmsCommand"> + <summary> + 鍙戦�佷釜浜轰笁瑕佺礌瀹炲悕鐭俊 + </summary> + </member> <member name="T:FlexJobApi.Core.SetUserInfoRolesCommand"> <summary> 璁剧疆鐢ㄦ埛淇℃伅瑙掕壊 diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs index 08c245b..ad0400b 100644 --- a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs +++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs @@ -137,6 +137,16 @@ public string Code { get; set; } /// <summary> + /// 浼佷笟鍏ㄧО + /// </summary> + public string EnterpriseName { get; set; } + + /// <summary> + /// 鐢ㄦ埛鍚� + /// </summary> + public string UserName { get; set; } + + /// <summary> /// 缁撶畻鍛ㄦ湡 /// </summary> public EnumBillingMethod BillingMethod { get; set; } diff --git a/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/EnumElectronSignPersonalRealMethod.cs b/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/EnumElectronSignPersonalRealMethod.cs new file mode 100644 index 0000000..fa29ebb --- /dev/null +++ b/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/EnumElectronSignPersonalRealMethod.cs @@ -0,0 +1,31 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign +{ + /// <summary> + /// 鐢靛瓙绛�-瀹炲悕-璁よ瘉鏂瑰紡锛�10涓汉鎵嬫満鍙蜂笁瑕佺礌 20閾惰鍗″瑕佺礌 30鍒疯劯璁よ瘉锛� + /// </summary> + public enum EnumElectronSignPersonalRealMethod + { + /// <summary> + /// 涓汉鎵嬫満鍙蜂笁瑕佺礌 + /// </summary> + [Description("涓汉鎵嬫満鍙蜂笁瑕佺礌")] + Identity3 = 10, + /// <summary> + /// 閾惰鍗″瑕佺礌 + /// </summary> + [Description("閾惰鍗″瑕佺礌")] + Identity4 = 20, + /// <summary> + /// 鍒疯劯璁よ瘉 + /// </summary> + [Description("鍒疯劯璁よ瘉")] + Face = 30 + } +} diff --git a/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/EnumElectronSignUserType.cs b/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/EnumElectronSignUserType.cs new file mode 100644 index 0000000..257ee0b --- /dev/null +++ b/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/EnumElectronSignUserType.cs @@ -0,0 +1,26 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign +{ + /// <summary> + /// 鐢靛瓙绛�-鐢ㄦ埛绫诲瀷锛�10浼佷笟 20涓汉锛� + /// </summary> + public enum EnumElectronSignUserType + { + /// <summary> + /// 浼佷笟 + /// </summary> + [Description("浼佷笟")] + Company = 10, + /// <summary> + /// 涓汉 + /// </summary> + [Description("涓汉")] + Personal = 20 + } +} diff --git a/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/SendRealSmsInput.cs b/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/SendRealSmsInput.cs new file mode 100644 index 0000000..fc23fb2 --- /dev/null +++ b/FlexJobApi.Core/Models/HumanResourcesServer/ElectronSign/SendRealSmsInput.cs @@ -0,0 +1,63 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign +{ + /// <summary> + /// 鍙戦�佸疄鍚嶇煭淇� + /// </summary> + public class SendRealSmsInput + { + /// <summary> + /// 鐢ㄦ埛绫诲瀷锛�10浼佷笟 20涓汉锛� + /// </summary> + [DisplayName("鐢ㄦ埛绫诲瀷")] + [Required(ErrorMessage = "{0}涓嶈兘涓虹┖")] + public EnumElectronSignUserType UserType { get; set; } + + /// <summary> + /// 瀵瑰浼佷笟/涓汉Id + /// </summary> + [DisplayName("澶栭儴浼佷笟Id")] + [Required(ErrorMessage = "{0}涓嶈兘涓虹┖")] + public string OutUserId { get; set; } + + /// <summary> + /// 涓汉璁よ瘉鏂瑰紡锛�10涓汉鎵嬫満鍙蜂笁瑕佺礌 20閾惰鍗″瑕佺礌 30鍒疯劯璁よ瘉锛� + /// </summary> + [DisplayName("涓汉璁よ瘉鏂瑰紡")] + [Required(ErrorMessage = "{0}涓嶈兘涓虹┖")] + public EnumElectronSignPersonalRealMethod RealMethod { get; set; } + + /// <summary> + /// 濮撳悕 + /// </summary> + [DisplayName("濮撳悕")] + [Required(ErrorMessage = "{0}涓嶈兘涓虹┖")] + public string Name { get; set; } + + /// <summary> + /// 璇佷欢鍙风爜 + /// </summary> + [DisplayName("璇佷欢鍙风爜")] + [Required(ErrorMessage = "{0}涓嶈兘涓虹┖")] + public string Identity { get; set; } + + /// <summary> + /// 鎵嬫満鍙风爜 + /// </summary> + [DisplayName("鎵嬫満鍙风爜")] + [Required(ErrorMessage = "{0}涓嶈兘涓虹┖")] + public string Mobile { get; set; } + + /// <summary> + /// 閾惰鍗″彿 + /// </summary> + public string BankCard { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/UserServer/Users/Commands/IdentityThreeRealPersonalUserCommand.cs b/FlexJobApi.Core/Models/UserServer/Users/Commands/PersonalUserIdentity3RealCommand.cs similarity index 94% rename from FlexJobApi.Core/Models/UserServer/Users/Commands/IdentityThreeRealPersonalUserCommand.cs rename to FlexJobApi.Core/Models/UserServer/Users/Commands/PersonalUserIdentity3RealCommand.cs index 9e20b71..b28edb6 100644 --- a/FlexJobApi.Core/Models/UserServer/Users/Commands/IdentityThreeRealPersonalUserCommand.cs +++ b/FlexJobApi.Core/Models/UserServer/Users/Commands/PersonalUserIdentity3RealCommand.cs @@ -12,7 +12,7 @@ /// 涓汉涓夎绱犲疄鍚嶈璇� /// </summary> [Resource([EnumResourceController.User])] - public class IdentityThreeRealPersonalUserCommand : IRequest<Guid> + public class PersonalUserIdentity3RealCommand : IRequest<Guid> { /// <summary> /// 濮撳悕 diff --git a/FlexJobApi.Core/Models/UserServer/Users/Commands/SendPersonalUserIdentity3RealSmsCommand.cs b/FlexJobApi.Core/Models/UserServer/Users/Commands/SendPersonalUserIdentity3RealSmsCommand.cs new file mode 100644 index 0000000..57d3564 --- /dev/null +++ b/FlexJobApi.Core/Models/UserServer/Users/Commands/SendPersonalUserIdentity3RealSmsCommand.cs @@ -0,0 +1,17 @@ +锘縰sing MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鍙戦�佷釜浜轰笁瑕佺礌瀹炲悕鐭俊 + /// </summary> + [Resource([EnumResourceController.User])] + public class SendPersonalUserIdentity3RealSmsCommand : IRequest<Guid> + { + } +} diff --git a/FlexJobApi.Core/Utils/ResourceUtils/ResourceHttpUtils.cs b/FlexJobApi.Core/Utils/ResourceUtils/ResourceHttpUtils.cs index 6de17f0..40da33e 100644 --- a/FlexJobApi.Core/Utils/ResourceUtils/ResourceHttpUtils.cs +++ b/FlexJobApi.Core/Utils/ResourceUtils/ResourceHttpUtils.cs @@ -6,7 +6,9 @@ using Microsoft.Extensions.Caching.Distributed; using System; using System.Collections.Generic; +using System.ComponentModel.Design; using System.Linq; +using System.Net.Http; using System.Text; using System.Threading.Tasks; @@ -71,6 +73,21 @@ return response; } + public async Task<string> SendHttpAsync(EnumResourceService service, HttpMethod method, string route, string request, IResourceHttpProvider provider = null) + { + var serviceName = service.GetCustomAttribute<EnumResourceService, ResourceServiceAttribute>().ServiceName; + var url = await GetUrl(serviceName, route); + var builder = HttpRequestBuilder.Create(method, url); + if (method == HttpMethod.Get) + builder = builder.WithQueryParameters(request); + else + builder = builder.SetJsonContent(request); + provider = provider ?? new DefaultResourceHttpProvider(); + builder = provider.AddAuthentication(builder); + var response = await provider.SendAsStringAsync(httpRemoteService, builder); + return response; + } + public async Task<string> GetUrl(string serviceName, string route) { var domain = await GetHealthyServiceDomain(serviceName); diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index 78c77de..6bf42ce 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -180,6 +180,8 @@ Id = t.Id, Name = t.Name, Code = t.Code, + EnterpriseName = t.Enterprise.EnterpriseName, + UserName = t.Enterprise.Users.Where(u => u.Id == t.CreatedUserId).Select(u => u.UserName).FirstOrDefault(), BillingMethod = t.BillingMethod, ServiceFee = t.ServiceFee, SettlementCycle = t.SettlementCycle, @@ -218,7 +220,7 @@ .Select(tu => tu.HireStatus as EnumTaskUserHireStatus?) .FirstOrDefault() : null, - + }; var result = await request.PageModel.GetPagedListAsync<GetTaskInfosQueryResult, GetTaskInfosQueryResultItem>(s, cancellationToken); result.ObjectData = count; diff --git a/FlexJobApi.UserServer.Application/Users/Commands/PersonalUserRealCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/PersonalUserRealCommandHandler.cs new file mode 100644 index 0000000..1ee6544 --- /dev/null +++ b/FlexJobApi.UserServer.Application/Users/Commands/PersonalUserRealCommandHandler.cs @@ -0,0 +1,29 @@ +锘縰sing FlexJobApi.Core; +using FlexJobApi.Core.Models.HumanResourcesServer.ElectronSign; +using MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.UserServer.Application +{ + public class PersonalUserRealCommandHandler( + ResourceHttpUtils resourceHttpUtils + ) : + IRequestHandler<SendPersonalUserIdentity3RealSmsCommand, Guid> + { + private readonly ResourceHttpUtils resourceHttpUtils = resourceHttpUtils; + + public async Task<Guid> Handle(SendPersonalUserIdentity3RealSmsCommand request, CancellationToken cancellationToken) + { + await resourceHttpUtils.SendHttpAsync(EnumResourceService.HumanResourcesServer, HttpMethod.Post, "/api/ElectronSign/SendRealSms", new SendRealSmsInput + { + + + }.ToJson()); + throw new Exception(); + } + } +} -- Gitblit v1.9.1