From ca12247dbc0728c7900db4188565d4c4f7d907c4 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 29 八月 2023 09:25:54 +0800 Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/DocumentService --- DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs | 90 - ZcPayCore/Model/OderInfo.cs | 55 DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs | 1 DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs | 6 DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user | 2 .gitignore | 3 DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user | 2 DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs | 57 DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs | 7 DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs | 395 ++++- DocumentServiceAPI.Application/DocManage/Dtos/Document_Lock_Dto.cs | 48 DocumentServiceApi.InitQMessage/INITQMessageDefine.cs | 24 DocumentServiceAPI.Application/DocManage/Dtos/Project_List_Dto.cs | 34 DocumentServiceAPI.Application/applicationsettings.json | 15 DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs | 97 + DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs | 66 DocumentServiceAPI.Model/Permissions/TenantPermissions.cs | 46 DocumentServiceApi.InitQMessage/MessageReceive.cs | 181 ++ 资料管理.sql | 108 + DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs | 4 DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs | 11 DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs | 42 DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs | 6 DocumentServiceAPI.Web.Entry/appsettings.json | 5 DocumentServiceAPI.Application/UserAndLogin/LogInController.cs | 271 ++- ZcPayCore/ZcPayCore.csproj | 20 DocumentServiceAPI.Application/DocManage/Services/ProjectManageService.cs | 12 DocumentServiceAPI.sln | 12 /dev/null | 1863 ---------------------------- DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs | 9 DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj | 18 DocumentServiceAPI.Model/Oder/Oder.cs | 50 DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs | 81 + DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs | 80 + DocumentServiceApi.InitQMessage/TenantOderInfo.cs | 60 DocumentServiceAPI.Utility/PageBaseSearch.cs | 8 DocumentServiceApi.InitQMessage/INITQSetups.cs | 48 DocumentServiceAPI.Web.Entry/Properties/launchSettings.json | 4 38 files changed, 1,667 insertions(+), 2,174 deletions(-) diff --git a/.gitignore b/.gitignore index 34fae7d..de1d1ce 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,6 @@ /DocumentFile.Service/obj /DocumentServiceAPI.Services/bin /DocumentServiceAPI.Services/obj +ZcPayCore/obj/ +DocumentServiceApi.InitQMessage/obj/ +DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml diff --git a/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs index de9221f..447649c 100644 --- a/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs +++ b/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs @@ -38,15 +38,15 @@ PageModel pg = new PageModel(); pg.PageSize = page.PageSize; pg.PageIndex = page.PageIndex; - + PageResult<Doc_Classification> result = new PageResult<Doc_Classification>(); if (page.Status.HasValue) { - result.Items = await _classificationService.GetPageListAsync(c => c.status ==page.Status && c.parent_code == page.Code, pg); + result.Items = await _classificationService.GetPageListAsync(c => c.status ==page.Status && c.parent_code == page.Code,pg,c=>c.sort_id,OrderByType.Asc); } else { - result.Items = await _classificationService.GetPageListAsync(c => c.parent_code == page.Code, pg); + result.Items = await _classificationService.GetPageListAsync(c => c.parent_code == page.Code, pg, c => c.sort_id, OrderByType.Asc); } result.TotalCount = pg.TotalCount; result.PageIndex = pg.PageIndex; @@ -62,7 +62,7 @@ public async Task<IActionResult> PostItemList(DocClassificationSearch page) { var data = await _classificationService.GetListAsync(c => c.status == 1 && c.parent_code == page.Code); - return new JsonResult(data); + return new JsonResult(data.OrderBy(c=>c.sort_id).ToList()); } /// <summary> @@ -78,7 +78,7 @@ doc.doc_classification_code = ""; doc.is_system = false; doc.parent_code = info.code; - doc.sort_id = 99; + doc.sort_id = info.sort; doc.status = info.status; doc.tenant_code = info.tenant_id; @@ -100,6 +100,7 @@ model.add_time = DateTime.Now; model.doc_classification = info.name; model.status = info.status; + model.sort_id = info.sort; msg = await _classificationService.UpdateAsync(model); } diff --git a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs index fd87b88..7a19cf5 100644 --- a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs +++ b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs @@ -1,8 +1,12 @@ 锘縰sing DocumentServiceAPI.Application.DocManage.Dtos; using DocumentServiceAPI.Application.DocManage.Services; +using DocumentServiceAPI.Application.ProjectInfo.Services; using DocumentServiceAPI.Application.System.Services; using DocumentServiceAPI.Model.cyDocumentModel; +using DocumentServiceAPI.Services.IService; using DocumentServiceAPI.Utility; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Extensions.Caching.Memory; using System.Linq.Expressions; namespace DocumentServiceAPI.Application.DocManage @@ -16,15 +20,89 @@ private readonly DocumentManageService _docManageService; private readonly OrganizationService _organizationService; private readonly FileManageService _fileManageService; + private readonly ProjectManageService _projectService; + private readonly DocAchievementService _achievementService; + private readonly IRedisCacheService _redisCache; - - - public DocumentManageAppService(DocClassificationService classService, DocumentManageService docService, OrganizationService orgService,FileManageService fileManageService) + public DocumentManageAppService(DocClassificationService classService, DocumentManageService docService, OrganizationService orgService, + FileManageService fileManageService, ProjectManageService projectService, DocAchievementService achievementService, IRedisCacheService redisCase) { _classificationService = classService; _docManageService = docService; _organizationService = orgService; _fileManageService = fileManageService; + _projectService = projectService; + _achievementService = achievementService; + + _redisCache = redisCase; + } + + /// <summary> + /// 缂栬緫鏂囨。鏃惰缃枃妗i攣瀹氱姸鎬� + /// </summary> + /// <param name="model"></param> + /// <returns> + /// true:璁剧疆閿佸畾鎴愬姛 + /// false:閿佸畾澶辫触锛屾枃妗e凡琚攣瀹� + /// </returns> + public bool SetDocLockStatus(DocLock_Submit_Dto model) + { + bool msg = true; + string key = model.tenant_id.ToString().PadLeft(4,'0') + "_" + model.id.ToString().PadLeft(8,'0'); + if (_redisCache.Get<Document_Lock_Dto>(key) != null) + { + msg = false; + } + else + { + Document_Lock_Dto lk = new Document_Lock_Dto(); + lk.doc_id = model.id; + lk.lock_time = DateTime.Now; + lk.lock_user = model.username; + lk.lock_user_id = model.userid; + lk.status = 0; + lk.tenant_id = model.tenant_id; + + var db= _redisCache.Add<Document_Lock_Dto>(key,lk ,-1); + } + return msg; + } + + /// <summary> + /// 鏌ヨ椤圭洰淇℃伅 + /// </summary> + /// <param name="search"></param> + /// <returns></returns> + public async Task<IActionResult> PostProjectItemList(ProjectItemSearch search) + { + var data = await _projectService.GetListAsync();//.GetListAsync(c => c.TenantID == search.tenant_id); + if (data != null) + { + var list = data.Select(c => new ProjectItem_List_Dto() + { + pro_id=c.ProjectId, + pro_name=c.ProjectName + }).OrderBy(c => c.pro_name).ToList(); + return new JsonResult(list); + } + + return null; + } + + /// <summary> + /// 鏍规嵁鏂囨。绫诲瀷鏌ヨ鏂囨。鍒楄〃 + /// </summary> + /// <param name="search"></param> + /// <returns></returns> + public async Task<IActionResult> PostDocumentItemList(DocumentSearch search) + { + var data = await _docManageService.GetListAsync(c => c.is_del == false && c.doc_code == search.Code && c.tenant_code == search.TenantID); + if (search.class_id > 0) + { + data = data.Where(c => c.classification_id == search.class_id).ToList(); + } + + return new JsonResult(data.Select(c => new { name= c.doc_name, c.id }).ToList()); } /// <summary> @@ -35,7 +113,22 @@ public async Task<bool> CheckNameDuplicate(Document_Submit_Dto model) { var msg = false; - var ck =await _docManageService.GetFirstAsync(c=>c.doc_name==model.name && c.doc_code==model.code && c.classification_id==model.class_id && c.id!=model.id); + Expression<Func<Doc_Info, bool>> expression = t => true; + expression = expression.And(c => c.tenant_code == model.tenant_id && c.doc_name == model.name && c.doc_code == model.code ); + if (model.class_id.HasValue && model.class_id!=0) + { + expression = expression.And(t => t.classification_id == model.class_id); + } + if (model.project_id.HasValue && model.project_id != 0) + { + expression = expression.And(t => t.project_id == model.project_id); + } + + if (model.id > 0) + { + expression = expression.And(t => t.id != model.id); + } + var ck =await _docManageService.GetFirstAsync(expression); if (ck != null) { msg = true; @@ -56,7 +149,7 @@ { Expression<Func<Doc_Info, bool>> expression = t => true; - expression = expression.And(t => t.doc_code == page.Code && t.is_del==false); + expression = expression.And(t =>t.tenant_code==page.TenantID && t.doc_code == page.Code && t.is_del==false); if (page.ClassCode.HasValue) { expression = expression.And(t => t.classification_id == page.ClassCode); @@ -77,7 +170,9 @@ var data = await _docManageService.Context.Queryable<Doc_Info>() .Includes(c => c.DocClassification) .Includes(c=>c.DocOrganization) + .Includes(c=>c.DocProject) .Where(expression) + .OrderByDescending(c=>c.id) .ToPageListAsync(page.PageIndex, page.PageSize, total); if (data != null && total > 0) @@ -90,9 +185,9 @@ doc_name = c.doc_name, id = c.id, org_id = c.org_id, - org_name = c.DocOrganization.UnitName, + org_name = c.DocOrganization?.UnitName, project_id = c.project_id, - project_name = "", + project_name = c.DocProject?.ProjectName, status = c.status }).ToList(); @@ -107,6 +202,24 @@ } return new JsonResult(result); + } + + /// <summary> + /// 鏍规嵁鏂囨。鍙锋煡璇� + /// </summary> + /// <param name="search"></param> + /// <returns></returns> + public async Task<IActionResult> PostDocumentInfo(DocumentSearch search) + { + var data = await _docManageService.GetFirstAsync(c => c.is_del == false && c.id == search.ID && c.tenant_code==search.TenantID); + if (data != null) + { + var list = await _fileManageService.GetListAsync(c =>c.status==1 && c.doc_id == search.ID); + Document_Info_Dto info = new Document_Info_Dto(data, list.Select(c => new FileInfo_List_Dto(c)).OrderBy(c => c.sort).ToList()); + return new JsonResult(info); + } + + return null; } /// <summary> @@ -131,9 +244,9 @@ var id =await _docManageService.InsertReturnIdentityAsync(doc); if (id > 0) { - if(info.files!=null&& info.files.Count > 0) + if(info.newfiles!=null&& info.newfiles.Count > 0) { - foreach (var item in info.files) + foreach (var item in info.newfiles) { File_Info file = new File_Info(); file.doc_id = id; @@ -148,6 +261,7 @@ file.uptime = DateTime.Now; file.up_userid = item.up_userid; file.up_username = item.up_username; + file.sort = item.sort; await _fileManageService.InsertAsync(file); } } @@ -156,45 +270,90 @@ return msg; } - - - - - /// <summary> - /// 鏍规嵁绫诲瀷鏌ヨ鏁版嵁 - /// </summary> - /// <param name="page"></param> - /// <returns></returns> - public async Task<IActionResult> PostItemList(DocClassificationSearch page) - { - var data = await _classificationService.GetListAsync(c => c.status == 1 && c.parent_code == page.Code); - return new JsonResult(data); - } - - /// <summary> /// 淇敼鏁版嵁 /// </summary> /// <param name="info"></param> /// <returns></returns> - public async Task<IActionResult> PostEdtInfo(Classification_Submit_Dto info) + public async Task<bool> PostEdtDocumentInfo(Document_Submit_Dto info) { - var msg = false; - var model = await _classificationService.GetByIdAsync(info.id); - if (model != null) - { - model.add_time = DateTime.Now; - model.doc_classification = info.name; - model.status = info.status; + bool msg = false; - msg = await _classificationService.UpdateAsync(model); + var doc= _docManageService.GetById(info.id); + if (info.tenant_id == doc.tenant_code && doc.is_del==false) + { + doc.add_time = DateTime.Now; + doc.classification_id = info.class_id; + doc.doc_name = info.name; + doc.org_id = info.org_id; + doc.status = info.status; + + if (await _docManageService.UpdateAsync(doc)) + { + //鏂版彁浜ょ殑鏂囦欢 + if (info.newfiles != null && info.newfiles.Count > 0) + { + foreach (var item in info.newfiles) + { + File_Info file = new File_Info(); + file.doc_id = doc.id; + file.filenewname = item.filenewname.Length > 40 ? item.filenewname.Substring(item.filenewname.Length - 40) : item.filenewname; + file.fileoldname = item.fileoldname.Length > 40 ? item.fileoldname.Substring(item.fileoldname.Length - 40) : item.fileoldname; + file.filepath = item.filepath; + file.fileservername = item.fileservername; + file.filesize = item.filesize; + file.filetype = item.filetype; + file.status = 1; + file.suffix = item.suffix; + file.uptime = DateTime.Now; + file.up_userid = item.up_userid; + file.up_username = item.up_username; + file.sort = item.sort; + await _fileManageService.InsertAsync(file); + } + } + + //淇敼璧勬簮鍚嶇О鐨勬枃浠� + if (info.editfiles != null && info.editfiles.Count > 0) + { + foreach (var item in info.editfiles) + { + var file= _fileManageService.GetById(item.id); + if (file != null && file.doc_id==doc.id) + { + file.fileoldname = file.filenewname; + file.filenewname = item.filenewname.Length > 40 ? item.filenewname.Substring(item.filenewname.Length - 40) : item.filenewname; + file.uptime = DateTime.Now; + file.sort = item.sort; + await _fileManageService.UpdateAsync(file); + } + } + } + + //鍒犻櫎璧勬簮 + if (info.delfiles != null && info.delfiles.Count > 0) + { + foreach (var item in info.delfiles) + { + var file = _fileManageService.GetById(item); + if (file != null && file.doc_id == doc.id) + { + file.status = 0; + file.uptime = DateTime.Now; + await _fileManageService.UpdateAsync(file); + } + } + } + + msg = true; + } } - return new JsonResult(msg); + return msg; } /// <summary> - /// 鍒犻櫎鏁版嵁 + /// 鍒犻櫎鏂囨。鏁版嵁 /// </summary> /// <param name="doc"></param> /// <returns></returns> @@ -214,69 +373,131 @@ return new JsonResult(msg); } + #region 鏂囨。鐨勬枃浠� + /// <summary> + /// 鏍规嵁鏂囨。鍙锋煡璇㈡枃浠舵暟鎹� + /// </summary> + /// <param name="id"></param> + /// <returns></returns> + public async Task<IActionResult> GetDocumentFilesList(int id) + { + var data = await _fileManageService.GetListAsync(c => c.status == 1 && c.doc_id == id); + var list = data.Select(c => new FileInfo_List_Dto(c)).OrderBy(c => c.sort).ToList(); + + return new JsonResult(list); + } + + #endregion + + #region 涓氱哗绠$悊 + + /// <summary> + /// 鏍规嵁鍒嗛〉鏉′欢鏌ヨ鍒嗛〉鏁版嵁 + /// </summary> + /// <param name="page"></param> + /// <returns></returns> + public async Task<IActionResult> PostAchievementListPage(DocumentPageSearch page) + { + PageResult<Achievement_List_Dto> result = new PageResult<Achievement_List_Dto>(); + + try + { + Expression<Func<Doc_Achievement, bool>> expression = t => true; + + expression = expression.And(t => t.tenant_code == page.TenantID && t.status == 1); + if (page.ClassCode.HasValue) + { + expression = expression.And(t => t.classification_id == page.ClassCode); + } + if (!string.IsNullOrEmpty(page.Name)) + { + expression = expression.And(t => t.achievement_name.Contains(page.Name)); + } + + RefAsync<int> total = 0; + var data = await _achievementService.Context.Queryable<Doc_Achievement>() + .Includes(c => c.DocClassification) + .Includes(c => c.DocProject) + .Where(expression) + .OrderByDescending(c => c.id) + .ToPageListAsync(page.PageIndex, page.PageSize, total); + + if (data != null && total > 0) + { + result.Items = data.Select(c => new Achievement_List_Dto() + { + add_time = c.add_time, + class_id=c.classification_id, + class_name = c.DocClassification?.doc_classification, + id = c.id, + project_id = c.project_id, + project_name = c.DocProject?.ProjectName, + fkpz=c.fkpz_url, + hjzs=c.hjzs_url, + ht=c.ht_url, + yhpj=c.yhpj_url, + ysbg=c.ysbg_url, + zbtzs=c.zbtzs_url, + status = c.status + }).ToList(); + + } + result.PageIndex = page.PageIndex; + result.PageSize = page.PageSize; + result.TotalCount = total; + } + catch (Exception er) + { + Log.Error(er.Message, er); + } + + return new JsonResult(result); + } + + /// <summary> + /// 妫�鏌ラ噸澶� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public async Task<bool> CheckDocAchievementDuplicate(Document_Submit_Dto model) + { + var msg = false; + var ck = await _achievementService.GetFirstAsync(c=>c.status==1 && c.tenant_code==model.tenant_id + && c.project_id==model.project_id && c.classification_id==c.classification_id); + if (ck != null) + { + msg = true; + } + return msg; + } /// <summary> /// 娣诲姞鏁版嵁 /// </summary> /// <param name="info"></param> /// <returns></returns> - public async Task<IActionResult> PostAddFilesInfo(Classification_Submit_Dto info) + public async Task<bool> PostAddDocAchievement(Achievement_Submit_Dto info) { - Doc_Classification doc = new Doc_Classification(); + Doc_Achievement doc = new Doc_Achievement(); doc.add_time = DateTime.Now; - doc.doc_classification = info.name; - doc.doc_classification_code = ""; - doc.is_system = false; - doc.parent_code = info.code; - doc.sort_id = 99; - doc.status = info.status; + doc.classification_id = info.class_id; + doc.project_id = info.project_id; + doc.achievement_name = info.name; + + doc.fkpz_url = info.fkpz; + doc.hjzs_url = info.hjzs; + doc.ht_url = info.ht; + doc.yhpj_url = info.yhpj; + doc.ysbg_url = info.ysbg; + doc.zbtzs_url = info.zbtzs; + + doc.status = 1; doc.tenant_code = info.tenant_id; - var msg = await _classificationService.InsertAsync(doc); - return new JsonResult(msg); + return await _achievementService.InsertAsync(doc); } - /// <summary> - /// 淇敼鏁版嵁 - /// </summary> - /// <param name="info"></param> - /// <returns></returns> - public async Task<IActionResult> PostEdtFileInfo(Classification_Submit_Dto info) - { - var msg = false; - var model = await _classificationService.GetByIdAsync(info.id); - if (model != null) - { - model.add_time = DateTime.Now; - model.doc_classification = info.name; - model.status = info.status; - - msg = await _classificationService.UpdateAsync(model); - } - - return new JsonResult(msg); - } - - /// <summary> - /// 鍒犻櫎鏁版嵁 - /// </summary> - /// <param name="doc"></param> - /// <returns></returns> - public async Task<IActionResult> PostDelFileInfo(Document_Submit_Dto doc) - { - bool msg = false; - //鍋囧垹闄� - var model = await _docManageService.GetByIdAsync(doc.id); - if (model != null) - { - if (model.tenant_code == doc.tenant_id && !model.is_del) - { - model.is_del = true; - msg = await _docManageService.UpdateAsync(model); - } - } - return new JsonResult(msg); - } + #endregion } } diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs new file mode 100644 index 0000000..8e955cd --- /dev/null +++ b/DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs @@ -0,0 +1,81 @@ +锘縩amespace DocumentServiceAPI.Application.DocManage.Dtos +{ + /// <summary> + /// 涓氱哗璧勬枡鎻愪氦 + /// </summary> + public class Achievement_Submit_Dto + { + public int id { get; set; } + + /// <summary> + /// 鍒嗙被id + /// </summary> + public int class_id { get; set; } + public string name { get; set; } + + public int tenant_id { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public int project_id { get; set; } + + public string zbtzs { get; set; } + + public string ht { get; set; } + + public string ysbg { get; set; } + + public string fkpz { get; set; } + + public string yhpj { get; set; } + + public string hjzs { get; set; } + } + + public class Achievement_List_Dto + { + /// <summary> + /// 娣诲姞/鏇存柊鏃堕棿 + /// </summary> + public DateTime add_time { get; set; } + + /// <summary> + /// 鐘舵�� + /// </summary> + public int status { get; set; } + + public int id { get; set; } + + /// <summary> + /// 褰掑睘鍒嗙被锛堝瓙绫诲瀷锛� + /// </summary> + public int? class_id { get; set; } + + public string class_name { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public string doc_name { get; set; } + + /// <summary> + /// 椤圭洰id + /// </summary> + public int? project_id { get; set; } + + public string project_name { get; set; } + + public string zbtzs { get; set; } + + public string ht { get; set; } + + public string ysbg { get; set; } + + public string fkpz { get; set; } + + public string yhpj { get; set; } + + public string hjzs { get; set; } + } +} diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs index 28b486c..878be55 100644 --- a/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs +++ b/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs @@ -13,6 +13,7 @@ /// </summary> public string code { get; set; } + public int sort { get; set; } public int status { get; set; } } } diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs index 4d84e43..ad86c15 100644 --- a/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs +++ b/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs @@ -63,7 +63,7 @@ /// <summary> /// 鍒嗙被id /// </summary> - public int class_id { get; set; } + public int? class_id { get; set; } public string name { get; set; } /// <summary> @@ -74,11 +74,61 @@ /// <summary> /// 鎶曟爣鍗曚綅 /// </summary> + public int? org_id { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public int? project_id { get; set; } + + public int status { get; set; } + + public List<DocumentFile_Submit_Dto> newfiles { get; set; } + + public List<DocumentFile_Submit_Dto> editfiles { get; set; } + + public List<int> delfiles { get; set; } + } + + /// <summary> + /// 鏌ヨ鏂囨。淇℃伅 + /// </summary> + public class Document_Info_Dto + { + public Document_Info_Dto() { } + + public Document_Info_Dto(Doc_Info doc,List<FileInfo_List_Dto> filelist) + { + this.id = doc.id; + if (doc.classification_id.HasValue) + { + this.class_id = doc.classification_id.Value; + } + this.name = doc.doc_name; + if (doc.org_id.HasValue) + { + this.org_id = doc.org_id.Value; + } + this.status = doc.status; + this.files = filelist; + } + + public int id { get; set; } + + /// <summary> + /// 鍒嗙被id + /// </summary> + public int class_id { get; set; } + public string name { get; set; } + + /// <summary> + /// 鎶曟爣鍗曚綅 + /// </summary> public int org_id { get; set; } public int status { get; set; } - public List<DocumentFile_Submit_Dto> files { get; set; } + public List<FileInfo_List_Dto> files { get; set; } } /// <summary> @@ -86,6 +136,7 @@ /// </summary> public class DocumentFile_Submit_Dto { + public int id { get; set; } /// <summary> /// 鍘熸枃浠跺悕绉� /// </summary> @@ -133,5 +184,7 @@ public string filepath { get; set; } + public int sort { get; set; } + } } diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Document_Lock_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Document_Lock_Dto.cs new file mode 100644 index 0000000..ea141f5 --- /dev/null +++ b/DocumentServiceAPI.Application/DocManage/Dtos/Document_Lock_Dto.cs @@ -0,0 +1,48 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DocumentServiceAPI.Application.DocManage.Dtos +{ + public class Document_Lock_Dto + { + /// <summary> + /// 鏂囨。id + /// </summary> + public int doc_id { get; set; } + + public int lock_user_id { get; set; } + + public string lock_user { get; set; } + + public DateTime lock_time { get; set; } + + public DateTime? release_time { get; set; } + public int tenant_id { get; set; } + + public int status { get; set; } + } + + /// <summary> + /// 鎻愪氦淇℃伅 + /// </summary> + public class DocLock_Submit_Dto + { + public int id { get; set; } + + /// <summary> + /// 浜哄憳 + /// </summary> + public int userid { get; set; } + + /// <summary> + /// 浜哄憳 + /// </summary> + public string username { get; set; } + + public int tenant_id { get; set; } + + } +} diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs new file mode 100644 index 0000000..e4b3614 --- /dev/null +++ b/DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs @@ -0,0 +1,42 @@ +锘縰sing DocumentServiceAPI.Model.cyDocumentModel; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DocumentServiceAPI.Application.DocManage.Dtos +{ + public class FileInfo_List_Dto + { + public FileInfo_List_Dto() + { + } + + public FileInfo_List_Dto(File_Info file) + { + this.id = file.id; + this.fileOldName = file.fileoldname; + this.fileNewName = file.filenewname; + this.filePath = file.filepath; + this.isChange = false; + this.filesize = file.filesize; + this.sort = file.sort; + this.suffix = file.suffix; + } + + public int id { get; set; } + public string fileOldName { get; set; } + public string fileNewName { get; set; } + public string filePath { get; set; } + public bool isChange { get; set; } + + public long filesize { get; set; } + public int sort { get; set; } + + /// <summary> + /// 鎵╁睍鍚� + /// </summary> + public string suffix { get; set; } + } +} diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Project_List_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Project_List_Dto.cs new file mode 100644 index 0000000..f04b696 --- /dev/null +++ b/DocumentServiceAPI.Application/DocManage/Dtos/Project_List_Dto.cs @@ -0,0 +1,34 @@ +锘縩amespace DocumentServiceAPI.Application.DocManage.Dtos +{ + /// <summary> + /// 椤圭洰鍒楄〃淇℃伅 + /// </summary> + public class ProjectItem_List_Dto + { + /// <summary> + /// 椤圭洰id + /// </summary> + public int pro_id { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public string pro_name { get; set; } + } + + /// <summary> + /// 椤圭洰鏌ヨ鏉′欢 + /// </summary> + public class ProjectItemSearch + { + /// <summary> + /// 绉熸埛 + /// </summary> + public int tenant_id { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + public int org_id { get; set; } + } +} diff --git a/DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs b/DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs new file mode 100644 index 0000000..ef557fa --- /dev/null +++ b/DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs @@ -0,0 +1,9 @@ +锘縰sing DocumentServiceAPI.Core; +using DocumentServiceAPI.Model.cyDocumentModel; + +namespace DocumentServiceAPI.Application.DocManage.Services +{ + public class DocAchievementService : BaseRepository<Doc_Achievement>, ITransient + { + } +} diff --git a/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs b/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs index e7cacd4..22fc21f 100644 --- a/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs +++ b/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs @@ -37,11 +37,17 @@ public class DocumentSearch : BaseSearch { + /// <summary> /// 鍒嗙被浠g爜 /// </summary> public string Code { get; set; } + /// <summary> + /// 浜岀骇鍒嗙被 + /// </summary> + public int class_id { get; set; } + } /// <summary> diff --git a/DocumentServiceAPI.Application/DocManage/Services/ProjectManageService.cs b/DocumentServiceAPI.Application/DocManage/Services/ProjectManageService.cs new file mode 100644 index 0000000..5c7cea3 --- /dev/null +++ b/DocumentServiceAPI.Application/DocManage/Services/ProjectManageService.cs @@ -0,0 +1,12 @@ +锘縰sing DocumentServiceAPI.Core; +using DocumentServiceAPI.Model.cyDocumentModel; + +namespace DocumentServiceAPI.Application.DocManage.Services +{ + /// <summary> + /// 椤圭洰鏌ヨ绫� + /// </summary> + public class ProjectManageService : BaseRepository<Document_ProjectInfo>, ITransient + { + } +} diff --git a/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml b/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml deleted file mode 100644 index be1cf10..0000000 --- a/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml +++ /dev/null @@ -1,1863 +0,0 @@ -<?xml version="1.0"?> -<doc> - <assembly> - <name>DocumentServiceAPI.Application</name> - </assembly> - <members> - <member name="T:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService"> - <summary> - 璧勬枡鍒嗙被绠$悊 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.GetInfo(System.Int32)"> - <summary> - 鏍规嵁ID鏌ヨ瀵硅薄 - </summary> - <param name="id"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostListPage(DocumentServiceAPI.Application.DocManage.Services.DocClassificationPageSearch)"> - <summary> - 鏍规嵁鍒嗛〉鏉′欢鏌ヨ鍒嗛〉鏁版嵁 - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostItemList(DocumentServiceAPI.Application.DocManage.Services.DocClassificationSearch)"> - <summary> - 鏍规嵁绫诲瀷鏌ヨ鏁版嵁 - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostAddInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)"> - <summary> - 娣诲姞鏁版嵁 - </summary> - <param name="info"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostEdtInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)"> - <summary> - 淇敼鏁版嵁 - </summary> - <param name="info"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostDelInfo(System.Int32)"> - <summary> - 鍒犻櫎鏁版嵁 - </summary> - <param name="id"></param> - <returns></returns> - </member> - <member name="T:DocumentServiceAPI.Application.DocManage.DocumentManageAppService"> - <summary> - 璧勬枡绠$悊 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.CheckNameDuplicate(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)"> - <summary> - 妫�鏌ュ悕绉伴噸澶� - </summary> - <param name="model"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostListPage(DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch)"> - <summary> - 鏍规嵁鍒嗛〉鏉′欢鏌ヨ鍒嗛〉鏁版嵁 - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostAddDocumentInfo(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)"> - <summary> - 娣诲姞鏁版嵁 - </summary> - <param name="info"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostItemList(DocumentServiceAPI.Application.DocManage.Services.DocClassificationSearch)"> - <summary> - 鏍规嵁绫诲瀷鏌ヨ鏁版嵁 - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostEdtInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)"> - <summary> - 淇敼鏁版嵁 - </summary> - <param name="info"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostDelInfo(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)"> - <summary> - 鍒犻櫎鏁版嵁 - </summary> - <param name="doc"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostAddFilesInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)"> - <summary> - 娣诲姞鏁版嵁 - </summary> - <param name="info"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostEdtFileInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)"> - <summary> - 淇敼鏁版嵁 - </summary> - <param name="info"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostDelFileInfo(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)"> - <summary> - 鍒犻櫎鏁版嵁 - </summary> - <param name="doc"></param> - <returns></returns> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto.code"> - <summary> - 鐖剁骇缂栫爜 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto"> - <summary> - 鏂囨。淇℃伅 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.add_time"> - <summary> - 娣诲姞/鏇存柊鏃堕棿 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.status"> - <summary> - 鐘舵�� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.class_id"> - <summary> - 褰掑睘鍒嗙被锛堝瓙绫诲瀷锛� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.doc_name"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.org_id"> - <summary> - 鍗曚綅ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.project_id"> - <summary> - 椤圭洰id - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto"> - <summary> - 鎻愪氦鏂囨。淇℃伅 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto.class_id"> - <summary> - 鍒嗙被id - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto.code"> - <summary> - 鏂囨。缂栫爜 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto.org_id"> - <summary> - 鎶曟爣鍗曚綅 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto"> - <summary> - 鎻愪氦鏂囦欢淇℃伅 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.fileoldname"> - <summary> - 鍘熸枃浠跺悕绉� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.filenewname"> - <summary> - 鏂板悕绉� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.fileservername"> - <summary> - 淇濆瓨鏂囦欢鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.filesize"> - <summary> - 鏂囦欢澶у皬锛堝瓧鑺傦級 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.suffix"> - <summary> - 鍚庣紑鍚� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.doc_id"> - <summary> - 鏂囨。ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.filetype"> - <summary> - 鏂囦欢绫诲瀷 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.up_userid"> - <summary> - 涓婁紶浜哄憳 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.up_username"> - <summary> - 涓婁紶浜哄憳 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocClassificationPageSearch.Code"> - <summary> - 鍒嗙被浠g爜 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocClassificationPageSearch.Status"> - <summary> - 鐘舵�� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocClassificationSearch.Code"> - <summary> - 鍒嗙被浠g爜 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.DocManage.Services.DocClassificationService"> - <summary> - 鏂囨。鍒嗙被 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch"> - <summary> - 鏂囨。鍒嗛〉鏌ヨ鏉′欢 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.Code"> - <summary> - 鍒嗙被浠g爜 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.ClassCode"> - <summary> - 绫诲埆ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.Name"> - <summary> - 鏂囨。鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.OrganizationCode"> - <summary> - 鍗曚綅ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.Status"> - <summary> - 鐘舵�� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentSearch.Code"> - <summary> - 鍒嗙被浠g爜 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.DocManage.Services.DocumentManageService"> - <summary> - 鏂囨。绠$悊 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.DocManage.Services.FileManageService"> - <summary> - 鏂囦欢绠$悊 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController"> - <summary> - 鐧诲綍鎺у埗鍣� - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.InProjectInfo(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO)"> - <summary> - 鍒涘缓椤圭洰 - </summary> - <param name="dw"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetIsExistProject(System.String,System.String)"> - <summary> - 椤圭洰鏄惁瀛樺湪 - </summary> - <param name="ProjectName"></param> - <param name="ProjectCode"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.ProjectInfoByUrl(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectInfo)"> - <summary> - 鏍规嵁url鑾峰彇缃戦〉鍐呭 - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.postProjectInfoList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)"> - <summary> - 鑾峰彇椤圭洰鍒楄〃 - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.DelProjectInfoByIds(System.Collections.Generic.List{System.Int32})"> - <summary> - 鍒犻櫎椤圭洰鍒楄〃 - </summary> - <param name="projectIdList"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectInfo(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰璇︽儏 - <param name="ID"></param> - <param name="TenantID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectExpand(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰ProjectExpand - <param name="ID"></param> - <param name="UnitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocument_WinInfo(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetDocument_WinInfo - <param name="ID"></param> - <param name="UnitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocument_AdviseInfo(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetDocument_AdviseInfo - <param name="ID"></param> - <param name="UnitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectOppugnInfo(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetProjectOppugnInfo - <param name="ID"></param> - <param name="UnitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectComplainInfo(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetProjectComplainInfo - <param name="ID"></param> - <param name="UnitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectReviewInfo(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetProjectReviewInfo - <param name="ID"></param> - <param name="UnitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectLitigationInfo(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetProjectLitigationInfo - <param name="ID"></param> - <param name="UnitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetOtherCompanyTenderInfoList(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetOtherCompanyTenderInfoList - <param name="ID"></param> - <param name="TenantID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveProjectInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectInfo)"> - <summary> - 淇敼椤圭洰 - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentWinInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_WinInfo)"> - <summary> - 淇敼椤圭洰SaveDocumentWinInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectExpand(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectExpand)"> - <summary> - 淇敼椤圭洰SaveDocumentProjectExpand - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetOtherCompanyTenderInfo(System.Int32,System.String)"> - <summary> - 鑾峰彇椤圭洰GetOtherCompanyTenderInfo - <param name="ID"></param> - <param name="companyName"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDelOtherCompanyTenderInfo(System.Int32)"> - <summary> - 鍒犻櫎椤圭洰DelOtherCompanyTenderInfo - </summary> - <param name="Id"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveOtherCompanyTenderInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_OtherCompanyTenderInfo)"> - <summary> - 淇敼椤圭洰SaveOtherCompanyTenderInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetTenderUnit(System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetTenderUnit - <param name="ID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocument_EmployeeInfoByName(System.String)"> - <summary> - 鑾峰彇鍗曚釜鍛樺伐锛屾牴鎹甧mployeeId - <param name="EmployeeName"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocument_EmployeeInfoInfo(System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetDocument_EmployeeInfoInfo - <param name="ID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetAptitudeInfoByUnitId(System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetAptitudeInfoByName - <param name="aptitudeName"></param> - <param name="UnitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDeleteDocumentModel(System.Int32,System.Int32)"> - <summary> - 鍒犻櫎椤圭洰GetDeleteDocumentModel - </summary> - <param name="projectId"></param> - <param name="unitId"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectDocumentInfo(System.Int32,System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetProjectDocumentInfo - <param name="projectId"></param> - <param name="unitId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.postDocumentList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)"> - <summary> - 鑾峰彇鏍囦功鍒楄〃postDocumentList - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectDocumentInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectDocumentInfo)"> - <summary> - 淇敼椤圭洰SaveDocumentProjectDocumentInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDelegatePersonInfo(System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetDelegatePersonInfo - <param name="ID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectOppugnInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectOppugnInfo)"> - <summary> - 淇敼椤圭洰SaveDocumentProjectOppugnInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetAllDelegatePerson"> - <summary> - 鑾峰彇椤圭洰GetAllDelegatePerson - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectComplainInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectComplainInfo)"> - <summary> - 淇敼椤圭洰SaveDocumentProjectComplainInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectReviewInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectReviewInfo)"> - <summary> - 淇敼椤圭洰SaveDocumentProjectReviewInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetPreUnit(System.String)"> - <summary> - 鏌ヨ椤圭洰GetPreUnit - </summary> - <param name="childName"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectLitigationInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectLitigationInfo)"> - <summary> - 淇敼椤圭洰SaveDocumentProjectLitigationInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentAdviseInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_AdviseInfo)"> - <summary> - 淇敼椤圭洰SaveDocumentAdviseInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetTempletModel(System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetTempletModel - <param name="templetId"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentTempletList"> - <summary> - 鑾峰彇椤圭洰GetDocumentTempletList - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.postDocumentZhaobiaoFileList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)"> - <summary> - 鑾峰彇鎷涙爣鏂囦欢鍒楄〃postDocumentZhaobiaoFileList - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentZhaobiaoFileInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ZhaobiaoFile)"> - <summary> - 淇敼鎷涙爣鏂囦欢SaveDocumentZhaobiaoFileInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDeleteDocumentZhaobiaoFile(System.Int32)"> - <summary> - 鍒犻櫎椤圭洰GetDeleteDocumentZhaobiaoFile - </summary> - <param name="ID"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentZhaobiaoFileInfo(System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetDocumentZhaobiaoFileInfo - <param name="ID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.postDocumentTBXYFileList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)"> - <summary> - 鑾峰彇鍝嶅簲鏂囦欢鍒楄〃postDocumentTBXYFileList - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentTBXYFileInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_TBXYFile)"> - <summary> - 淇敼鍝嶅簲鏂囦欢SaveDocumentTBXYFileInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDeleteDocumentTBXYFile(System.Int32)"> - <summary> - 鍒犻櫎鍝嶅簲鏂囦欢GetDeleteDocumentTBXYFile - </summary> - <param name="ID"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentTBXYFileInfo(System.Int32)"> - <summary> - 鑾峰彇鍝嶅簲鏂囦欢GetDocumentTBXYFileInfo - <param name="ID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentTBXYFileList(System.Int32,System.Int32)"> - <summary> - 鑾峰彇鍝嶅簲鏂囦欢GetDocumentTBXYFileInfo - <param name="ID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentTBXYFileByFileName(System.Int32,System.Int32,System.String)"> - <summary> - 鑾峰彇鍝嶅簲鏂囦欢GetDocumentTBXYFileInfo - <param name="ID"></param> - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocInfo(DocumentServiceAPI.Model.cyDocumentModel.Doc_Info)"> - <summary> - 淇敼鍝嶅簲鏂囦欢SaveDocumentTBXYFileInfo - </summary> - <param name="dp"></param> - <returns>int</returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveFileInfo(DocumentServiceAPI.Model.cyDocumentModel.File_Info)"> - <summary> - 淇敼鍝嶅簲鏂囦欢SaveDocumentTBXYFileInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.Services.ProjectInfoService.GetJwtInfo"> - <summary> - 鑾峰彇Jwt鐩稿叧淇℃伅 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.Services.SheZhiService.GetJwtInfo"> - <summary> - 鑾峰彇Jwt鐩稿叧淇℃伅 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.ProjectInfo.SheZhiController"> - <summary> - 鐧诲綍鎺у埗鍣� - </summary> - </member> - <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.postDelegatePersonList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)" --> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDelDocumentDelegatePersonInfo(System.Int32)"> - <summary> - 鍒犻櫎椤圭洰GetDelDocumentDelegatePersonInfo - </summary> - <param name="Id"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.SaveDocumentDelegatePersonInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_DelegatePersonInfo)"> - <summary> - 淇敼椤圭洰SaveDocumentDelegatePersonInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentDelegatePersonInfo(System.Int32)"> - <summary> - 鑾峰彇椤圭洰GetDocumentDelegatePersonInfo - <param name="ID"></param> - </summary> - </member> - <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.postDocumentTenderUnitList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)" --> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.SaveDocumentTenderUnitInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_TenderUnit)"> - <summary> - 淇敼鍏徃SaveDocumentTenderUnitInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentTenderUnitInfo(System.Int32)"> - <summary> - 鑾峰彇鍏徃GetDocumentTenderUnitInfo - <param name="ID"></param> - </summary> - </member> - <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.postDocumentEmployeeInfoList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)" --> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDelDocumentEmployeeInfoInfo(System.Int32)"> - <summary> - 鍒犻櫎鍛樺伐GetDelDocumentEmployeeInfoInfo - </summary> - <param name="ID"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.SaveDocumentEmployeeInfoInfo(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO)"> - <summary> - 淇敼鍛樺伐SaveDocumentEmployeeInfoInfo - </summary> - <param name="dp"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentEmployeeInfoInfo(System.Int32)"> - <summary> - 鑾峰彇鍛樺伐GetDocumentEmployeeInfoInfo - <param name="ID"></param> - </summary> - </member> - <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentEmployeeInfoByName(System.String)" --> - <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentEmployeeInfoByLoginName(System.String)" --> - <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.postDocumentPerformanceInfoListByPaper(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)" --> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.EmployeeId"> - <summary> - 鍛樺伐ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.EmployeeName"> - <summary> - 鍛樺伐鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.Job"> - <summary> - 宸ヤ綔鑱屼綅 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.Phone"> - <summary> - 鐢佃瘽 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.IsWork"> - <summary> - 鏄惁鍦ㄥ伐浣� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.LeaveTime"> - <summary> - 绂诲紑鏃堕棿 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.CardPositive"> - <summary> - 璇佷欢姝i潰 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.CardPositiveVersionNo"> - <summary> - 璇佷欢姝i潰鐗堟湰鍙� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.CardPositiveSize"> - <summary> - 璇佷欢姝i潰澶у皬 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.LastUpdateTime"> - <summary> - 鏈�鍚庢洿鏂版椂闂� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.LastUpdateName"> - <summary> - 鏈�鍚庢洿鏂颁汉 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.UserName"> - <summary> - 鐢ㄦ埛鍚� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.UserPassWord"> - <summary> - 鐢ㄦ埛瀵嗙爜 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.LoginTime"> - <summary> - 鐧诲綍鏃堕棿 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.IsLogin"> - <summary> - 鏄惁鐧诲綍 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.AdviseFlag"> - <summary> - 寤鸿鏍囧織 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.UserId"> - <summary> - 鐢ㄦ埛ID - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch"> - <summary> - 椤圭洰鎼滅储 鍙傛暟 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectId"> - <summary> - Desc: - Default: - Nullable:False - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectName"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectCode"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectStatus"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.Province"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.City"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.County"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.NoticeType"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseMethod"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ReleaseTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.OpinionEndTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.FeedbackUnit"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ReportUnit"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.SignupStartTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.DocumentUpdateTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.SignupEndTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.SignupMethod"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.SignupFee"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.TenderDeposit"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PayMethod"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.TenderTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyUnit"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyManager"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyPhone"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyAddress"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyZipCode"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyFax"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseUnit"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseManager"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchasePhone"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseAddress"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseZipCode"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseFax"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendanceUnit"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendancePerson"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendancePhone"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendanceAddress"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendanceZipCode"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendanceFax"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.Bidbond"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IsTenderDepositRemind"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PackageNum"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.CgwjTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.TenantID"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectUrl"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.GongGaoTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProvinceId"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.CityId"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.CountyId"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.Repository.EmployeeRepository"> - <summary> - 鍛樺伐璇诲彇 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.Repository.ProjectInfoRepository"> - <summary> - 椤圭洰淇℃伅 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.Repository.WorkRemindRepository"> - <summary> - 鍛樺伐鎻愰啋 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.System.OrganizationAppService.GetOrgItemList(System.Int32)"> - <summary> - 鏌ヨ鍏徃Item鏁版嵁 - </summary> - <param name="code">绉熸埛id</param> - <returns></returns> - </member> - <member name="T:DocumentServiceAPI.Application.System.Services.OrganizationService"> - <summary> - 鎶曟爣鍗曚綅鎿嶄綔绫� - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.SystemAppService"> - <summary> - 绯荤粺鏈嶅姟鎺ュ彛 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.LogInController"> - <summary> - 鐧诲綍鎺у埗鍣� - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.LogoIn(DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN)"> - <summary> - 鐧诲綍 1 杈撳叆鍛樺伐璐︽埛鎴栬�呯鎴疯处鎴凤紝2 閫夋嫨绉熸埛璐︽埛锛�3 閫夋嫨鍏徃 - </summary> - <returns>鐧诲綍淇℃伅</returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.GetUnitList"> - <summary> - 鑾峰彇鍏徃鍒楄〃 - </summary> - <returns>鐧诲綍淇℃伅</returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.GetTenantInfoList"> - <summary> - 鑾峰彇鍏徃鍒楄〃 - </summary> - <returns>鐧诲綍淇℃伅</returns> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService"> - <summary> - token鏈嶅姟绫� - </summary> - </member> - <member name="F:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.TokenKeys"> - <summary> - Token鏄暐 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.CreateToken(DocumentServiceAPI.Model.JwtInfo)"> - <summary> - 鏂板缓涓�涓猅Oken - </summary> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.CheckToken"> - <summary> - 鏍¢獙jwt淇℃伅鏄惁鏈夋晥锛屽垽鍐冲崟绔櫥褰曢獙璇� - </summary> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.getTokenKey(DocumentServiceAPI.Model.JwtInfo)"> - <summary> - 鑾峰彇TokenKey - </summary> - <param name="jwt"></param> - <returns></returns> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.Services.UserService"> - <summary> - 鐧诲綍楠岃瘉鏈嶅姟 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetEmployeeInfo(System.Int32,System.Int32)"> - <summary> - 鍛樺伐璇︽儏 - </summary> - <param name="ID"></param> - <param name="TenantID"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetJwtInfo"> - <summary> - 鑾峰彇Jwt鐩稿叧淇℃伅 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetUserUnitList(System.Int32)"> - <summary> - 鑾峰彇鍗曚綅鍒楄〃 - </summary> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetUserTenderList(System.String)"> - <summary> - 鏍规嵁璐﹀彿鑾峰彇 Tender 鍒楄〃 - </summary> - <param name="ItCode"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.CheckPsw(System.Int32,System.Nullable{System.Int32},System.String)"> - <summary> - 妫�鏌ュ瘑鐮佹槸鍚︾櫥褰� - </summary> - <param name="TenantID"> 绉熸埛ID</param> - <param name="employeeID">鍛樺伐ID</param> - <param name="PsW">瀵嗙爜</param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetUserInfo(System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32})"> - <summary> - 鑾峰彇鐢ㄦ埛璇︽儏锛屽寘鎷憳宸ヤ俊鎭紝绉熸埛淇℃伅锛屽崟浣嶄俊鎭� - </summary> - <param name="TenantID"> 绉熸埛ID</param> - <param name="EmployeeID">鍛樺伐ID </param> - <param name="UnitID">鍗曚綅ID</param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.postEmployeeList(DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeePageSearch)"> - <summary> - 鑾峰彇鍛樺伐鍒楄〃 - </summary> - <param name="_businessService"></param> - <param name="page"></param> - <returns></returns> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.UserInfoController"> - <summary> - 鐧诲綍鎺у埗鍣� - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.GetUserInfo"> - <summary> - 鑾峰彇鐢ㄦ埛璇︽儏 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.postEmployeeList(DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeePageSearch)"> - <summary> - 鑾峰彇鍛樺伐鍒楄〃 - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.CreateEmployee(DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM)"> - <summary> - 鍒涘缓鏂板憳宸� - </summary> - <param name="Parma"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.UpDataEmployee(DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM)"> - <summary> - 鏇存柊鍛樺伐淇℃伅 - </summary> - <param name="Parma"></param> - <returns></returns> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN"> - <summary> - 璐︽埛瀵嗙爜鐧诲綍 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.ITCode"> - <summary> - 鐧诲綍璐﹀彿 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.PassWord"> - <summary> - 瀵嗙爜 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.Key"> - <summary> - 楠岃瘉鐮乲ey - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.VerifyCoed"> - <summary> - 楠岃瘉鐮佷唬鐮� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.TenantId"> - <summary> - TenantITCode 绉熸埛ITCode - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.employeeID"> - <summary> - 鍛樺伐鐧诲綍 娉ㄦ剰 濡傛灉涓嶆槸棣栨鐧诲綍锛岃繖涓珯濂介渶瑕佹牴鎹墍閫夌殑绉熸埛鐧诲綍杩斿洖缁撴灉鏉ョ‘瀹氭槸鍚︽槸鐢ㄥ憳宸ヨ处鍙风櫥褰曪紝濡傛灉涓虹┖锛岄粯璁ゆ湭閫夋嫨绉熸埛璐﹀彿鐧诲綍 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.UnitID"> - <summary> - 鍗曚綅ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.Form"> - <summary> - 鏉ユ簮 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo"> - <summary> - 绉熸埛璇︽儏妯″瀷 - </summary> - </member> - <member name="F:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo._employeeInfo"> - <summary> - 鍛樺伐Info - </summary> - </member> - <member name="F:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo._tenantInfo"> - <summary> - 绁濈 Info - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM"> - <summary> - 鍗曚綅璇︽儏 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitID"> - <summary> - ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitName"> - <summary> - 鍗曚綅鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.Remark"> - <summary> - 鏍囨敞 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitLogo"> - <summary> - logo - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM"> - <summary> - 绉熸埛璇︽儏 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.TenderId"> - <summary> - ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.ItCode"> - <summary> - 绉熸埛鍚� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.Name"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.Description"> - <summary> - 鎻忚堪 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.EmployeeID"> - <summary> - 鍛樺伐ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.IsTender"> - <summary> - 鏄惁鏄富璐﹀彿 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM"> - <summary> - 鐧诲綍杩斿洖 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.NeedNext"> - <summary> - 闇�瑕侀噸鏂扮櫥褰� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.Units"> - <summary> - 鍏徃鍒楄〃 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.Tenants"> - <summary> - 绉熸埛鍒楄〃 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeePageSearch"> - <summary> - 鍛樺伐鎼滅储 鍙傛暟 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitInfoVM"> - <summary> - 鍗曚綅璇︽儏 - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM"> - <summary> - 绉熸埛璇︽儏 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.Id"> - <summary> - ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.ItCode"> - <summary> - 绉熸埛鍚� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.Name"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.Description"> - <summary> - 鎻忚堪 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.ReMark"> - <summary> - 鏍囨敞 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.EmployeeId"> - <summary> - 鍛樺伐ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.EmployeeName"> - <summary> - 鍛樺伐鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.Job"> - <summary> - 宸ヤ綔鑱屼綅 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.Phone"> - <summary> - 鐢佃瘽 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.IsWork"> - <summary> - 鏄惁鍦ㄥ伐浣� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.LeaveTime"> - <summary> - 绂诲紑鏃堕棿 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.CardPositive"> - <summary> - 璇佷欢姝i潰 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.CardPositiveVersionNo"> - <summary> - 璇佷欢姝i潰鐗堟湰鍙� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.CardPositiveSize"> - <summary> - 璇佷欢姝i潰澶у皬 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.LastUpdateTime"> - <summary> - 鏈�鍚庢洿鏂版椂闂� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.LastUpdateName"> - <summary> - 鏈�鍚庢洿鏂颁汉 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserName"> - <summary> - 鐢ㄦ埛鍚� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserPassWord"> - <summary> - 鐢ㄦ埛瀵嗙爜 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.LoginTime"> - <summary> - 鐧诲綍鏃堕棿 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.IsLogin"> - <summary> - 鏄惁鐧诲綍 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.AdviseFlag"> - <summary> - 寤鸿鏍囧織 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserId"> - <summary> - 鐢ㄦ埛ID - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetUserInfo"> - <summary> - 鐢ㄦ埛璇︽儏 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetUserInfo.UnitInfo"> - <summary> - 鍗曚綅淇℃伅 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetUserInfo.TenderInfo"> - <summary> - 绉熸埛淇℃伅 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetUserInfo.EmployeeInfo"> - <summary> - 鍛樺伐淇℃伅 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetWorkRemindInfo(System.Int32)"> - <summary> - 鎻愰啋璇︽儏 - </summary> - <param name="ID"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.postWorkRemindList(DocumentServiceAPI.Application.WorkRemind.ViewMode.WorkRemindPageSearch)"> - <summary> - 鑾峰彇鎻愰啋鍒楄〃 - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetUEmployeeInfoList"> - <summary> - 鑾峰彇em鍒楄〃 - </summary> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetJwtInfo"> - <summary> - 鑾峰彇Jwt鐩稿叧淇℃伅 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetDictionaryList"> - <summary> - 鏌ヨ鏁版嵁瀛楀吀 - </summary> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetCitySiteList(System.Int32)"> - <summary> - 鏌ヨ鐪佸競 - </summary> - <param name="CityLevel"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetEmployeeListByStatus(System.Int32,System.Int32)"> - <summary> - 鑾峰彇em鍒楄〃 - </summary> - <param name="isWork"></param> - <param name="Role"></param> - <returns></returns> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.EmployeeId"> - <summary> - 鍛樺伐ID - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.EmployeeName"> - <summary> - 鍛樺伐鍚嶇О - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.Job"> - <summary> - 宸ヤ綔鑱屼綅 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.Phone"> - <summary> - 鐢佃瘽 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.IsWork"> - <summary> - 鏄惁鍦ㄥ伐浣� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.LeaveTime"> - <summary> - 绂诲紑鏃堕棿 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.CardPositive"> - <summary> - 璇佷欢姝i潰 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.CardPositiveVersionNo"> - <summary> - 璇佷欢姝i潰鐗堟湰鍙� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.CardPositiveSize"> - <summary> - 璇佷欢姝i潰澶у皬 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.LastUpdateTime"> - <summary> - 鏈�鍚庢洿鏂版椂闂� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.LastUpdateName"> - <summary> - 鏈�鍚庢洿鏂颁汉 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.UserName"> - <summary> - 鐢ㄦ埛鍚� - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.UserPassWord"> - <summary> - 鐢ㄦ埛瀵嗙爜 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.LoginTime"> - <summary> - 鐧诲綍鏃堕棿 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.IsLogin"> - <summary> - 鏄惁鐧诲綍 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.AdviseFlag"> - <summary> - 寤鸿鏍囧織 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.UserId"> - <summary> - 鐢ㄦ埛ID - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.WorkRemind.ViewMode.WorkRemindPageSearch"> - <summary> - 鍛樺伐鎼滅储 鍙傛暟 - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.WorkRemindId"> - <summary> - Desc: - Default: - Nullable:False - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.ProjectName"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.ProjectId"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.WorkRemindContent"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.WorkRemindTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.LastUpTime"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.ToEmployeeId"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.CreatEmployeeId"> - <summary> - Desc: - Default: - Nullable:True - </summary> - </member> - <member name="T:DocumentServiceAPI.Application.WorkRemind.WorkRemindController"> - <summary> - 鐧诲綍鎺у埗鍣� - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetWorkRemindInfo(System.Int32)"> - <summary> - 鑾峰彇鐢ㄦ埛璇︽儏 - </summary> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.postWorkRemindList(DocumentServiceAPI.Application.WorkRemind.ViewMode.WorkRemindPageSearch)"> - <summary> - 鑾峰彇鍛樺伐鍒楄〃 - </summary> - <param name="page"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetUEmployeeInfoList"> - <summary> - 鑾峰彇鍛樺伐鍒楄〃 - </summary> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.CreateWorkRemind(DocumentServiceAPI.Model.cyDocumentModel.Document_WorkRemind)"> - <summary> - 鍒涘缓鎻愰啋 - </summary> - <param name="dw"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.UpDataWorkRemind(DocumentServiceAPI.Model.cyDocumentModel.Document_WorkRemind)"> - <summary> - 鏇存柊鎻愰啋 - </summary> - <param name="dw"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetDelDataWorkRemind(System.Int32)"> - <summary> - 鍒犻櫎鎻愰啋 - </summary> - <param name="ID"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetDictionaryList"> - <summary> - 鑾峰彇鏁版嵁瀛楀吀 - </summary> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetCitySiteList(System.Int32)"> - <summary> - 鑾峰彇鐪佸競鍘� - </summary> - <param name="CityLevel"></param> - <returns></returns> - </member> - <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetEmployeeListByStatus(System.Int32,System.Int32)"> - <summary> - 鑾峰彇鍛樺伐鍒楄〃 - </summary> - <param name="isWork"></param> - <param name="Role"></param> - <returns></returns> - </member> - </members> -</doc> diff --git a/DocumentServiceAPI.Application/UserAndLogin/LogInController.cs b/DocumentServiceAPI.Application/UserAndLogin/LogInController.cs index 3478ee1..b9c52fd 100644 --- a/DocumentServiceAPI.Application/UserAndLogin/LogInController.cs +++ b/DocumentServiceAPI.Application/UserAndLogin/LogInController.cs @@ -1,11 +1,18 @@ 锘縰sing DocumentServiceAPI.Application.UserAndLogin.Services; using DocumentServiceAPI.Application.UserAndLogin.ViewMode; +using DocumentServiceAPI.Model.cyDocumentModel; +using DocumentServiceAPI.Model.UserInfoModel; using DocumentServiceAPI.Utility; using Furion.DynamicApiController; using Furion.JsonSerialization; +using Microsoft.AspNetCore.Http; +using Microsoft.IdentityModel.Tokens; +using NetTaste; +using Newtonsoft.Json.Linq; using Swashbuckle.AspNetCore.Annotations; using System; using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -28,155 +35,193 @@ } /// <summary> /// 鐧诲綍 1 杈撳叆鍛樺伐璐︽埛鎴栬�呯鎴疯处鎴凤紝2 閫夋嫨绉熸埛璐︽埛锛�3 閫夋嫨鍏徃 + /// 褰撳瘑鐮佷负绌烘椂锛屽甫鍏ョ敤鎴蜂腑蹇僼oken鍗冲彲瀹炵幇鐧诲綍 /// </summary> /// <returns>鐧诲綍淇℃伅</returns> [HttpPost("LogoIn")] - public async Task<RetLoginVM> LogoIn (LoginPsWordIN Parma) + public async Task<RetLoginVM> LogoIn ( LoginPsWordIN Parma) { - bool needtoken=false; - if (Parma.TenantId==null) + //zctok鏍¢獙鎴愬姛鏄惁鏍囧織 + bool IsTokenPass=false; + + if(string.IsNullOrEmpty(Parma.PassWord)) { - //濡傛灉杩樻病纭畾绉熸埛ID 闇�瑕佸厛纭畾绉熸埛ID - List<TenderVM>Tender = await _userService.GetUserTenderList(Parma.ITCode); - - switch (Tender.Count) + + var Request = App.HttpContext.Request; + string stoken = Request.Headers["Authorization"]; + if (stoken == null) + throw Oops.Oh("娌℃湁杈撳叆瀵嗙爜"); + stoken = stoken.Replace("Bearer ", ""); + + var isvale = _tokenService.CheckJwt(stoken, out SecurityToken securityToken); + JwtSecurityToken jwtToken = securityToken as JwtSecurityToken; + string itcode = jwtToken.Claims.FirstOrDefault(claim => claim.Type == "sub")?.Value; + if (isvale == false) + throw Oops.Oh("鐧诲綍淇℃伅鍑洪敊"); + if(Parma.ITCode!= itcode) + throw Oops.Oh("鐢ㄦ埛鍚嶉敊璇�"); + IsTokenPass=true; + + } + + bool needtoken = false; + + if (Parma.TenantId == null) { - case 0: - throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�"); - case 1: - needtoken = await _userService.CheckPsw(Tender[0].TenderId, Tender[0].EmployeeID,Parma.PassWord); - - if(!needtoken) + //濡傛灉杩樻病纭畾绉熸埛ID 闇�瑕佸厛纭畾绉熸埛ID + List<TenderVM> Tender = await _userService.GetUserTenderList(Parma.ITCode); + + switch (Tender.Count) + { + case 0: throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�"); - - Parma.TenantId = Tender[0].TenderId; - Parma.employeeID = Tender[0].EmployeeID; - if (Parma.UnitID == null) + case 1: + if (!IsTokenPass) { - - List<UnitVM> Units = await _userService.GetUserUnitList(Parma.TenantId ?? 0); - if (Units.Count == 0) - { - //娌℃湁鍏徃 - needtoken = true; - } - else if (Units.Count == 1) - { - Parma.UnitID = Units[0].UnitID; - needtoken = true; - } - else - { - //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛 - return new RetLoginVM - { - NeedNext = true, - Units = Units, + needtoken = await _userService.CheckPsw(Tender[0].TenderId, Tender[0].EmployeeID, Parma.PassWord); - }; - } + if (!needtoken) + throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�"); } - - break; - - default: + + + Parma.TenantId = Tender[0].TenderId; + Parma.employeeID = Tender[0].EmployeeID; + if (Parma.UnitID == null) + { + + List<UnitVM> Units = await _userService.GetUserUnitList(Parma.TenantId ?? 0); + if (Units.Count == 0) + { + //娌℃湁鍏徃 + needtoken = true; + } + else if (Units.Count == 1) + { + Parma.UnitID = Units[0].UnitID; + needtoken = true; + } + else + { + //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛 + return new RetLoginVM + { + NeedNext = true, + Units = Units, + + }; + } + } + + break; + + default: + //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛 + return new RetLoginVM + { + NeedNext = true, + Tenants = Tender, + + }; + + + } + + + + + + } + else if (Parma.UnitID == null) + { + + var Units = await _userService.GetUserUnitList(Parma.TenantId ?? 0); + if (Units.Count == 0) + { + //娌℃湁鍏徃 + needtoken = true; + } + else if (Units.Count == 1) { + Parma.UnitID = Units[0].UnitID; + needtoken = true; + } + else + { //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛 return new RetLoginVM { NeedNext = true, - Tenants = Tender, + Units = Units, }; + } - } - - - - - } - else if(Parma.UnitID==null) - { - - var Units = await _userService.GetUserUnitList(Parma.TenantId??0); - if(Units.Count==0) + if (needtoken || Parma.UnitID != null) { - //娌℃湁鍏徃 - needtoken = true; - } - else if (Units.Count==1) { - Parma.UnitID= Units[0].UnitID; - needtoken = true; - } - else + + TenderVM Tender = (await _userService.GetUserTenderList(Parma.ITCode)).Where(x => x.TenderId == Parma.TenantId && x.EmployeeID == Parma.employeeID).SingleOrDefault(); + if (Tender == null) + { + throw Oops.Oh($"璐︽埛瀵嗙爜鎴栬�呯鎴烽�夋嫨閿欒"); + } + if (!IsTokenPass) { - //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛 + needtoken = await _userService.CheckPsw(Tender.TenderId, Tender.EmployeeID, Parma.PassWord); + + if (!needtoken) + throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�"); + } + var token = _tokenService.CreateToken(new Model.JwtInfo + { + EID = Tender.EmployeeID, + LogInSource = Parma.Form, + TEID = Tender.TenderId, + UID = Parma.UnitID, + }); return new RetLoginVM { - NeedNext = true, - Units = Units, + NeedNext = false, + Token = token, }; } + throw Oops.Oh($"鍙傛暟閿欒"); + + + - } - if(needtoken|| Parma.UnitID!=null) + } + + /// <summary> + /// 鏄惁鏄敤鎴风鎴凤紝鎴栬�呮槸鍛樺伐 + /// </summary> + /// <param name="ITCode">璐﹀彿</param> + /// <returns> 杩斿洖true 浠h〃鏄紝 false浠h〃涓嶆槸</returns> + [HttpGet("IDIsEmployee")] + public async Task<bool> IDIsEmployee(string ITCode, [FromServices] ISqlSugarClient db) + { + var ad= ITCode.TryValidate(ValidationTypes.PhoneNumber); + if(!ad.IsValid) { - - TenderVM Tender = (await _userService.GetUserTenderList(Parma.ITCode)).Where(x=>x.TenderId==Parma.TenantId&&x.EmployeeID==Parma.employeeID).SingleOrDefault(); - if(Tender==null) - { - throw Oops.Oh($"璐︽埛瀵嗙爜鎴栬�呯鎴烽�夋嫨閿欒"); - } - needtoken = await _userService.CheckPsw(Tender. TenderId, Tender.EmployeeID, Parma.PassWord); - - if (!needtoken) - throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�"); - var token= _tokenService.CreateToken(new Model.JwtInfo - { - EID = Tender.EmployeeID, - LogInSource = Parma.Form, - TEID = Tender.TenderId, - UID = Parma.UnitID, - }); - return new RetLoginVM - { - NeedNext = false, - Token = token, - - }; + throw Oops.Oh("璇疯緭鍏ユ纭殑璐﹀彿"); } - throw Oops.Oh($"鍙傛暟閿欒"); - + + var count= await db.Queryable<TenantInfo>().Where(x=>x.ItCode==ITCode&&x.IsEn==true&&x.IsDel==false).WithCache(600).CountAsync(); + if (count > 0) + return true; + count=await db.Queryable<Document_EmployeeInfo>().Where(x=>x.UserName==ITCode).WithCache(600).CountAsync(); + if (count > 0) + return true; + return false; } - - /// <summary> - /// 鑾峰彇鍏徃鍒楄〃 - /// </summary> - /// <returns>鐧诲綍淇℃伅</returns> - public bool GetUnitList() - { - return true; - } - /// <summary> - /// 鑾峰彇鍏徃鍒楄〃 - /// </summary> - /// <returns>鐧诲綍淇℃伅</returns> - public bool GetTenantInfoList() - { - return true; - } - public string Get() - { - return $"Hello {nameof(Furion)}"; - } } } diff --git a/DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs b/DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs index 8988879..ce8b762 100644 --- a/DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs +++ b/DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs @@ -3,10 +3,13 @@ using Furion.Authorization; using Furion.DistributedIDGenerator; using Furion.JsonSerialization; +using Furion.Logging.Extensions; +using Microsoft.IdentityModel.Tokens; using NetTaste; using SqlSugar.Extensions; using System; using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; using System.Linq; using System.Reflection; using System.Security.Claims; @@ -18,7 +21,7 @@ /// <summary> /// token鏈嶅姟绫� /// </summary> - public class TokenService: IScoped + public class TokenService : IScoped { /// <summary> /// Token鏄暐 @@ -27,7 +30,7 @@ private ISqlSugarClient _db; private UserService _UserService; private IRedisCacheService _RedisCase; - public TokenService(ISqlSugarClient db, UserService UserInfoService, IRedisCacheService RedisCase ) { + public TokenService(ISqlSugarClient db, UserService UserInfoService, IRedisCacheService RedisCase) { _db = db; _UserService = UserInfoService; _RedisCase = RedisCase; @@ -36,9 +39,9 @@ /// 鏂板缓涓�涓猅Oken /// </summary> /// <returns></returns> - public string CreateToken(JwtInfo jwt) + public string CreateToken(JwtInfo jwt) { - string TokenKey=TokenKeys+ getTokenKey(jwt); + string TokenKey = TokenKeys + getTokenKey(jwt); IDictionary<string, object> propertyDictionary = new Dictionary<string, object>(); PropertyInfo[] properties = jwt.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); @@ -51,14 +54,57 @@ propertyDictionary.Add(propertyName.ToLower(), propertyValue); } var ID = IDGen.NextID(); - jwt.JID = ID; - var token= JWTEncryption.Encrypt(propertyDictionary, App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime ?? 3600); - if(jwt.LogInSource==LogInFrom.PC) - _RedisCase.Add<string>(TokenKey, ID.ToString(), expireSeconds: (int )(App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime??3600)); + jwt.JID = ID; + var token = JWTEncryption.Encrypt(propertyDictionary, App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime ?? 3600); + if (jwt.LogInSource == LogInFrom.PC) + _RedisCase.Add<string>(TokenKey, ID.ToString(), expireSeconds: (int)(App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime ?? 3600)); return token; } + /// <summary> + /// 鏍¢獙token 鐨勬湁鏁堟�� + /// </summary> + /// <param name="Token"> Token鏍¢獙</param> + /// <param name="validationParameters"></param> + /// <param name="securityToken"></param> + /// <returns></returns> + public bool CheckJwt(string Token, out SecurityToken? securityToken) + { + var configuration = App.Configuration; + // var value = configuration["xxx:xxx"]; + + string secretKey = configuration["ZCUserInfoJwtOP:SecurityKey"]; + if (secretKey == null) + { + "娌℃湁閰嶇疆鐢ㄦ埛涓績鐨勫畨鍏ㄧ閽� ZCUserInfoJwtOP:SecurityKey 鎵句笉鍒�".LogInformation<TokenService>(); + throw Oops.Oh("閰嶇疆閿欒锛岃仈绯荤鐞嗗憳"); + } + JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler(); + //JwtSecurityToken jwt = tokenHandler.ReadJwtToken(Token); + + // 楠岃瘉 JWT 绛惧悕骞舵鏌ユ湁鏁堟湡 + TokenValidationParameters validationParameters = new TokenValidationParameters + { + ValidateIssuerSigningKey = true, + IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey)), + ValidateIssuer = false, + ValidateAudience = false, + ClockSkew = TimeSpan.Zero // 绂佺敤鏃堕棿鍋忕Щ閲� + }; + try + { + ClaimsPrincipal claimsPrincipal = tokenHandler.ValidateToken(Token, validationParameters, out SecurityToken validatedToken); + + securityToken = validatedToken; + return true; + } + catch (SecurityTokenException) + { + securityToken=null; + return false; + } + } /// <summary> @@ -91,6 +137,10 @@ string TokenKey = TokenKeys + jwt.EID?.ToString() + jwt.UID?.ToString() + jwt.TEID?.ToString(); return TokenKey; } + + + + } } diff --git a/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs b/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs index 7494f98..2ec9abe 100644 --- a/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs +++ b/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs @@ -130,8 +130,10 @@ /// </summary> public string LastUpdateName { get; set; } /// <summary> - /// 鐢ㄦ埛鍚� - /// </summary> + /// 鐢ㄦ埛鍚� 鎵嬫満鍙烽獙璇� 蹇呭~ + /// </summary> + [Required] + [RegularExpression("/^(?:(?:\\+|00)86)?1\\d{10}$/")] public string UserName { get; set; } /// <summary> /// 鐢ㄦ埛瀵嗙爜 diff --git a/DocumentServiceAPI.Application/applicationsettings.json b/DocumentServiceAPI.Application/applicationsettings.json index 9ba3089..188c419 100644 --- a/DocumentServiceAPI.Application/applicationsettings.json +++ b/DocumentServiceAPI.Application/applicationsettings.json @@ -46,12 +46,25 @@ "KeepVerb": true,//淇濇寔鐗堟湰鍙蜂竴鑷� "LowercaseRoute": false }, - + "CorsAccessorSettings": { "WithExposedHeaders": [ "access-token", "x-access-token", "environment" ] + }, + "ZCUserInfoJwtOP": { //zc鐢ㄦ埛涓績jwt閰嶇疆 鐢ㄤ簬瑙f瀽zc鐨則oken + + "Issuer": "http://localhost", + "Audience": "http://localhost", + "Expires": 10800, + "weixinExpires": 1296000, + "SecurityKey": "superSecretKey@345", + "RefreshTokenExpires": 86400, + "LoginPath": "/_Framework/Redirect401" + } + + } \ No newline at end of file diff --git a/DocumentServiceAPI.Model/Oder/Oder.cs b/DocumentServiceAPI.Model/Oder/Oder.cs index 214e718..818f1a7 100644 --- a/DocumentServiceAPI.Model/Oder/Oder.cs +++ b/DocumentServiceAPI.Model/Oder/Oder.cs @@ -1,6 +1,8 @@ 锘縰sing DocumentServiceAPI.Enum; +using SqlSugar; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -12,6 +14,54 @@ /// </summary> public class Oder:BaseModel { + /// <summary> + /// OderID + /// </summary> + [SugarColumn( IsPrimaryKey =true,IsIdentity =true)] + public int Id { get; set; } + /// <summary> + /// 鏈堜唤 + /// </summary> + [Display(Name = "鏈堜唤")] + public int? MonthCount { get; set; } + + /// <summary> + /// 鍗曚綅涓暟 + /// </summary> + [Display(Name = "鍗曚綅涓暟")] + public int? UnitCount { get; set; } + + /// <summary> + /// 鍛樺伐 + /// </summary> + [Display(Name = "鍛樺伐涓暟")] + public int? EmployeeCount { get; set; } + /// <summary> + /// 鍗曚环 + /// </summary> + [Display(Name = "閲戦")] + public decimal Amount { get; set; } + /// <summary> + /// 鏀粯鏂瑰紡 + /// </summary> + public string? PayType { get; set; } + /// <summary> + /// 鏀粯鏃堕棿 + /// </summary> + public DateTime? PayTime { get; set; } + /// <summary> + /// 鎻忚堪 + /// </summary> + public string? Description { get; set; } + + /// <summary> + /// 鎵嬫満鍙风爜 + /// </summary> + public string ITCode { get; set; } + /// <summary> + /// 鏀块噰鐢ㄦ埛涓績ID + /// </summary> + public Guid? ZcUserID { get; set; } } diff --git a/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs b/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs index bdb4a9c..d5b331b 100644 --- a/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs +++ b/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs @@ -1,6 +1,8 @@ 锘縰sing DocumentServiceAPI.Enum; +using SqlSugar; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -10,8 +12,50 @@ /// <summary> /// 绉熸埛鏉冮檺 /// </summary> - public class TenantPermissions + public class TenantPermissions: BaseModel { + /// <summary> + /// id + /// </summary> + [Display(Name = "id ")] + [SugarColumn(ColumnDescription = "id " ,IsPrimaryKey =true,IsIdentity =true)] + public int Id { get; set; } + /// <summary> + /// 绉熸埛ID + /// </summary> + [Display(Name = "绉熸埛ID ")] + [SugarColumn(ColumnDescription = "绉熸埛ID ")] + public int TenantId { get; set; } + + + /// <summary> + /// 鏈�澶т紒涓氫釜鏁� + /// </summary> + [Display(Name = "鏈�澶т紒涓氫釜鏁� ")] + [SugarColumn(ColumnDescription = "鏈�澶т紒涓氫釜鏁� ")] + public int UnitMaxCount { get; set; } + + /// <summary> + /// 鏈�澶у憳宸ユ暟閲� + /// </summary> + [Display(Name = "鏈�澶у憳宸ユ暟閲� ")] + [SugarColumn(ColumnDescription = "鏈�澶у憳宸ユ暟閲� ")] + public int EmployeeMaxCount { get; set; } + + + /// <summary> + /// 鍒版湡鏃堕棿 + /// </summary> + [Display(Name = "鍒版湡鏃堕棿 ")] + [SugarColumn(ColumnDescription = "鍒版湡鏃堕棿 ")] + public DateTime OverTime { get; set; } + + /// <summary> + /// 鎻忚堪 + /// </summary> + [Display(Name = "鎻忚堪 ")] + [SugarColumn(ColumnDescription = "鎻忚堪 ")] + public string? Description { get; set; } } } diff --git a/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs b/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs index 2773ab1..d84de91 100644 --- a/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs +++ b/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs @@ -68,7 +68,12 @@ /// 瀵嗙爜 /// </summary> [SugarColumn(Length =30)] - public string? PsW { get; set; } + public string? PsW { get; set; } + + /// <summary> + /// 鏀块噰鐢ㄦ埛涓績ID + /// </summary> + public Guid? ZcUserID { get; set; } } diff --git a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs new file mode 100644 index 0000000..c749af9 --- /dev/null +++ b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs @@ -0,0 +1,80 @@ +锘縰sing SqlSugar; + +namespace DocumentServiceAPI.Model.cyDocumentModel +{ + ///<summary> + ///涓氱哗绠$悊 + ///</summary> + [SugarTable("t_doc_achievement")] + public class Doc_Achievement : Doc_Base + { + public Doc_Achievement() + { + } + + /// <summary> + /// id + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int id { get; set; } + + /// <summary> + /// 褰掑睘鍒嗙被锛堝瓙绫诲瀷锛� + /// </summary> + public int? classification_id { get; set; } + + /// <summary> + /// 椤圭洰id + /// </summary> + public int? project_id { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public string achievement_name { get; set; } + + /// <summary> + /// 涓爣閫氱煡涔� + /// </summary> + public string zbtzs_url { get; set; } + + /// <summary> + /// 鍚堝悓 + /// </summary> + public string ht_url { get; set; } + + /// <summary> + /// 楠屾敹鎶ュ憡 + /// </summary> + public string ysbg_url { get; set; } + + /// <summary> + /// 浠樻鍑瘉 + /// </summary> + public string fkpz_url { get; set; } + + /// <summary> + /// 鐢ㄦ埛璇勪环 + /// </summary> + public string yhpj_url { get; set; } + + /// <summary> + /// 鑾峰璇佷功 + /// </summary> + public string hjzs_url { get; set; } + + /// <summary> + /// 鍏宠仈鍒嗙被 + /// </summary> + [SugarColumn(IsIgnore = true)] + [Navigate(NavigateType.OneToOne, nameof(classification_id))] + public Doc_Classification? DocClassification { get; set; } + + /// <summary> + /// 鍏宠仈椤圭洰 + /// </summary> + [SugarColumn(IsIgnore = true)] + [Navigate(NavigateType.OneToOne, nameof(project_id))] + public Document_ProjectInfo? DocProject { get; set; } + } +} diff --git a/DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs b/DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs new file mode 100644 index 0000000..e28b3d4 --- /dev/null +++ b/DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs @@ -0,0 +1,97 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Principal; +using System.Text; +using System.Threading.Tasks; + +namespace DocumentServiceAPI.Model.cyDocumentModel +{ + ///<summary> + ///鏂囦欢淇℃伅绫� + ///</summary> + [SugarTable("t_doc_file")] + public class File_Info + { + /// <summary> + /// id + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int id { get; set; } + + /// <summary> + /// 鍘熸枃浠跺悕绉� + /// </summary> + public string fileoldname { get; set; } + + /// <summary> + /// 鏂板悕绉� + /// </summary> + public string filenewname { get; set; } + + /// <summary> + /// 淇濆瓨鏂囦欢鍚嶇О + /// </summary> + public string fileservername { get; set; } + + /// <summary> + /// 鏂囦欢澶у皬锛堝瓧鑺傦級 + /// </summary> + public int filesize { get; set; } + + /// <summary> + /// 鍚庣紑鍚� + /// </summary> + public string suffix { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTime uptime { get; set; } + + /// <summary> + /// 鏂囨。ID + /// </summary> + public int doc_id { get; set; } + + /// <summary> + /// 鐘舵�� + /// </summary> + public int status { get; set; } + + /// <summary> + /// 鏂囦欢绫诲瀷 + /// 001-璧勮川鏂囨。 + /// 002-涓氱哗鏂囨。 + /// 003-鏂规鏂囨。 + /// 004-璐㈠姟鏂囨。 + /// 005-鎶�鏈枃妗� + /// 006-璁惧鏂囨。 + /// 007-璐ㄦ鏂囨。 + /// 008-鍒跺害娴佺▼鏂囨。 + /// </summary> + public string filetype { get; set; } + + /// <summary> + /// 涓婁紶浜哄憳 + /// </summary> + public int up_userid { get; set; } + + /// <summary> + /// 涓婁紶浜哄憳 + /// </summary> + public string up_username { get; set; } + + /// <summary> + /// 璺緞 + /// </summary> + public string filepath { get; set; } + + /// <summary> + /// 鎺掑簭 + /// </summary> + public int sort { get; set; } + } + +} diff --git a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs index 5b494ca..446ddb4 100644 --- a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs +++ b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs @@ -61,89 +61,13 @@ [SugarColumn(IsIgnore = true)] [Navigate(NavigateType.OneToOne, nameof(org_id))] public Document_TenderUnit? DocOrganization { get; set; } + + /// <summary> + /// 鍏宠仈椤圭洰 + /// </summary> + [SugarColumn(IsIgnore = true)] + [Navigate(NavigateType.OneToOne, nameof(project_id))] + public Document_ProjectInfo? DocProject { get; set; } } - - - ///<summary> - ///鏂囦欢淇℃伅绫� - ///</summary> - [SugarTable("t_doc_file")] - public class File_Info - { - /// <summary> - /// id - /// </summary> - [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] - public int id { get; set; } - - /// <summary> - /// 鍘熸枃浠跺悕绉� - /// </summary> - public string fileoldname { get; set; } - - /// <summary> - /// 鏂板悕绉� - /// </summary> - public string filenewname { get; set; } - - /// <summary> - /// 淇濆瓨鏂囦欢鍚嶇О - /// </summary> - public string fileservername { get; set; } - - /// <summary> - /// 鏂囦欢澶у皬锛堝瓧鑺傦級 - /// </summary> - public int filesize { get; set; } - - /// <summary> - /// 鍚庣紑鍚� - /// </summary> - public string suffix { get; set; } - - /// <summary> - /// 鏇存柊鏃堕棿 - /// </summary> - public DateTime uptime { get; set; } - - /// <summary> - /// 鏂囨。ID - /// </summary> - public int doc_id { get; set; } - - /// <summary> - /// 鐘舵�� - /// </summary> - public int status { get; set; } - - /// <summary> - /// 鏂囦欢绫诲瀷 - /// 001-璧勮川鏂囨。 - /// 002-涓氱哗鏂囨。 - /// 003-鏂规鏂囨。 - /// 004-璐㈠姟鏂囨。 - /// 005-鎶�鏈枃妗� - /// 006-璁惧鏂囨。 - /// 007-璐ㄦ鏂囨。 - /// 008-鍒跺害娴佺▼鏂囨。 - /// </summary> - public string filetype { get; set; } - - /// <summary> - /// 涓婁紶浜哄憳 - /// </summary> - public int up_userid { get; set; } - - /// <summary> - /// 涓婁紶浜哄憳 - /// </summary> - public string up_username { get; set; } - - /// <summary> - /// 璺緞 - /// </summary> - public string filepath { get; set; } - } - } diff --git a/DocumentServiceAPI.Utility/PageBaseSearch.cs b/DocumentServiceAPI.Utility/PageBaseSearch.cs index ae710f1..ef1f87f 100644 --- a/DocumentServiceAPI.Utility/PageBaseSearch.cs +++ b/DocumentServiceAPI.Utility/PageBaseSearch.cs @@ -19,20 +19,22 @@ public abstract class BaseSearch { + public int ID { get; set; } + /// <summary> /// 鍏徃ID /// </summary> - public string CompanyID { get; set; } + public int CompanyID { get; set; } /// <summary> /// 绉熸埛ID /// </summary> - public string TenantID { get; set; } + public int TenantID { get; set; } /// <summary> /// 鐢ㄦ埛ID /// </summary> - public string UserID { get; set; } + public int UserID { get; set; } /// <summary> /// 寮�濮嬫棩鏈� diff --git a/DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs b/DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs index ad89288..dc0d05c 100644 --- a/DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs +++ b/DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs @@ -1,4 +1,5 @@ 锘縰sing Furion.Authorization; +using Furion.DataEncryption; using Microsoft.AspNetCore.Authorization; namespace DocumentServiceAPI.Web.Entry @@ -8,6 +9,7 @@ /// </summary> public class AuthorizeHandler:AppAuthorizeHandler { + /// <summary> /// 璇锋眰绠¢亾 /// </summary> @@ -17,7 +19,7 @@ public override Task<bool> PipelineAsync(AuthorizationHandlerContext context, DefaultHttpContext httpContext) { // 姝ゅ宸茬粡鑷姩楠岃瘉 Jwt token鐨勬湁鏁堟�т簡锛屾棤闇�鎵嬪姩楠岃瘉 - + // 妫�鏌ユ潈闄愶紝濡傛灉鏂规硶鏄紓姝ョ殑灏变笉鐢� Task.FromResult 鍖呰9锛岀洿鎺ヤ娇鐢� async/await 鍗冲彲 return Task.FromResult(CheckAuthorzie(httpContext)); } diff --git a/DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user b/DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user index d5c942b..85e333f 100644 --- a/DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user +++ b/DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user @@ -4,7 +4,7 @@ <DebuggerFlavor>ProjectDebugger</DebuggerFlavor> </PropertyGroup> <PropertyGroup> - <ActiveDebugProfile>DocumentServiceAPI.Web.Entry</ActiveDebugProfile> + <ActiveDebugProfile>IIS Express</ActiveDebugProfile> <NameOfLastUsedPublishProfile>E:\workdir\鏍囦功杞欢\ApiService\DocumentServiceAPI\DocumentServiceAPI.Web.Entry\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile> </PropertyGroup> </Project> \ No newline at end of file diff --git a/DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user b/DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user index 81242db..deeaaa7 100644 --- a/DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -5,7 +5,7 @@ <Project> <PropertyGroup> <_PublishTargetUrl>D:\DocServiceAPI</_PublishTargetUrl> - <History>True|2023-08-03T03:23:49.7155745Z;True|2023-08-03T10:57:12.3860490+08:00;True|2023-08-02T17:29:04.8984231+08:00;True|2023-08-02T14:24:54.6607875+08:00;True|2023-08-02T13:12:00.3228236+08:00;</History> + <History>True|2023-08-25T08:28:37.8668025Z;True|2023-08-25T15:17:17.9212851+08:00;True|2023-08-25T11:21:18.2228201+08:00;True|2023-08-03T11:23:49.7155745+08:00;True|2023-08-03T10:57:12.3860490+08:00;True|2023-08-02T17:29:04.8984231+08:00;True|2023-08-02T14:24:54.6607875+08:00;True|2023-08-02T13:12:00.3228236+08:00;</History> <LastFailureDetails /> </PropertyGroup> </Project> \ No newline at end of file diff --git a/DocumentServiceAPI.Web.Entry/Properties/launchSettings.json b/DocumentServiceAPI.Web.Entry/Properties/launchSettings.json index 0d40925..c565560 100644 --- a/DocumentServiceAPI.Web.Entry/Properties/launchSettings.json +++ b/DocumentServiceAPI.Web.Entry/Properties/launchSettings.json @@ -4,8 +4,8 @@ "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "http://localhost:53785", - "sslPort": 44342 + "applicationUrl": "http://localhost:5001" + } }, "profiles": { diff --git a/DocumentServiceAPI.Web.Entry/appsettings.json b/DocumentServiceAPI.Web.Entry/appsettings.json index c4b4845..5da1f39 100644 --- a/DocumentServiceAPI.Web.Entry/appsettings.json +++ b/DocumentServiceAPI.Web.Entry/appsettings.json @@ -37,7 +37,12 @@ }, + //娑堟伅闃熷垪閰嶇疆 涓轰簡鐙珛閮ㄧ讲锛岃繖閲屽崟鐙厤缃� + "InitQRedisConfig": { + // 濡傛灉閲囩敤瀹瑰櫒鍖栭儴缃睸ervice 瑕佸啓鎴恟edis鐨勬湇鍔″悕锛屽惁鍒欏啓鍦板潃 + "ConnectionString": "127.0.0.1:6379,password=,connectTimeout=30000,responseTimeout=30000,abortConnect=false,connectRetry=1,syncTimeout=10000,DefaultDatabase=7" //redis鏁版嵁搴撹繛鎺ュ瓧绗︿覆 + }, "JWTSettings": { diff --git a/DocumentServiceAPI.sln b/DocumentServiceAPI.sln index e632510..cf65739 100644 --- a/DocumentServiceAPI.sln +++ b/DocumentServiceAPI.sln @@ -21,6 +21,10 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DocumentServiceAPI.Services", "DocumentServiceAPI.Services\DocumentServiceAPI.Services.csproj", "{3369F102-ABB2-42A4-B216-58D530AEE8BE}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZcPayCore", "ZcPayCore\ZcPayCore.csproj", "{76BFAB65-B7AC-4534-A595-363551111129}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentServiceApi.InitQMessage", "DocumentServiceApi.InitQMessage\DocumentServiceApi.InitQMessage.csproj", "{0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -62,6 +66,14 @@ {3369F102-ABB2-42A4-B216-58D530AEE8BE}.Debug|Any CPU.Build.0 = Debug|Any CPU {3369F102-ABB2-42A4-B216-58D530AEE8BE}.Release|Any CPU.ActiveCfg = Release|Any CPU {3369F102-ABB2-42A4-B216-58D530AEE8BE}.Release|Any CPU.Build.0 = Release|Any CPU + {76BFAB65-B7AC-4534-A595-363551111129}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {76BFAB65-B7AC-4534-A595-363551111129}.Debug|Any CPU.Build.0 = Debug|Any CPU + {76BFAB65-B7AC-4534-A595-363551111129}.Release|Any CPU.ActiveCfg = Release|Any CPU + {76BFAB65-B7AC-4534-A595-363551111129}.Release|Any CPU.Build.0 = Release|Any CPU + {0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj b/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj new file mode 100644 index 0000000..cd7176f --- /dev/null +++ b/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj @@ -0,0 +1,18 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="InitQ" Version="1.0.0.15" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\DocumentServiceAPI.Core\DocumentServiceAPI.Core.csproj" /> + <ProjectReference Include="..\DocumentServiceAPI.Model\DocumentServiceAPI.Model.csproj" /> + </ItemGroup> + +</Project> diff --git a/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs b/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs new file mode 100644 index 0000000..a95de16 --- /dev/null +++ b/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs @@ -0,0 +1,24 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DocumentServiceApi.InitQMessage +{ + /// <summary> + /// 娑堟伅缁撴瀯瀹氫箟 + /// </summary> + public static class INITQMessageDefine + { + /// <summary> + /// 璐叆Oder娑堟伅 + /// </summary> + public const string InitTenantOder = "DocumentServiceAPI_OderINIT"; + + /// <summary> + /// 鎾ゅ崟 + /// </summary> + public const string DecTenantOder = "DocumentServiceAPI_DecOderINIT"; + } +} diff --git a/DocumentServiceApi.InitQMessage/INITQSetups.cs b/DocumentServiceApi.InitQMessage/INITQSetups.cs new file mode 100644 index 0000000..bd9ce74 --- /dev/null +++ b/DocumentServiceApi.InitQMessage/INITQSetups.cs @@ -0,0 +1,48 @@ +锘縰sing CSRedis; +using Furion; +using InitQ; +using Mapster; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace DocumentServiceApi.InitQMessage +{ + /// <summary> + /// 娉ㄥ唽 INITQ + /// </summary> + public class DocServiceApiStartup : AppStartup + { + public void ConfigureServices(IServiceCollection services) { + + + var readisconnectionstring = App.Configuration["InitQRedisConfig:ConnectionString"]; + if (readisconnectionstring != null) + //鍒濆鍖杛edi閰嶇疆 + { + services.AddInitQ((op) => + { + op.SuspendTime = 500; + op.IntervalTime = 500; + op.ConnectionString = readisconnectionstring; + op.ListSubscribe = new List<Type>() { typeof(MessageReceive) }; + op.ShowLog = false; + }); + } + + } + + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + + + } + } +} diff --git a/DocumentServiceApi.InitQMessage/MessageReceive.cs b/DocumentServiceApi.InitQMessage/MessageReceive.cs new file mode 100644 index 0000000..39221e6 --- /dev/null +++ b/DocumentServiceApi.InitQMessage/MessageReceive.cs @@ -0,0 +1,181 @@ +锘縰sing DocumentServiceAPI.Model.Oder; +using DocumentServiceAPI.Model.Permissions; +using DocumentServiceAPI.Model.UserInfoModel; +using Furion; +using Furion.JsonSerialization; +using Furion.Logging.Extensions; +using InitQ.Abstractions; +using InitQ.Attributes; +using Microsoft.Extensions.Options; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DocumentServiceApi.InitQMessage +{ + /// <summary> + /// 娑堟伅鎺ユ敹澶勭悊鍑芥暟 + /// </summary> + public class MessageReceive: IRedisSubscribe + { + + + /// <summary> + /// 鍒濆鍖栬鍗曞鐞� + /// </summary> + /// <param name="msg"></param> + /// <returns></returns> + [Subscribe(INITQMessageDefine.InitTenantOder)] + private async Task InitTenantOder(string msg) + { + TenantOderInfo? obj = JSON.Deserialize<TenantOderInfo>(msg); + if(obj==null) + { + $"InitTenantOder 鍒濆鍖� msg 瀵硅薄閿欒 ,msg涓簕msg}".LogInformation<MessageReceive>(); + return; + } + var _db= App.GetService<ISqlSugarClient>(); + + + Oder oder = new Oder() + { + Amount = obj.Amount, + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + Description = obj.Description, + EmployeeCount = obj.EmployeeCount, + MonthCount = obj.MonthCount, + UnitCount = obj.UnitCount, + PayType = obj.PayType, + PayTime = obj.PayTime, + ZcUserID = obj.ZcUserID, + ITCode = obj.ITCode, + }; + TenantInfo? Tinfo = await _db.Queryable<TenantInfo>().Where(x=>x.ZcUserID==obj.ZcUserID).SingleAsync(); + if(Tinfo==null) + { + Tinfo = new TenantInfo + { + ZcUserID = obj.ZcUserID, + ItCode = obj.ITCode, + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + Description = obj.Description, + Name = obj.ITCode, + PsW = obj.ITCode.Substring(obj.ITCode.Length - 4), + + + }; + TenantPermissions permissions = new TenantPermissions() + { + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + Description = obj.Description, + EmployeeMaxCount = obj.EmployeeCount ?? 0, + UnitMaxCount = obj.UnitCount ?? 0, + OverTime = DateTime.Now.AddMonths(obj.MonthCount ?? 0), + + + + }; + try + { + await _db.AsTenant().BeginTranAsync(); + + var id= await _db.Insertable(Tinfo).ExecuteReturnIdentityAsync(); + permissions.TenantId = id; + await _db.Insertable(permissions).ExecuteCommandAsync (); + await _db.Insertable(oder).ExecuteCommandAsync(); + await _db.AsTenant().CommitTranAsync(); + } + catch (Exception e) + { + await _db.AsTenant().RollbackTranAsync(); + $"鏂板缓绉熸埛澶勭悊澶辫触 msg:{msg},e:{e.ToString()} BY锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>(); + return; + } + + + } + else + { + Tinfo.ItCode = obj.ITCode; + Tinfo.UpdataBy = "娑堟伅闃熷垪 InitTenantOder"; + Tinfo.UpdataTime = DateTime.Now; + Tinfo.IsDel = false; + Tinfo.IsEn = true; + var tp= await _db.Queryable<TenantPermissions>().Where(x=>x.TenantId==Tinfo.Id).FirstAsync(); + + try + { + await _db.AsTenant().BeginTranAsync(); + if (Tinfo.ItCode != obj.ITCode) + { + + await _db.Updateable(Tinfo).ExecuteCommandAsync(); + }; + if (tp == null) + { + tp = new TenantPermissions() + { + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + IsDel = false, + IsEn = true, + EmployeeMaxCount=obj.EmployeeCount??0, + UnitMaxCount=obj.UnitCount??0, + OverTime=DateTime.Now.AddMinutes(obj.MonthCount??0), + TenantId= Tinfo.Id, + + }; + await _db.Insertable(tp).ExecuteCommandAsync(); + + + } + else + { + tp.IsDel = false; + tp.IsEn = true; + tp.UnitMaxCount = obj.UnitCount ?? tp.UnitMaxCount; + tp.EmployeeMaxCount = obj.EmployeeCount ?? tp.EmployeeMaxCount; + tp.OverTime = tp.OverTime.AddMonths(obj.MonthCount??0); + tp.UpdataBy = "娑堟伅闃熷垪 InitTenantOder"; + tp.UpdataTime = DateTime.Now; + + await _db.Updateable(tp).ExecuteCommandAsync(); + + } + await _db.Insertable(oder).ExecuteCommandAsync(); + await _db.AsTenant().CommitTranAsync(); + + + + + + } + catch (Exception e) + { + + await _db.AsTenant().RollbackTranAsync(); + $"淇敼绉熸埛鏉冮檺澶辫触 msg:{msg},e:{e.ToString()} By锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>(); + return; + } + + } + + + + + + + + + + + } + + } +} diff --git a/DocumentServiceApi.InitQMessage/TenantOderInfo.cs b/DocumentServiceApi.InitQMessage/TenantOderInfo.cs new file mode 100644 index 0000000..26eac2c --- /dev/null +++ b/DocumentServiceApi.InitQMessage/TenantOderInfo.cs @@ -0,0 +1,60 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DocumentServiceApi.InitQMessage +{ + /// <summary> + /// 璁㈠崟娑堟伅妯″瀷璇︽儏 + /// </summary> + internal class TenantOderInfo + { + /// <summary> + /// 鎵嬫満鍙风爜 + /// </summary> + public string ITCode { get; set; } + /// <summary> + /// 鏀块噰鐢ㄦ埛涓績ID + /// </summary> + public Guid? ZcUserID { get; set; } + /// <summary> + /// 鏈堜唤 + /// </summary> + [Display(Name = "鏈堜唤")] + public int? MonthCount { get; set; } + + /// <summary> + /// 鍗曚綅涓暟 + /// </summary> + [Display(Name = "鍗曚綅涓暟")] + public int? UnitCount { get; set; } + + /// <summary> + /// 鍛樺伐 + /// </summary> + [Display(Name = "鍛樺伐涓暟")] + public int? EmployeeCount { get; set; } + /// <summary> + /// 鍗曚环 + /// </summary> + [Display(Name = "閲戦")] + public decimal Amount { get; set; } + /// <summary> + /// 鏀粯鏂瑰紡 + /// </summary> + public string? PayType { get; set; } + /// <summary> + /// 鏀粯鏃堕棿 + /// </summary> + public DateTime? PayTime { get; set; } + /// <summary> + /// 鎻忚堪 + /// </summary> + public string? Description { get; set; } + + + } +} diff --git a/ZcPayCore/Model/OderInfo.cs b/ZcPayCore/Model/OderInfo.cs new file mode 100644 index 0000000..094f2f9 --- /dev/null +++ b/ZcPayCore/Model/OderInfo.cs @@ -0,0 +1,55 @@ +锘縰sing DocumentServiceAPI.Enum; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZcPayCore.Model +{ + /// <summary> + /// 閫氱敤璁㈠崟绫� + /// </summary> + [Display(Name = "閫氱敤璁㈠崟绫� ")] + [SugarTable(TableName = "Oder", TableDescription = "閫氱敤璁㈠崟绫�")] + public class Oder : BaseModel + { + /// <summary> + /// Id + /// </summary> + [Display(Name = "Id ")] + [SugarColumn(ColumnDescription = "Id ",IsIdentity =true,IsPrimaryKey =true)] + public int Id { get; set; } + + /// <summary> + /// 鐢ㄦ埛ID 涔熷彲鑳芥槸绉熸埛ID + /// </summary> + [Display(Name = "鐢ㄦ埛ID 涔熷彲鑳芥槸绉熸埛ID ")] + [SugarColumn(ColumnDescription = "鐢ㄦ埛ID 涔熷彲鑳芥槸绉熸埛ID ")] + public int UserID { get; set; } + + /// <summary> + /// 璁㈠崟璇︽儏鎻忚堪 + /// </summary> + [Display(Name = "璁㈠崟璇︽儏鎻忚堪 ")] + [SugarColumn(ColumnDescription = "璁㈠崟璇︽儏鎻忚堪 ")] + public string? Description { get; set; } + + /// <summary> + /// 鍏朵粬鍙傛暟 + /// </summary> + [Display(Name = "鍏朵粬鍙傛暟 ")] + [SugarColumn(ColumnDescription = "鍏朵粬鍙傛暟 ")] + public string? Param { get; set; } + + /// <summary> + /// PropertyDecName + /// </summary> + [Display(Name = "PropertyDecName ")] + [SugarColumn(ColumnDescription = "PropertyDecName ")] + public int Property { get; set; } + + } +} diff --git a/ZcPayCore/ZcPayCore.csproj b/ZcPayCore/ZcPayCore.csproj new file mode 100644 index 0000000..0f64f88 --- /dev/null +++ b/ZcPayCore/ZcPayCore.csproj @@ -0,0 +1,20 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Essensoft.Paylink.Alipay" Version="4.1.2" /> + <PackageReference Include="Essensoft.Paylink.Security" Version="4.1.2" /> + <PackageReference Include="Essensoft.Paylink.WeChatPay" Version="4.1.2" /> + <PackageReference Include="SqlSugarCore" Version="5.1.4.99" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\DocumentServiceAPI.Enum\DocumentServiceAPI.Enum.csproj" /> + </ItemGroup> + +</Project> diff --git "a/\350\265\204\346\226\231\347\256\241\347\220\206.sql" "b/\350\265\204\346\226\231\347\256\241\347\220\206.sql" new file mode 100644 index 0000000..cec0549 --- /dev/null +++ "b/\350\265\204\346\226\231\347\256\241\347\220\206.sql" @@ -0,0 +1,108 @@ + +/****** Object: Table [dbo].[t_doc_classification] Script Date: 2023-08-08 11:35:47 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[t_doc_classification]( + [id] [int] IDENTITY(1,1) NOT NULL, + [doc_classification_code] [nvarchar](10) NULL, + [doc_classification] [nvarchar](30) NULL, + [parent_code] [nvarchar](10) NULL, + [is_system] [bit] NULL, + [tenant_code] [int] NULL, + [status] [int] NULL, + [sort_id] [int] NULL, + [add_time] [datetime] NULL, + CONSTRAINT [PK_t_doc_classification] PRIMARY KEY CLUSTERED +( + [id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO +SET IDENTITY_INSERT [dbo].[t_doc_classification] ON +GO +INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (1, N'001', N'资质类别', N'00', 1, NULL, 1, 1, CAST(N'2023-08-01T16:21:39.003' AS DateTime)) +INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (2, N'002', N'业绩类别', N'00', 1, NULL, 1, 2, CAST(N'2023-08-02T16:22:39.003' AS DateTime)) +INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (3, N'003', N'方案类别', N'00', 1, NULL, 1, 3, CAST(N'2023-08-03T16:23:39.003' AS DateTime)) +INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (4, N'004', N'财务类别', N'00', 1, NULL, 1, 4, CAST(N'2023-08-04T16:24:39.003' AS DateTime)) +INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (5, N'005', N'技术类别', N'00', 1, NULL, 1, 5, CAST(N'2023-08-05T16:25:39.003' AS DateTime)) +INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (6, N'006', N'设备资料', N'00', 1, NULL, 1, 6, CAST(N'2023-08-06T16:25:39.003' AS DateTime)) +INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (7, N'007', N'质检报告', N'00', 1, NULL, 1, 7, CAST(N'2023-08-07T16:25:39.003' AS DateTime)) +INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (8, N'008', N'制度流程', N'00', 1, NULL, 1, 8, CAST(N'2023-08-08T16:25:39.003' AS DateTime)) +SET IDENTITY_INSERT [dbo].[t_doc_classification] OFF +GO + + +/****** Object: Table [dbo].[t_project_file] Script Date: 2023-08-09 14:21:20 ******/ +CREATE TABLE [dbo].[t_document]( + [id] [int] IDENTITY(1,1) NOT NULL, + [doc_code] [nvarchar](10) NOT NULL, + [classification_id] [int] NULL, + [doc_name] [nvarchar](50) NOT NULL, + [org_id] [int] NULL, + [project_id] [int] NULL, + [status] [int] NOT NULL, + [add_time] [datetime] NOT NULL, + [tenant_code] [int] NULL, + [is_del] [bit] NULL, + CONSTRAINT [PK_t_doc_credential] PRIMARY KEY CLUSTERED +( + [id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + + +CREATE TABLE [dbo].[t_doc_file]( + [id] [int] IDENTITY(1,1) NOT NULL, + [fileoldname] [nvarchar](50) NULL, + [filenewname] [nvarchar](50) NULL, + [fileservername] [nvarchar](50) NULL, + [filesize] [int] NULL, + [suffix] [nvarchar](10) NULL, + [uptime] [datetime] NULL, + [doc_id] [int] NULL, + [status] [int] NULL, + [filetype] [nvarchar](10) NULL, + [up_userid] [int] NULL, + [up_username] [nvarchar](40) NULL, + [filepath] [nvarchar](150) NULL, + [sort] [int] NULL, + CONSTRAINT [PK_t_project_file] PRIMARY KEY CLUSTERED +( + [id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + + +/****** Object: Table [dbo].[t_doc_achievement] Script Date: 2023-08-25 16:10:21 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[t_doc_achievement]( + [id] [int] IDENTITY(1,1) NOT NULL, + [classification_id] [int] NULL, + [project_id] [int] NULL, + [achievement_name] [nvarchar](50) NULL, + [zbtzs_url] [nvarchar](100) NULL, + [ht_url] [nvarchar](100) NULL, + [ysbg_url] [nvarchar](100) NULL, + [fkpz_url] [nvarchar](100) NULL, + [yhpj_url] [nvarchar](100) NULL, + [hjzs_url] [nvarchar](100) NULL, + [tenant_code] [int] NULL, + [add_time] [datetime] NULL, + [status] [int] NULL, + CONSTRAINT [PK_t_doc_achievement] PRIMARY KEY CLUSTERED +( + [id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO -- Gitblit v1.9.1