From 49452eca97d0fa062d7180ab24d61f5e5f68c52c Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 15 八月 2025 10:48:51 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs | 1 FlexJobApi.Core/Entities/UserServer/Users/User.cs | 10 FlexJobApi.Core/Entities/UserServer/Enterprises/Enterprise.cs | 22 + FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrBusinessLicenseResult.cs | 2 FlexJobApi.Core/FlexJobApi.Core.xml | 231 +++++++++++++++++++ FlexJobApi.Core/Models/UserServer/Users/Commands/SyncEnterpriseUserCommand.cs | 197 ++++++++++++++++ FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs | 2 FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml | 20 + FlexJobApi.UserServer.Application/Users/Commands/SyncEnterpriseUserCommandHandler.cs | 70 +++++ FlexJobApi.Web.Entry/appsettings.json | 90 +++--- FlexJobApi.Core/Enums/Common/EnumErrorCodeType.cs | 2 FlexJobApi.Core/Enums/Users/EnumUserSource.cs | 19 + 12 files changed, 611 insertions(+), 55 deletions(-) diff --git a/FlexJobApi.Core/Entities/UserServer/Enterprises/Enterprise.cs b/FlexJobApi.Core/Entities/UserServer/Enterprises/Enterprise.cs index 421f20c..ef3a6f2 100644 --- a/FlexJobApi.Core/Entities/UserServer/Enterprises/Enterprise.cs +++ b/FlexJobApi.Core/Entities/UserServer/Enterprises/Enterprise.cs @@ -88,7 +88,27 @@ public DictionaryData IndustryType { get; set; } /// <summary> - /// 涓昏惀涓氬姟 + /// 浼佷笟绫诲瀷 + /// </summary> + public string EnterpriseType { get; set; } + + /// <summary> + /// 娉ㄥ唽璧勬湰 + /// </summary> + public string RegisteredCapital { get; set; } + + /// <summary> + /// 鎴愮珛鏃ユ湡 + /// </summary> + public string EstablishmentDate { get; set; } + + /// <summary> + /// 浼佷笟鍦板潃 + /// </summary> + public string Address { get; set; } + + /// <summary> + /// 缁忚惀鑼冨洿 /// </summary> public string MainBusiness { get; set; } diff --git a/FlexJobApi.Core/Entities/UserServer/Users/User.cs b/FlexJobApi.Core/Entities/UserServer/Users/User.cs index 0aedd7e..b2b384d 100644 --- a/FlexJobApi.Core/Entities/UserServer/Users/User.cs +++ b/FlexJobApi.Core/Entities/UserServer/Users/User.cs @@ -260,6 +260,16 @@ /// </summary> public List<EnterpriseUserCollect> EnterpriseUserCollects { get; set; } + /// <summary> + /// 鏁版嵁鏉ユ簮 + /// </summary> + public EnumDataSource? DataSource { get; set; } + + /// <summary> + /// 鏁版嵁鏉ユ簮Id + /// </summary> + public Guid? DataSourceId { get; set; } + public void Configure(EntityTypeBuilder<User> entityBuilder, DbContext dbContext, Type dbContextLocator) { entityBuilder diff --git a/FlexJobApi.Core/Enums/Common/EnumErrorCodeType.cs b/FlexJobApi.Core/Enums/Common/EnumErrorCodeType.cs index 379e603..1978e6f 100644 --- a/FlexJobApi.Core/Enums/Common/EnumErrorCodeType.cs +++ b/FlexJobApi.Core/Enums/Common/EnumErrorCodeType.cs @@ -26,7 +26,7 @@ [ErrorCodeItemMetadata("{0}涓嶅瓨鍦�")] s404 = 404, /// <summary> - /// 璇0}宸插瓨鍦紝璇风‘璁ゅ悗鍐嶈瘯 + /// {0}宸插瓨鍦紝璇风‘璁ゅ悗鍐嶈瘯 /// </summary> [ErrorCodeItemMetadata("{0}宸插瓨鍦紝璇风‘璁ゅ悗鍐嶈瘯")] s405 = 405, diff --git a/FlexJobApi.Core/Enums/Users/EnumUserSource.cs b/FlexJobApi.Core/Enums/Users/EnumUserSource.cs new file mode 100644 index 0000000..5282c4d --- /dev/null +++ b/FlexJobApi.Core/Enums/Users/EnumUserSource.cs @@ -0,0 +1,19 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鏁版嵁鏉ユ簮 + /// </summary> + public enum EnumDataSource + { + /// <summary> + /// 818 + /// </summary> + HumanResources = 10 + } +} diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 3061406..e979bdb 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -1244,9 +1244,29 @@ 鎵�灞炶涓� </summary> </member> + <member name="P:FlexJobApi.Core.Enterprise.EnterpriseType"> + <summary> + 浼佷笟绫诲瀷 + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.RegisteredCapital"> + <summary> + 娉ㄥ唽璧勬湰 + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.EstablishmentDate"> + <summary> + 鎴愮珛鏃ユ湡 + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.Address"> + <summary> + 浼佷笟鍦板潃 + </summary> + </member> <member name="P:FlexJobApi.Core.Enterprise.MainBusiness"> <summary> - 涓昏惀涓氬姟 + 缁忚惀鑼冨洿 </summary> </member> <member name="P:FlexJobApi.Core.Enterprise.Contacts"> @@ -2157,6 +2177,16 @@ 璋佸浼佷笟鏀惰棌/鑱旂郴鎴� </summary> </member> + <member name="P:FlexJobApi.Core.User.DataSource"> + <summary> + 鏁版嵁鏉ユ簮 + </summary> + </member> + <member name="P:FlexJobApi.Core.User.DataSourceId"> + <summary> + 鏁版嵁鏉ユ簮Id + </summary> + </member> <member name="T:FlexJobApi.Core.UserAuth"> <summary> 鐢ㄦ埛璁よ瘉 @@ -2284,7 +2314,7 @@ </member> <member name="F:FlexJobApi.Core.EnumErrorCodeType.s405"> <summary> - 璇0}宸插瓨鍦紝璇风‘璁ゅ悗鍐嶈瘯 + {0}宸插瓨鍦紝璇风‘璁ゅ悗鍐嶈瘯 </summary> </member> <member name="F:FlexJobApi.Core.EnumErrorCodeType.s406"> @@ -3140,6 +3170,16 @@ <member name="F:FlexJobApi.Core.EnumUserRealMethod.Face"> <summary> 鍒疯劯璁よ瘉 + </summary> + </member> + <member name="T:FlexJobApi.Core.EnumDataSource"> + <summary> + 鏁版嵁鏉ユ簮 + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumDataSource.HumanResources"> + <summary> + 818 </summary> </member> <member name="T:FlexJobApi.Core.EnumUserStatus"> @@ -8509,6 +8549,191 @@ 鐘舵�� </summary> </member> + <member name="T:FlexJobApi.Core.SyncEnterpriseUserCommand"> + <summary> + 鍚屾浼佷笟鐢ㄦ埛 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommand.DataSource"> + <summary> + 鏁版嵁鏉ユ簮 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommand.DataSourceId"> + <summary> + 鏁版嵁鏉ユ簮Id + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommand.Password"> + <summary> + 瀵嗙爜 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommand.Name"> + <summary> + 濮撳悕 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommand.UserName"> + <summary> + 鐢ㄦ埛鍚� + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommand.PhoneNumber"> + <summary> + 鎵嬫満鍙� + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommand.Enterprise"> + <summary> + 浼佷笟 + </summary> + </member> + <member name="T:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise"> + <summary> + 鍚屾浼佷笟鐢ㄦ埛 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.EnterpriseName"> + <summary> + 浼佷笟鍏ㄧО + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.SocietyCreditCode"> + <summary> + 缁熶竴绀句細淇$敤浠g爜 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.LicenseImage"> + <summary> + 钀ヤ笟鎵х収鐓х墖 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.LegalPerson"> + <summary> + 娉曚汉濮撳悕 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.LegalIdentity"> + <summary> + 娉曚汉韬唤璇佸彿 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.ProvinceCode"> + <summary> + 鎵�鍦ㄧ渷浠界紪鍙� + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.CityCode"> + <summary> + 鎵�鍦ㄥ煄甯傜紪鍙� + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.IndustryTypeCode"> + <summary> + 鎵�灞炶涓氱紪鍙� + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.EnterpriseType"> + <summary> + 浼佷笟绫诲瀷 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.RegisteredCapital"> + <summary> + 娉ㄥ唽璧勬湰 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.EstablishmentDate"> + <summary> + 鎴愮珛鏃ユ湡 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.Address"> + <summary> + 浼佷笟鍦板潃 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.MainBusiness"> + <summary> + 缁忚惀鑼冨洿 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.Contacts"> + <summary> + 鑱旂郴浜� + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.ContactPhoneNumber"> + <summary> + 鑱旂郴鐢佃瘽 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.ContactEmail"> + <summary> + 鑱旂郴閭 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.PayAccess"> + <summary> + 鏀粯閫氶亾 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.BankName"> + <summary> + 寮�鎴锋�昏 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.BankBranchName"> + <summary> + 寮�鎴锋敮琛� + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.BankCard"> + <summary> + 閾惰璐︽埛 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.IsCheckedBankCard"> + <summary> + 鏄惁宸叉牎楠岄摱琛岃处鎴� + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.RealAccess"> + <summary> + 瀹炲悕閫氶亾 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.RealVerifyCost"> + <summary> + 瀹炲悕璐圭敤 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.SignCost"> + <summary> + 绛剧害璐圭敤 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.MergeSignCost"> + <summary> + 涓�鍙d环 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.SmsAccess"> + <summary> + 鐭俊閫氶亾 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.SmsCost"> + <summary> + 鐭俊璐圭敤 + </summary> + </member> + <member name="P:FlexJobApi.Core.SyncEnterpriseUserCommandEnterprise.IsReal"> + <summary> + 鏄惁瀹炲悕 + </summary> + </member> <member name="T:FlexJobApi.Core.GetEnterpriseLoginInfoQuery"> <summary> 鏌ヨ浼佷笟鐢ㄦ埛鐧诲綍淇℃伅 @@ -9099,7 +9324,7 @@ 浼佷笟鍦板潃 </summary> </member> - <member name="P:FlexJobApi.Core.BaiduOcrBusinessLicenseResultModel.BusinessScope"> + <member name="P:FlexJobApi.Core.BaiduOcrBusinessLicenseResultModel.MainBusiness"> <summary> 缁忚惀鑼冨洿 </summary> diff --git a/FlexJobApi.Core/Models/UserServer/Users/Commands/SyncEnterpriseUserCommand.cs b/FlexJobApi.Core/Models/UserServer/Users/Commands/SyncEnterpriseUserCommand.cs index ceafc47..a24e779 100644 --- a/FlexJobApi.Core/Models/UserServer/Users/Commands/SyncEnterpriseUserCommand.cs +++ b/FlexJobApi.Core/Models/UserServer/Users/Commands/SyncEnterpriseUserCommand.cs @@ -1,5 +1,8 @@ -锘縰sing System; +锘縰sing Mapster; +using MediatR; +using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -9,8 +12,198 @@ /// <summary> /// 鍚屾浼佷笟鐢ㄦ埛 /// </summary> - public class SyncEnterpriseUserCommand + [Resource([EnumResourceController.User])] + public class SyncEnterpriseUserCommand : IRequest<Guid> { + /// <summary> + /// 鏁版嵁鏉ユ簮 + /// </summary> + public EnumDataSource? DataSource { get; set; } + /// <summary> + /// 鏁版嵁鏉ユ簮Id + /// </summary> + public Guid? DataSourceId { get; set; } + + /// <summary> + /// 瀵嗙爜 + /// </summary> + public string Password { get; set; } + + /// <summary> + /// 濮撳悕 + /// </summary> + public string Name { get; set; } + + /// <summary> + /// 鐢ㄦ埛鍚� + /// </summary> + public string UserName { get; set; } + + /// <summary> + /// 鎵嬫満鍙� + /// </summary> + public string PhoneNumber { get; set; } + + /// <summary> + /// 浼佷笟 + /// </summary> + [AdaptIgnore] + public SyncEnterpriseUserCommandEnterprise Enterprise { get; set; } + } + + /// <summary> + /// 鍚屾浼佷笟鐢ㄦ埛 + /// </summary> + public class SyncEnterpriseUserCommandEnterprise + { + /// <summary> + /// 浼佷笟鍏ㄧО + /// </summary> + [Required] + [MaxLength(128)] + public string EnterpriseName { get; set; } + + /// <summary> + /// 缁熶竴绀句細淇$敤浠g爜 + /// </summary> + [Required] + [MaxLength(18)] + public string SocietyCreditCode { get; set; } + + /// <summary> + /// 钀ヤ笟鎵х収鐓х墖 + /// </summary> + public string LicenseImage { get; set; } + + /// <summary> + /// 娉曚汉濮撳悕 + /// </summary> + [MaxLength(32)] + public string LegalPerson { get; set; } + + /// <summary> + /// 娉曚汉韬唤璇佸彿 + /// </summary> + [MaxLength(18)] + public string LegalIdentity { get; set; } + + /// <summary> + /// 鎵�鍦ㄧ渷浠界紪鍙� + /// </summary> + public string ProvinceCode { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ煄甯傜紪鍙� + /// </summary> + public string CityCode { get; set; } + + /// <summary> + /// 鎵�灞炶涓氱紪鍙� + /// </summary> + public string IndustryTypeCode { get; set; } + + /// <summary> + /// 浼佷笟绫诲瀷 + /// </summary> + public string EnterpriseType { get; set; } + + /// <summary> + /// 娉ㄥ唽璧勬湰 + /// </summary> + public string RegisteredCapital { get; set; } + + /// <summary> + /// 鎴愮珛鏃ユ湡 + /// </summary> + public string EstablishmentDate { get; set; } + + /// <summary> + /// 浼佷笟鍦板潃 + /// </summary> + public string Address { get; set; } + + /// <summary> + /// 缁忚惀鑼冨洿 + /// </summary> + public string MainBusiness { get; set; } + + /// <summary> + /// 鑱旂郴浜� + /// </summary> + [MaxLength(32)] + public string Contacts { get; set; } + + /// <summary> + /// 鑱旂郴鐢佃瘽 + /// </summary> + [MaxLength(11)] + public string ContactPhoneNumber { get; set; } + + /// <summary> + /// 鑱旂郴閭 + /// </summary> + public string ContactEmail { get; set; } + + /// <summary> + /// 鏀粯閫氶亾 + /// </summary> + public EnumPayAccess? PayAccess { get; set; } + + /// <summary> + /// 寮�鎴锋�昏 + /// </summary> + public string BankName { get; set; } + + /// <summary> + /// 寮�鎴锋敮琛� + /// </summary> + public string BankBranchName { get; set; } + + /// <summary> + /// 閾惰璐︽埛 + /// </summary> + [MaxLength(32)] + public string BankCard { get; set; } + + /// <summary> + /// 鏄惁宸叉牎楠岄摱琛岃处鎴� + /// </summary> + public bool IsCheckedBankCard { get; set; } + + /// <summary> + /// 瀹炲悕閫氶亾 + /// </summary> + public EnumRealAccess? RealAccess { get; set; } + + /// <summary> + /// 瀹炲悕璐圭敤 + /// </summary> + public decimal? RealVerifyCost { get; set; } + + /// <summary> + /// 绛剧害璐圭敤 + /// </summary> + public decimal? SignCost { get; set; } + + /// <summary> + /// 涓�鍙d环 + /// </summary> + public decimal? MergeSignCost { get; set; } + + /// <summary> + /// 鐭俊閫氶亾 + /// </summary> + public EnumSmsAccess? SmsAccess { get; set; } + + /// <summary> + /// 鐭俊璐圭敤 + /// </summary> + public decimal SmsCost { get; set; } + + /// <summary> + /// 鏄惁瀹炲悕 + /// </summary> + public bool IsReal { get; set; } } } diff --git a/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrBusinessLicenseResult.cs b/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrBusinessLicenseResult.cs index c9f6dc7..0c69cf9 100644 --- a/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrBusinessLicenseResult.cs +++ b/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrBusinessLicenseResult.cs @@ -85,6 +85,6 @@ /// <summary> /// 缁忚惀鑼冨洿 /// </summary> - public string BusinessScope { get; set; } + public string MainBusiness { get; set; } } } diff --git a/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs b/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs index 2ee89c4..9e890c9 100644 --- a/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs +++ b/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs @@ -61,7 +61,7 @@ RegisteredCapital = result.WordsResult["娉ㄥ唽璧勬湰"].Words, EstablishmentDate = result.WordsResult["鎴愮珛鏃ユ湡"].Words, Address = result.WordsResult["鍦板潃"].Words, - BusinessScope = result.WordsResult["缁忚惀鑼冨洿"].Words, + MainBusiness = result.WordsResult["缁忚惀鑼冨洿"].Words, }; return result; } diff --git a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml index 28d44df..63f6ae9 100644 --- a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml +++ b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml @@ -296,7 +296,7 @@ </member> <member name="F:FlexJobApi.UserServer.Application.EnumUserErrorCodeType.u1010"> <summary> - 璇ユ墜鏈哄彿宸茶娉ㄥ唽 + 鎵嬫満鍙峰凡琚敞鍐� </summary> </member> <member name="F:FlexJobApi.UserServer.Application.EnumUserErrorCodeType.u1100"> @@ -687,6 +687,24 @@ <param name="cancellationToken"></param> <returns></returns> </member> + <member name="T:FlexJobApi.UserServer.Application.SyncEnterpriseUserCommandHandler"> + <summary> + + </summary> + </member> + <member name="M:FlexJobApi.UserServer.Application.SyncEnterpriseUserCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise})"> + <summary> + + </summary> + </member> + <member name="M:FlexJobApi.UserServer.Application.SyncEnterpriseUserCommandHandler.Handle(FlexJobApi.Core.SyncEnterpriseUserCommand,System.Threading.CancellationToken)"> + <summary> + 鍚屾浼佷笟鐢ㄦ埛 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> <member name="T:FlexJobApi.UserServer.Application.UserInfos.Commands.UserInfoCommandHandler"> <summary> 鐢ㄦ埛淇℃伅鍛戒护澶勭悊鍣� diff --git a/FlexJobApi.UserServer.Application/Users/Commands/SyncEnterpriseUserCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/SyncEnterpriseUserCommandHandler.cs new file mode 100644 index 0000000..06f0346 --- /dev/null +++ b/FlexJobApi.UserServer.Application/Users/Commands/SyncEnterpriseUserCommandHandler.cs @@ -0,0 +1,70 @@ +锘縰sing FlexJobApi.Core; +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using MediatR; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.UserServer.Application +{ + /// <summary> + /// + /// </summary> + public class SyncEnterpriseUserCommandHandler( + IRepository<User> repUser, + IRepository<Enterprise> repEnterprise + ) : + IRequestHandler<SyncEnterpriseUserCommand, Guid> + { + private readonly IRepository<User> repUser = repUser; + private readonly IRepository<Enterprise> repEnterprise = repEnterprise; + + /// <summary> + /// 鍚屾浼佷笟鐢ㄦ埛 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<Guid> Handle(SyncEnterpriseUserCommand request, CancellationToken cancellationToken) + { + var enterprise = await repEnterprise.AsQueryable() + .Where(it => it.SocietyCreditCode == request.Enterprise.SocietyCreditCode) + .FirstOrDefaultAsync(cancellationToken); + if (enterprise == null) + { + enterprise = new Enterprise(); + request.Enterprise.Adapt(enterprise); + await repEnterprise.InsertAsync(enterprise); + } + else + { + request.Enterprise.Adapt(enterprise); + await repEnterprise.UpdateAsync(enterprise); + } + var user = await repUser.AsQueryable() + .Where(it => it.Type == EnumUserType.Enterprise && it.EnterpriseId == enterprise.Id && it.UserName == request.UserName) + .FirstOrDefaultAsync(cancellationToken); + if (user == null) + { + var exist = await repUser.AsQueryable().AsNoTracking() + .AnyAsync(it => it.Type == EnumUserType.Enterprise && it.UserName == request.UserName); + if (exist) + throw Oops.Oh(EnumErrorCodeType.s405, "璐﹀彿"); + user = new User(); + request.Adapt(user); + await repUser.InsertAsync(user); + } + else + { + request.Adapt(user); + await repUser.UpdateAsync(user); + } + return user.Id; + } + } +} diff --git a/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs index b554866..f2c78f9 100644 --- a/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs @@ -62,5 +62,6 @@ await rep.UpdateAsync(entity); return entity.UserRoles.Count; } + } } diff --git a/FlexJobApi.Web.Entry/appsettings.json b/FlexJobApi.Web.Entry/appsettings.json index aec227c..687e405 100644 --- a/FlexJobApi.Web.Entry/appsettings.json +++ b/FlexJobApi.Web.Entry/appsettings.json @@ -42,57 +42,57 @@ "RoleSessionName": "SessionTest", "Policy": "{\"Version\":\"1\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":\"oss:PutObject\",\"Resource\":[\"acs:oss:*:*:waterdroptest2/*\",\"acs:oss:*:*:parkmanagement/*\",\"acs:oss:*:*:jurenlian/*\"]}]}", "DurationSeconds": 3600 + }, + "SMS": { + "Enable": true, + "AccessKeyId": "LTAI5tMS7qz1duiyncCqxB8H", + "AccessSecret": "TEHSXK6f6Njg0v0MSFkrjURofdjuKQ", + "Version": "2017-05-25", + "SignName": "818鏁板瓧浜哄姏璧勪骇骞冲彴", + "RegionId": "cn-hangzhou", + "TemplateCodes": { + //818骞冲彴鐭俊楠岃瘉鐮� 楠岃瘉鐮侊細${code}锛岃浜�5鍒嗛挓鍐呭~鍐欙紝璇峰嬁娉勯湶锛岃嫢闈炴湰浜烘搷浣滆蹇界暐銆� + "VerifyCode": "SMS_471100021", + + //818骞冲彴鐧诲綍/娉ㄥ唽 楠岃瘉鐮�${code}锛岀敤鎴锋偍濂斤紝鎮ㄦ鍦ㄨ繘琛屽钩鍙扮櫥褰�/娉ㄥ唽锛岄獙璇佺爜10鍒嗛挓鍐呮湁鏁堛�� + "LoginOrRegister": "SMS_472170005", + //818璐﹀彿寮�閫氾紙绠$悊绔級灏婃暚鐨勭敤鎴锋偍濂斤紝浜哄姏鏃犲咖璐﹀彿宸插紑閫氾紝璐﹀彿锛�${account}锛屽瘑鐮侊細${pwd}锛岃鐧诲綍缃戝潃 https://admin.81812333.com + "CreateOperationAccount": "SMS_471970028", + //818鎵嬫満鍙风爜淇敼 楠岃瘉鐮�${code}锛屾偍姝e湪杩涜淇敼鎵嬫満鍙风爜鎿嶄綔锛岃鍕挎硠闇诧紝鑻ラ潪鏈汉鎿嶄綔璇峰拷鐣ャ�� + "UpdateUserPhoneNumber": "SMS_471100097", + //818鎵嬫満鍙锋崲缁� 灏婃暚鐨勭敤鎴锋偍濂斤紝818骞冲彴${code}鐨勮处鎴风粦瀹氭墜鏈哄彿鎴愬姛淇敼涓�${account}锛屼綘鍙互浣跨敤璇ユ墜鏈哄彿鐧诲綍锛岀櫥褰曠綉鍧� https://www.81812333.com + "UpdateUserPhoneNumberNotice": "SMS_471925037", + + //818閲嶇疆瀵嗙爜 楠岃瘉鐮�${code}锛屾偍姝e湪杩涜閲嶇疆瀵嗙爜鎿嶄綔锛岃鍕挎硠闇诧紝鑻ラ潪鏈汉鎿嶄綔璇峰拷鐣ャ�� + "ResetUserPhoneNumber": "SMS_471240080", + //818骞冲彴瀵嗙爜閲嶇疆锛堥�氱煡锛� 鎮ㄥソ锛屾偍鐨勫瘑鐮佸凡閲嶇疆锛岃处鍙凤細${account}锛屽瘑鐮侊細${password}锛岃濡ュ杽淇濆瓨 + "ResetPasswordNotice": "SMS_476790229", + + //璐﹀彿淇敼 灏婃暚鐨勭敤鎴锋偍濂斤細 鎮ㄧ殑818骞冲彴璐﹀彿鎴愬姛淇敼涓�${account}鎮ㄥ彲浠ヤ娇鐢ㄨ璐﹀彿杩涜鐧诲綍锛岀櫥褰曠綉鍧�锛歨ttps://www.81812333.com + "ChangeUserName": "SMS_475895109", + //818璐﹀彿寮�閫� 灏婃暚鐨勭敤鎴锋偍濂斤紝鎮ㄧ殑璐﹀彿锛�${account}锛屽垵濮嬪瘑鐮侊細${password}锛岃濡ュ杽淇濆瓨锛屾偍鍙娇鐢ㄨ处鍙峰瘑鐮佺櫥褰曞苟淇敼瀵嗙爜锛岀櫥褰曠綉鍧� https://www.81812333.com + "CreateAccountNotice": "SMS_471980029", + //鎵嬫満鍙疯В缁� 灏婃暚鐨勭敤鎴锋偍濂斤細818骞冲彴${account}鐨勮处鍙蜂笌${number}宸茶В缁戯紝浣犲彲浠ョ櫥褰曠綉鍧�锛歨ttps://www.81812333.com閲嶆柊缁戝畾鎵嬫満鍙枫�� + "UnbindingUserPhoneNumber": "SMS_475840188", + //瑙g粦閭 灏婃暚鐨勭敤鎴锋偍濂斤細818骞冲彴${account}鐨勮处鍙蜂笌${mail}宸茶В缁戯紝浣犲彲浠ョ櫥褰曠綉鍧�锛歨ttps://www.81812333.com閲嶆柊缁戝畾閭銆� + "UnbindingUserEmail": "SMS_475875117", + + //818瀹炲悕璁よ瘉 楠岃瘉鐮�${code}锛屾偍姝e湪杩涜瀹炲悕璁よ瘉鎿嶄綔锛岃鍕挎硠闇诧紝鑻ラ潪鏈汉鎿嶄綔璇峰拷鐣ャ�� + "UserCertificationAudit": "SMS_471230080", + //鐢宠鏁板瓧璇佷功 楠岃瘉鐮�${code}锛岀敤鎴锋偍濂斤紝鎮ㄦ鍦ㄧ敵璇锋暟瀛楄瘉涔︼紝楠岃瘉鐮�10鍒嗛挓鍐呮湁鏁堛�� + "ApplyUserCertificate": "SMS_475345383", + //鐢靛瓙绛� ${unit_name}璇锋偍鐐瑰嚮绛剧害t.81812333.com/Inter/${code} + "UserElectronSign": "SMS_476485061", + + //818閽卞寘寮�閫� 楠岃瘉鐮�${code}锛岀敤鎴锋偍濂斤紝鎮ㄦ鍦ㄨ繘琛屽钩鍙伴挶鍖呭紑閫氾紝璇ラ獙璇佺爜5鍒嗛挓鍐呮湁鏁堬紝璇峰嬁娉勯湶浜庝粬浜恒�� + "BankWalletAccountOpen": "SMS_473860301" + } } }, "Baidu": { "Ocr": { "Key": "Htx3y6eFnlW92WvHx9aW44f8", "Secret": "k1rDa3vjVtArrQio9LtR5AjqARSw45WO" - } - }, - "SMS": { - "Enable": true, - "AccessKeyId": "LTAI5tMS7qz1duiyncCqxB8H", - "AccessSecret": "TEHSXK6f6Njg0v0MSFkrjURofdjuKQ", - "Version": "2017-05-25", - "SignName": "818鏁板瓧浜哄姏璧勪骇骞冲彴", - "RegionId": "cn-hangzhou", - "TemplateCodes": { - //818骞冲彴鐭俊楠岃瘉鐮� 楠岃瘉鐮侊細${code}锛岃浜�5鍒嗛挓鍐呭~鍐欙紝璇峰嬁娉勯湶锛岃嫢闈炴湰浜烘搷浣滆蹇界暐銆� - "VerifyCode": "SMS_471100021", - - //818骞冲彴鐧诲綍/娉ㄥ唽 楠岃瘉鐮�${code}锛岀敤鎴锋偍濂斤紝鎮ㄦ鍦ㄨ繘琛屽钩鍙扮櫥褰�/娉ㄥ唽锛岄獙璇佺爜10鍒嗛挓鍐呮湁鏁堛�� - "LoginOrRegister": "SMS_472170005", - //818璐﹀彿寮�閫氾紙绠$悊绔級灏婃暚鐨勭敤鎴锋偍濂斤紝浜哄姏鏃犲咖璐﹀彿宸插紑閫氾紝璐﹀彿锛�${account}锛屽瘑鐮侊細${pwd}锛岃鐧诲綍缃戝潃 https://admin.81812333.com - "CreateOperationAccount": "SMS_471970028", - //818鎵嬫満鍙风爜淇敼 楠岃瘉鐮�${code}锛屾偍姝e湪杩涜淇敼鎵嬫満鍙风爜鎿嶄綔锛岃鍕挎硠闇诧紝鑻ラ潪鏈汉鎿嶄綔璇峰拷鐣ャ�� - "UpdateUserPhoneNumber": "SMS_471100097", - //818鎵嬫満鍙锋崲缁� 灏婃暚鐨勭敤鎴锋偍濂斤紝818骞冲彴${code}鐨勮处鎴风粦瀹氭墜鏈哄彿鎴愬姛淇敼涓�${account}锛屼綘鍙互浣跨敤璇ユ墜鏈哄彿鐧诲綍锛岀櫥褰曠綉鍧� https://www.81812333.com - "UpdateUserPhoneNumberNotice": "SMS_471925037", - - //818閲嶇疆瀵嗙爜 楠岃瘉鐮�${code}锛屾偍姝e湪杩涜閲嶇疆瀵嗙爜鎿嶄綔锛岃鍕挎硠闇诧紝鑻ラ潪鏈汉鎿嶄綔璇峰拷鐣ャ�� - "ResetUserPhoneNumber": "SMS_471240080", - //818骞冲彴瀵嗙爜閲嶇疆锛堥�氱煡锛� 鎮ㄥソ锛屾偍鐨勫瘑鐮佸凡閲嶇疆锛岃处鍙凤細${account}锛屽瘑鐮侊細${password}锛岃濡ュ杽淇濆瓨 - "ResetPasswordNotice": "SMS_476790229", - - //璐﹀彿淇敼 灏婃暚鐨勭敤鎴锋偍濂斤細 鎮ㄧ殑818骞冲彴璐﹀彿鎴愬姛淇敼涓�${account}鎮ㄥ彲浠ヤ娇鐢ㄨ璐﹀彿杩涜鐧诲綍锛岀櫥褰曠綉鍧�锛歨ttps://www.81812333.com - "ChangeUserName": "SMS_475895109", - //818璐﹀彿寮�閫� 灏婃暚鐨勭敤鎴锋偍濂斤紝鎮ㄧ殑璐﹀彿锛�${account}锛屽垵濮嬪瘑鐮侊細${password}锛岃濡ュ杽淇濆瓨锛屾偍鍙娇鐢ㄨ处鍙峰瘑鐮佺櫥褰曞苟淇敼瀵嗙爜锛岀櫥褰曠綉鍧� https://www.81812333.com - "CreateAccountNotice": "SMS_471980029", - //鎵嬫満鍙疯В缁� 灏婃暚鐨勭敤鎴锋偍濂斤細818骞冲彴${account}鐨勮处鍙蜂笌${number}宸茶В缁戯紝浣犲彲浠ョ櫥褰曠綉鍧�锛歨ttps://www.81812333.com閲嶆柊缁戝畾鎵嬫満鍙枫�� - "UnbindingUserPhoneNumber": "SMS_475840188", - //瑙g粦閭 灏婃暚鐨勭敤鎴锋偍濂斤細818骞冲彴${account}鐨勮处鍙蜂笌${mail}宸茶В缁戯紝浣犲彲浠ョ櫥褰曠綉鍧�锛歨ttps://www.81812333.com閲嶆柊缁戝畾閭銆� - "UnbindingUserEmail": "SMS_475875117", - - //818瀹炲悕璁よ瘉 楠岃瘉鐮�${code}锛屾偍姝e湪杩涜瀹炲悕璁よ瘉鎿嶄綔锛岃鍕挎硠闇诧紝鑻ラ潪鏈汉鎿嶄綔璇峰拷鐣ャ�� - "UserCertificationAudit": "SMS_471230080", - //鐢宠鏁板瓧璇佷功 楠岃瘉鐮�${code}锛岀敤鎴锋偍濂斤紝鎮ㄦ鍦ㄧ敵璇锋暟瀛楄瘉涔︼紝楠岃瘉鐮�10鍒嗛挓鍐呮湁鏁堛�� - "ApplyUserCertificate": "SMS_475345383", - //鐢靛瓙绛� ${unit_name}璇锋偍鐐瑰嚮绛剧害t.81812333.com/Inter/${code} - "UserElectronSign": "SMS_476485061", - - //818閽卞寘寮�閫� 楠岃瘉鐮�${code}锛岀敤鎴锋偍濂斤紝鎮ㄦ鍦ㄨ繘琛屽钩鍙伴挶鍖呭紑閫氾紝璇ラ獙璇佺爜5鍒嗛挓鍐呮湁鏁堬紝璇峰嬁娉勯湶浜庝粬浜恒�� - "BankWalletAccountOpen": "SMS_473860301" } } } \ No newline at end of file -- Gitblit v1.9.1