From 82dbcc7ad9aeae270449139278dc9693de4ad218 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期三, 06 八月 2025 16:58:59 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/ApiFlexJob --- FlexJobApi.User.Application/FlexJobApi.User.Application.xml | 31 ++ FlexJobApi.Core/Entities/Users/UserAuth.cs | 28 - FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs | 2 FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs | 4 FlexJobApi.Core/Entities/Users/UserInfoPhoto.cs | 7 FlexJobApi.Core/Entities/Users/Enterprise.cs | 75 ++++- FlexJobApi.Core/Entities/Users/UserInfo.cs | 10 /dev/null | 37 -- FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs | 2 FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs | 81 ++++++ FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs | 109 ++++++++ FlexJobApi.Core/FlexJobApi.Core.xml | 288 +++++++++++---------- FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs | 43 +++ FlexJobApi.Core/Entities/Users/UserInfoCredential.cs | 14 FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs | 4 15 files changed, 490 insertions(+), 245 deletions(-) diff --git a/FlexJobApi.Core/Entities/Common/FileStore.cs b/FlexJobApi.Core/Entities/Common/FileStore.cs deleted file mode 100644 index 93b689b..0000000 --- a/FlexJobApi.Core/Entities/Common/FileStore.cs +++ /dev/null @@ -1,79 +0,0 @@ -锘縰sing FlexJobApi.Core.Enums.Common; -using Microsoft.VisualBasic.FileIO; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace FlexJobApi.Core -{ - /// <summary> - /// 鏂囦欢瀛樺偍 - /// </summary> - public class FileStore : CommonEntity - { - /// <summary> - /// 閫氶亾 - /// </summary> - public EnumFileStoreAccess Access { get; set; } - - /// <summary> - /// 缁濆璺緞 - /// </summary> - [Required] - public string AbsolutePath { get; set; } - - /// <summary> - /// 鐩稿璺緞 - /// </summary> - public string RelativePath { get; set; } - - /// <summary> - /// 鍚嶇О - /// </summary> - [Required] - public string Name { get; set; } - - /// <summary> - /// 鎵╁睍鍚� - /// </summary> - [MaxLength(32)] - [Required] - public string Extension { get; set; } - - /// <summary> - /// 鍐呭绫诲瀷 - /// </summary> - [MaxLength(128)] - [Required] - public string ContentType { get; set; } - - /// <summary> - /// 鏂囦欢绫诲瀷 - /// </summary> - public EnumFileType FileType { get; set; } - - /// <summary> - /// 鏂囦欢澶у皬锛堝瓧鑺傦級 - /// </summary> - public long Length { get; set; } - - /// <summary> - /// 鍝堝笇 - /// </summary> - [Required] - public string Hash { get; set; } - - /// <summary> - /// 瀹藉害锛堝儚绱狅級 - /// </summary> - public int? ImageWidth { get; set; } - - /// <summary> - /// 楂樺害锛堝儚绱狅級 - /// </summary> - public int? ImageHeight { get; set; } - } -} diff --git a/FlexJobApi.Core/Entities/Common/FileVirtualPath.cs b/FlexJobApi.Core/Entities/Common/FileVirtualPath.cs deleted file mode 100644 index 7cb2864..0000000 --- a/FlexJobApi.Core/Entities/Common/FileVirtualPath.cs +++ /dev/null @@ -1,37 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace FlexJobApi.Core -{ - /// <summary> - /// 鏂囦欢铏氭嫙璺緞 - /// </summary> - public class FileVirtualPath : CommonEntity - { - /// <summary> - /// 鏂囦欢瀛樺偍Id - /// </summary> - public Guid StoreId { get; set; } - - /// <summary> - /// 鏂囦欢瀛樺偍 - /// </summary> - public FileStore Store { get; set; } - - /// <summary> - /// 鍚嶇О - /// </summary> - [Required] - public string Name { get; set; } - - /// <summary> - /// 铏氭嫙璺緞 - /// </summary> - [Required] - public string VirtualPath { get; set; } - } -} diff --git a/FlexJobApi.Core/Entities/Users/Enterprise.cs b/FlexJobApi.Core/Entities/Users/Enterprise.cs index 36aa3fe..1f3887b 100644 --- a/FlexJobApi.Core/Entities/Users/Enterprise.cs +++ b/FlexJobApi.Core/Entities/Users/Enterprise.cs @@ -38,20 +38,56 @@ public string SocietyCreditCode { get; set; } /// <summary> - /// 钀ヤ笟鎵х収鐓х墖Id - /// </summary> - public Guid? LicenseImageId { get; set; } - - /// <summary> /// 钀ヤ笟鎵х収鐓х墖 /// </summary> - public FileVirtualPath LicenseImage { get; set; } + public string LicenseImage { get; set; } /// <summary> /// 娉曚汉濮撳悕 /// </summary> [MaxLength(32)] public string LegalPerson { get; set; } + + /// <summary> + /// 娉曚汉韬唤璇佸彿 + /// </summary> + [MaxLength(18)] + public string LegalIdentity { get; set; } + + /// <summary> + /// 鎵�鍦ㄧ渷浠絀d + /// </summary> + public Guid? ProvinceId { get; set; } + + /// <summary> + /// 鎵�鍦ㄧ渷浠� + /// </summary> + public DictionaryData Province { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ煄甯侷d + /// </summary> + public Guid? CityId { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ煄甯� + /// </summary> + public DictionaryData City { get; set; } + + /// <summary> + /// 鎵�灞炶涓欼d + /// </summary> + public Guid? IndustryTypeId { get; set; } + + /// <summary> + /// 鎵�灞炶涓� + /// </summary> + public DictionaryData IndustryType { get; set; } + + /// <summary> + /// 涓昏惀涓氬姟 + /// </summary> + public string MainBusiness { get; set; } /// <summary> /// 鑱旂郴浜� @@ -63,7 +99,12 @@ /// 鑱旂郴鐢佃瘽 /// </summary> [MaxLength(11)] - public string ContactNumber { get; set; } + public string ContactPhoneNumber { get; set; } + + /// <summary> + /// 鑱旂郴閭 + /// </summary> + public string ContactEmail { get; set; } /// <summary> /// 娉曚汉鎴栫粡鍔炰汉瀹炲悕鏂瑰紡 @@ -83,24 +124,14 @@ public string Identity { get; set; } /// <summary> - /// 娉曚汉鎴栫粡鍔炰汉韬唤璇佷汉鍍忛潰Id - /// </summary> - public Guid? IdentityImgId { get; set; } - - /// <summary> /// 娉曚汉鎴栫粡鍔炰汉韬唤璇佷汉鍍忛潰 /// </summary> - public FileVirtualPath IdentityImg { get; set; } - - /// <summary> - /// 娉曚汉鎴栫粡鍔炰汉韬唤璇佸浗寰介潰Id - /// </summary> - public Guid? IdentityBackImgId { get; set; } + public string IdentityImg { get; set; } /// <summary> /// 娉曚汉鎴栫粡鍔炰汉韬唤璇佸浗寰介潰 /// </summary> - public FileVirtualPath IdentityBackImg { get; set; } + public string IdentityBackImg { get; set; } /// <summary> /// 娉曚汉鎴栫粡鍔炰汉閾惰鍗″彿 @@ -109,9 +140,9 @@ public string BankCard { get; set; } /// <summary> - /// 娉曚汉鎴栫粡鍔炰汉閾惰鍗$収鐗嘔d + /// 娉曚汉鎴栫粡鍔炰汉閾惰鍗$収鐗� /// </summary> - public Guid? BankCardImgId { get; set; } + public string BankCardImg { get; set; } /// <summary> /// 娉曚汉鎴栫粡鍔炰汉鎵嬫満鍙� @@ -139,6 +170,8 @@ /// </summary> public bool IsReal { get; set; } + + /// <summary> /// 閮ㄩ棬 /// </summary> diff --git a/FlexJobApi.Core/Entities/Users/UserAuth.cs b/FlexJobApi.Core/Entities/Users/UserAuth.cs index 1d21a61..512ab8d 100644 --- a/FlexJobApi.Core/Entities/Users/UserAuth.cs +++ b/FlexJobApi.Core/Entities/Users/UserAuth.cs @@ -22,14 +22,9 @@ } /// <summary> - /// 澶村儚Id - /// </summary> - public Guid? AvatarId { get; set; } - - /// <summary> /// 澶村儚 /// </summary> - public FileVirtualPath Avatar { get; set; } + public string Avatar { get; set; } /// <summary> /// 濮撳悕 @@ -67,24 +62,14 @@ public string Identity { get; set; } /// <summary> - /// 韬唤璇佷汉鍍忛潰Id - /// </summary> - public Guid? IdentityImgId { get; set; } - - /// <summary> /// 韬唤璇佷汉鍍忛潰 /// </summary> - public FileVirtualPath IdentityImg { get; set; } - - /// <summary> - /// 韬唤璇佸浗寰介潰Id - /// </summary> - public Guid? IdentityBackImgId { get; set; } + public string IdentityImg { get; set; } /// <summary> /// 韬唤璇佸浗寰介潰 /// </summary> - public FileVirtualPath IdentityBackImg { get; set; } + public string IdentityBackImg { get; set; } /// <summary> /// 閾惰鍗″彿 @@ -93,14 +78,9 @@ public string BankCard { get; set; } /// <summary> - /// 閾惰鍗$収鐗嘔d - /// </summary> - public Guid? BankCardImgId { get; set; } - - /// <summary> /// 閾惰鍗$収鐗� /// </summary> - public FileVirtualPath BankCardImg { get; set; } + public string BankCardImg { get; set; } /// <summary> /// 瀹炲悕閫氶亾 diff --git a/FlexJobApi.Core/Entities/Users/UserInfo.cs b/FlexJobApi.Core/Entities/Users/UserInfo.cs index 2869593..c993a16 100644 --- a/FlexJobApi.Core/Entities/Users/UserInfo.cs +++ b/FlexJobApi.Core/Entities/Users/UserInfo.cs @@ -89,6 +89,16 @@ public DictionaryData EducationalBackground { get; set; } /// <summary> + /// 甯搁┗鐪佷唤Id + /// </summary> + public Guid? ProvinceId { get; set; } + + /// <summary> + /// 甯搁┗鐪佷唤 + /// </summary> + public DictionaryData Province { get; set; } + + /// <summary> /// 甯搁┗鍩庡競Id /// </summary> public Guid? CityId { get; set; } diff --git a/FlexJobApi.Core/Entities/Users/UserInfoCredential.cs b/FlexJobApi.Core/Entities/Users/UserInfoCredential.cs index ed41dc5..cda1e12 100644 --- a/FlexJobApi.Core/Entities/Users/UserInfoCredential.cs +++ b/FlexJobApi.Core/Entities/Users/UserInfoCredential.cs @@ -60,24 +60,14 @@ public string IssueUnit { get; set; } /// <summary> - /// 璇佷功姝i潰鐓х墖Id - /// </summary> - public Guid ImgId { get; set; } - - /// <summary> /// 璇佷功姝i潰鐓х墖 /// </summary> - public FileVirtualPath Img { get; set; } - - /// <summary> - /// 璇佷功鍙嶉潰鐓х墖Id - /// </summary> - public Guid? BackImgId { get; set; } + public string Img { get; set; } /// <summary> /// 璇佷功鍙嶉潰鐓х墖 /// </summary> - public FileVirtualPath BackImg { get; set; } + public string BackImg { get; set; } } } diff --git a/FlexJobApi.Core/Entities/Users/UserInfoPhoto.cs b/FlexJobApi.Core/Entities/Users/UserInfoPhoto.cs index a10298c..9a221b6 100644 --- a/FlexJobApi.Core/Entities/Users/UserInfoPhoto.cs +++ b/FlexJobApi.Core/Entities/Users/UserInfoPhoto.cs @@ -22,13 +22,8 @@ public UserInfo UserInfo { get; set; } /// <summary> - /// 鐓х墖Id - /// </summary> - public Guid ImgId { get; set; } - - /// <summary> /// 鐓х墖 /// </summary> - public FileVirtualPath Img { get; set; } + public string Img { get; set; } } } diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index d670d87..44f4a08 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -159,91 +159,6 @@ 鏄惁绂佺敤 </summary> </member> - <member name="T:FlexJobApi.Core.FileStore"> - <summary> - 鏂囦欢瀛樺偍 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.Access"> - <summary> - 閫氶亾 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.AbsolutePath"> - <summary> - 缁濆璺緞 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.RelativePath"> - <summary> - 鐩稿璺緞 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.Name"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.Extension"> - <summary> - 鎵╁睍鍚� - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.ContentType"> - <summary> - 鍐呭绫诲瀷 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.FileType"> - <summary> - 鏂囦欢绫诲瀷 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.Length"> - <summary> - 鏂囦欢澶у皬锛堝瓧鑺傦級 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.Hash"> - <summary> - 鍝堝笇 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.ImageWidth"> - <summary> - 瀹藉害锛堝儚绱狅級 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileStore.ImageHeight"> - <summary> - 楂樺害锛堝儚绱狅級 - </summary> - </member> - <member name="T:FlexJobApi.Core.FileVirtualPath"> - <summary> - 鏂囦欢铏氭嫙璺緞 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileVirtualPath.StoreId"> - <summary> - 鏂囦欢瀛樺偍Id - </summary> - </member> - <member name="P:FlexJobApi.Core.FileVirtualPath.Store"> - <summary> - 鏂囦欢瀛樺偍 - </summary> - </member> - <member name="P:FlexJobApi.Core.FileVirtualPath.Name"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:FlexJobApi.Core.FileVirtualPath.VirtualPath"> - <summary> - 铏氭嫙璺緞 - </summary> - </member> <member name="T:FlexJobApi.Core.Resource"> <summary> 璧勬簮 @@ -789,11 +704,6 @@ 缁熶竴绀句細淇$敤浠g爜 </summary> </member> - <member name="P:FlexJobApi.Core.Enterprise.LicenseImageId"> - <summary> - 钀ヤ笟鎵х収鐓х墖Id - </summary> - </member> <member name="P:FlexJobApi.Core.Enterprise.LicenseImage"> <summary> 钀ヤ笟鎵х収鐓х墖 @@ -804,14 +714,59 @@ 娉曚汉濮撳悕 </summary> </member> + <member name="P:FlexJobApi.Core.Enterprise.LegalIdentity"> + <summary> + 娉曚汉韬唤璇佸彿 + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.ProvinceId"> + <summary> + 鎵�鍦ㄧ渷浠絀d + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.Province"> + <summary> + 鎵�鍦ㄧ渷浠� + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.CityId"> + <summary> + 鎵�鍦ㄥ煄甯侷d + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.City"> + <summary> + 鎵�鍦ㄥ煄甯� + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.IndustryTypeId"> + <summary> + 鎵�灞炶涓欼d + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.IndustryType"> + <summary> + 鎵�灞炶涓� + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.MainBusiness"> + <summary> + 涓昏惀涓氬姟 + </summary> + </member> <member name="P:FlexJobApi.Core.Enterprise.Contacts"> <summary> 鑱旂郴浜� </summary> </member> - <member name="P:FlexJobApi.Core.Enterprise.ContactNumber"> + <member name="P:FlexJobApi.Core.Enterprise.ContactPhoneNumber"> <summary> 鑱旂郴鐢佃瘽 + </summary> + </member> + <member name="P:FlexJobApi.Core.Enterprise.ContactEmail"> + <summary> + 鑱旂郴閭 </summary> </member> <member name="P:FlexJobApi.Core.Enterprise.PersonalRealMethod"> @@ -829,19 +784,9 @@ 娉曚汉鎴栫粡鍔炰汉韬唤璇佸彿 </summary> </member> - <member name="P:FlexJobApi.Core.Enterprise.IdentityImgId"> - <summary> - 娉曚汉鎴栫粡鍔炰汉韬唤璇佷汉鍍忛潰Id - </summary> - </member> <member name="P:FlexJobApi.Core.Enterprise.IdentityImg"> <summary> 娉曚汉鎴栫粡鍔炰汉韬唤璇佷汉鍍忛潰 - </summary> - </member> - <member name="P:FlexJobApi.Core.Enterprise.IdentityBackImgId"> - <summary> - 娉曚汉鎴栫粡鍔炰汉韬唤璇佸浗寰介潰Id </summary> </member> <member name="P:FlexJobApi.Core.Enterprise.IdentityBackImg"> @@ -854,9 +799,9 @@ 娉曚汉鎴栫粡鍔炰汉閾惰鍗″彿 </summary> </member> - <member name="P:FlexJobApi.Core.Enterprise.BankCardImgId"> + <member name="P:FlexJobApi.Core.Enterprise.BankCardImg"> <summary> - 娉曚汉鎴栫粡鍔炰汉閾惰鍗$収鐗嘔d + 娉曚汉鎴栫粡鍔炰汉閾惰鍗$収鐗� </summary> </member> <member name="P:FlexJobApi.Core.Enterprise.PhoneNumber"> @@ -1104,11 +1049,6 @@ 鐢ㄦ埛 </summary> </member> - <member name="P:FlexJobApi.Core.UserAuth.AvatarId"> - <summary> - 澶村儚Id - </summary> - </member> <member name="P:FlexJobApi.Core.UserAuth.Avatar"> <summary> 澶村儚 @@ -1144,19 +1084,9 @@ 韬唤璇佸彿 </summary> </member> - <member name="P:FlexJobApi.Core.UserAuth.IdentityImgId"> - <summary> - 韬唤璇佷汉鍍忛潰Id - </summary> - </member> <member name="P:FlexJobApi.Core.UserAuth.IdentityImg"> <summary> 韬唤璇佷汉鍍忛潰 - </summary> - </member> - <member name="P:FlexJobApi.Core.UserAuth.IdentityBackImgId"> - <summary> - 韬唤璇佸浗寰介潰Id </summary> </member> <member name="P:FlexJobApi.Core.UserAuth.IdentityBackImg"> @@ -1167,11 +1097,6 @@ <member name="P:FlexJobApi.Core.UserAuth.BankCard"> <summary> 閾惰鍗″彿 - </summary> - </member> - <member name="P:FlexJobApi.Core.UserAuth.BankCardImgId"> - <summary> - 閾惰鍗$収鐗嘔d </summary> </member> <member name="P:FlexJobApi.Core.UserAuth.BankCardImg"> @@ -1262,6 +1187,16 @@ <member name="P:FlexJobApi.Core.UserInfo.EducationalBackground"> <summary> 瀛﹀巻 + </summary> + </member> + <member name="P:FlexJobApi.Core.UserInfo.ProvinceId"> + <summary> + 甯搁┗鐪佷唤Id + </summary> + </member> + <member name="P:FlexJobApi.Core.UserInfo.Province"> + <summary> + 甯搁┗鐪佷唤 </summary> </member> <member name="P:FlexJobApi.Core.UserInfo.CityId"> @@ -1404,19 +1339,9 @@ 鍙戣瘉鍗曚綅 </summary> </member> - <member name="P:FlexJobApi.Core.UserInfoCredential.ImgId"> - <summary> - 璇佷功姝i潰鐓х墖Id - </summary> - </member> <member name="P:FlexJobApi.Core.UserInfoCredential.Img"> <summary> 璇佷功姝i潰鐓х墖 - </summary> - </member> - <member name="P:FlexJobApi.Core.UserInfoCredential.BackImgId"> - <summary> - 璇佷功鍙嶉潰鐓х墖Id </summary> </member> <member name="P:FlexJobApi.Core.UserInfoCredential.BackImg"> @@ -1487,11 +1412,6 @@ <member name="P:FlexJobApi.Core.UserInfoPhoto.UserInfo"> <summary> 鐢ㄦ埛淇℃伅 - </summary> - </member> - <member name="P:FlexJobApi.Core.UserInfoPhoto.ImgId"> - <summary> - 鐓х墖Id </summary> </member> <member name="P:FlexJobApi.Core.UserInfoPhoto.Img"> @@ -2558,6 +2478,96 @@ <member name="T:FlexJobApi.Core.GetCurrentLogierMenusQuery"> <summary> 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟 + </summary> + </member> + <member name="T:FlexJobApi.Core.SaveEnterpriseCommand"> + <summary> + 淇濆瓨浼佷笟 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.EnterpriseName"> + <summary> + 浼佷笟鍏ㄧО + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.SocietyCreditCode"> + <summary> + 缁熶竴绀句細淇$敤浠g爜 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.LicenseImage"> + <summary> + 钀ヤ笟鎵х収鐓х墖 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.LegalPerson"> + <summary> + 娉曚汉濮撳悕 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.LegalIdentity"> + <summary> + 娉曚汉韬唤璇佸彿 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.ProvinceId"> + <summary> + 鎵�鍦ㄧ渷浠絀d + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.Province"> + <summary> + 鎵�鍦ㄧ渷浠� + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.CityId"> + <summary> + 鎵�鍦ㄥ煄甯侷d + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.City"> + <summary> + 鎵�鍦ㄥ煄甯� + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.IndustryTypeId"> + <summary> + 鎵�灞炶涓欼d + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.IndustryType"> + <summary> + 鎵�灞炶涓� + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.MainBusiness"> + <summary> + 涓昏惀涓氬姟 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.Contacts"> + <summary> + 鑱旂郴浜� + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.ContactPhoneNumber"> + <summary> + 鑱旂郴鐢佃瘽 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.ContactEmail"> + <summary> + 鑱旂郴閭 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.UserName"> + <summary> + 璐﹀彿 + </summary> + </member> + <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.Password"> + <summary> + 瀵嗙爜 </summary> </member> <member name="T:FlexJobApi.Core.GetEnterprisesQuery"> @@ -4418,7 +4428,7 @@ 鍒锋柊浠ょ墝 </summary> </member> - <member name="P:FlexJobApi.Core.CurrentLogier.AvatarId"> + <member name="P:FlexJobApi.Core.CurrentLogier.Avatar"> <summary> 澶村儚 </summary> diff --git a/FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs b/FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs new file mode 100644 index 0000000..04ddb38 --- /dev/null +++ b/FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs @@ -0,0 +1,109 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 淇濆瓨浼佷笟 + /// </summary> + [Resource([EnumResourceController.Enterprise])] + public class SaveEnterpriseCommand : SaveDataCommand + { + /// <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> + /// 鎵�鍦ㄧ渷浠絀d + /// </summary> + public Guid? ProvinceId { get; set; } + + /// <summary> + /// 鎵�鍦ㄧ渷浠� + /// </summary> + public DictionaryData Province { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ煄甯侷d + /// </summary> + public Guid? CityId { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ煄甯� + /// </summary> + public DictionaryData City { get; set; } + + /// <summary> + /// 鎵�灞炶涓欼d + /// </summary> + public Guid? IndustryTypeId { get; set; } + + /// <summary> + /// 鎵�灞炶涓� + /// </summary> + public DictionaryData IndustryType { 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 string UserName { get; set; } + + /// <summary> + /// 瀵嗙爜 + /// </summary> + public string Password { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs b/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs index 739cb0c..b52c815 100644 --- a/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs +++ b/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs @@ -22,7 +22,7 @@ /// <summary> /// 鏄惁宸查厤缃� /// </summary> - public bool IsConfigured { get; set; } + public bool? IsConfigured { get; set; } } /// <summary> diff --git a/FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs b/FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs index ff54428..c32f336 100644 --- a/FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs +++ b/FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs @@ -26,7 +26,7 @@ /// <summary> /// 澶村儚 /// </summary> - public Guid? AvatarId { get; set; } + public string Avatar { get; set; } /// <summary> /// 鏄电О diff --git a/FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs b/FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs index 7760e5b..d2c9a5c 100644 --- a/FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs +++ b/FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs @@ -30,7 +30,7 @@ logier.AccessToken = JWTEncryption.Encrypt(new Dictionary<string, object>() { { "UserInfoId", logier.UserInfoId }, - { "Avatar",logier.AvatarId }, + { "Avatar",logier.Avatar }, { "Name",logier.Name }, { "UserName",logier.UserName }, { "PhoneNumber",logier.PhoneNumber }, @@ -54,7 +54,7 @@ var logier = new CurrentLogier(); if (Guid.TryParse(App.User?.FindFirstValue("UserInfoId"), out var userInfoId)) logier.UserInfoId = userInfoId; else return null; - if (Guid.TryParse(App.User?.FindFirstValue("AvatarId"), out var avatarId)) logier.AvatarId = avatarId; + logier.Avatar = App.User?.FindFirstValue("Avatar"); logier.Name = App.User?.FindFirstValue("Name"); logier.UserName = App.User?.FindFirstValue("UserName"); logier.PhoneNumber = App.User?.FindFirstValue("PhoneNumber"); diff --git a/FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs b/FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs index 71f3444..3ec1b54 100644 --- a/FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs +++ b/FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs @@ -33,7 +33,7 @@ .Select(it => new { it.Id, - it.UserAuth.AvatarId, + it.UserAuth.Avatar, it.UserAuth.Name, it.UserAuth.UserName, it.UserAuth.PhoneNumber, @@ -47,7 +47,7 @@ var logier = new CurrentLogier { UserInfoId = userInfo.Id, - AvatarId = userInfo.AvatarId, + Avatar = userInfo.Avatar, Name = userInfo.Name, UserName = userInfo.UserName, PhoneNumber = userInfo.PhoneNumber, diff --git a/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs b/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs new file mode 100644 index 0000000..f30c36b --- /dev/null +++ b/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs @@ -0,0 +1,81 @@ +锘縰sing FlexJobApi.Core; +using Furion.DatabaseAccessor; +using Furion.DataEncryption; +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.User.Application +{ + /// <summary> + /// 浼佷笟鍛戒护澶勭悊鍣� + /// </summary> + public class EnterpriseCommandHandler( + IRepository<Enterprise> rep, + IRepository<UserInfo> repUserInfo + ) + : IRequestHandler<SaveEnterpriseCommand, Guid> + { + private readonly IRepository<Enterprise> rep = rep; + private readonly IRepository<UserInfo> repUserInfo = repUserInfo; + + /// <summary> + /// 淇濆瓨浼佷笟 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<Guid> Handle(SaveEnterpriseCommand request, CancellationToken cancellationToken) + { + var entity = await rep.AsQueryable() + .FirstOrDefaultAsync(it => it.SocietyCreditCode == request.SocietyCreditCode); + if (entity == null) + { + entity = new Enterprise(); + request.Adapt(entity); + await rep.InsertAsync(entity); + } + else + { + request.Adapt(entity); + await rep.UpdateAsync(entity); + } + + var userInfo = await repUserInfo.AsQueryable() + .Include(it => it.UserAuth) + .FirstOrDefaultAsync(it => + it.Type == EnumUserType.Enterprise + && it.UserAuth.UserName == request.UserName); + if (userInfo == null) + { + userInfo = new UserInfo + { + EnterpriseId = entity.Id, + Type = EnumUserType.Enterprise, + Status = EnumUserInfoStatus.Normal, + UserAuth = new UserAuth + { + UserName = request.UserName, + PhoneNumber = request.ContactPhoneNumber, + Password = PBKDF2Encryption.Encrypt(request.Password) + } + }; + await repUserInfo.InsertAsync(userInfo); + } + else + { + if (userInfo.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "璇ヨ处鍙�"); + userInfo.UserAuth.PhoneNumber = request.ContactPhoneNumber; + await repUserInfo.UpdateAsync(userInfo); + } + + return entity.Id; + } + } +} diff --git a/FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs b/FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs new file mode 100644 index 0000000..70aa43d --- /dev/null +++ b/FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs @@ -0,0 +1,43 @@ +锘縰sing FlexJobApi.Core; +using MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.User.Application +{ + /// <summary> + /// 浼佷笟鏌ヨ澶勭悊鍣� + /// </summary> + public class EnterprisesQueryHandler + : IRequestHandler<GetEnterprisesQuery, PagedListQueryResult<GetEnterprisesQueryResultItem>> + { + /// <summary> + /// 鏌ヨ浼佷笟淇℃伅鍒嗛〉鍒楄〃鏁版嵁 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public Task<PagedListQueryResult<GetEnterprisesQueryResultItem>> Handle(GetEnterprisesQuery request, CancellationToken cancellationToken) + { + return request.PageModel.GetPagedListAsync<Enterprise, GetEnterprisesQueryResultItem>( + q => + { + if (request.Keywords.IsNotNull()) + { + q = q.Where(it => + it.EnterpriseName.Contains(request.Keywords) + || it.LegalPerson.Contains(request.Keywords) + || it.Contacts.Contains(request.Keywords)); + } + if (request.IsConfigured.HasValue) + { + + } + return q; + }, cancellationToken: cancellationToken); + } + } +} diff --git a/FlexJobApi.User.Application/FlexJobApi.User.Application.xml b/FlexJobApi.User.Application/FlexJobApi.User.Application.xml index b0058c5..2456bb5 100644 --- a/FlexJobApi.User.Application/FlexJobApi.User.Application.xml +++ b/FlexJobApi.User.Application/FlexJobApi.User.Application.xml @@ -46,6 +46,37 @@ <param name="all"></param> <param name="roleMenuIds"></param> </member> + <member name="T:FlexJobApi.User.Application.EnterpriseCommandHandler"> + <summary> + 浼佷笟鍛戒护澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.User.Application.EnterpriseCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo})"> + <summary> + 浼佷笟鍛戒护澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.User.Application.EnterpriseCommandHandler.Handle(FlexJobApi.Core.SaveEnterpriseCommand,System.Threading.CancellationToken)"> + <summary> + 淇濆瓨浼佷笟 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> + <member name="T:FlexJobApi.User.Application.EnterprisesQueryHandler"> + <summary> + 浼佷笟鏌ヨ澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.User.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterprisesQuery,System.Threading.CancellationToken)"> + <summary> + 鏌ヨ浼佷笟淇℃伅鍒嗛〉鍒楄〃鏁版嵁 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> <member name="F:FlexJobApi.User.Application.EnumUserErrorCodeType.u1000"> <summary> 璐﹀彿鎴栧瘑鐮佷笉瀛樺湪 -- Gitblit v1.9.1