diff --git a/UFIDA.U8.Framework.Api/App_Data/U8API.xml b/UFIDA.U8.Framework.Api/App_Data/U8API.xml index b10392f..99d905e 100644 --- a/UFIDA.U8.Framework.Api/App_Data/U8API.xml +++ b/UFIDA.U8.Framework.Api/App_Data/U8API.xml @@ -521,7 +521,7 @@ 公共服务 - + 日志对象 diff --git a/UFIDA.U8.Framework.Api/Controllers/CommonController.cs b/UFIDA.U8.Framework.Api/Controllers/CommonController.cs index ab97e47..5b7b3e6 100644 --- a/UFIDA.U8.Framework.Api/Controllers/CommonController.cs +++ b/UFIDA.U8.Framework.Api/Controllers/CommonController.cs @@ -2,6 +2,7 @@ using System; using System.Threading.Tasks; using System.Web.Http; +using System.Web.Http.Description; using UFIDA.U8.Framework.Api.ControlObject.Entity; using UFIDA.U8.Framework.Api.Models; using UFIDA.U8.Framework.Api.Unit; @@ -19,7 +20,7 @@ namespace UFIDA.U8.Framework.Api.Controllers /// /// 日志对象 /// - protected readonly ILog logInfo = LogManager.GetLogger("logInfo"); + private readonly ILog _logInfo = LogManager.GetLogger("logInfo"); /// /// 获取加密字符串 @@ -28,6 +29,7 @@ namespace UFIDA.U8.Framework.Api.Controllers /// [HttpGet] [Route("api/Common/GetEncryptString")] + [ApiExplorerSettings(IgnoreApi = true)] public BaseResult GetEncryptString(string input) { try @@ -36,7 +38,7 @@ namespace UFIDA.U8.Framework.Api.Controllers } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "加密失败", result = ex.Message }; } @@ -49,6 +51,7 @@ namespace UFIDA.U8.Framework.Api.Controllers /// [HttpGet] [Route("api/Common/GetDecryptString")] + [ApiExplorerSettings(IgnoreApi = true)] public BaseResult GetDecryptString(string input) { try @@ -57,7 +60,7 @@ namespace UFIDA.U8.Framework.Api.Controllers } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "解密失败", result =ex.Message }; } @@ -70,6 +73,7 @@ namespace UFIDA.U8.Framework.Api.Controllers /// [HttpPost] [Route("api/Common/GetAccountConfig")] + [ApiExplorerSettings(IgnoreApi = true)] public async Task> GetAccountConfig([FromBody]U8AccountConfigInput input) { try @@ -84,7 +88,7 @@ namespace UFIDA.U8.Framework.Api.Controllers } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "查询失败", result = ex.Message }; } @@ -98,6 +102,7 @@ namespace UFIDA.U8.Framework.Api.Controllers /// [HttpPost] [Route("api/Common/AddAccountConfig")] + [ApiExplorerSettings(IgnoreApi = true)] public async Task> AddAccountConfig([FromBody] AddU8AccountConfigInput input) { try @@ -117,7 +122,7 @@ namespace UFIDA.U8.Framework.Api.Controllers } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "新增失败", result = ex.Message }; } @@ -131,6 +136,7 @@ namespace UFIDA.U8.Framework.Api.Controllers /// [HttpPost] [Route("api/Common/UpdateAccountConfig")] + [ApiExplorerSettings(IgnoreApi = true)] public async Task> UpdateAccountConfig([FromBody]AddU8AccountConfigInput input) { try @@ -150,7 +156,7 @@ namespace UFIDA.U8.Framework.Api.Controllers } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "更新失败", result = ex.Message }; } @@ -163,6 +169,7 @@ namespace UFIDA.U8.Framework.Api.Controllers /// [HttpPost] [Route("api/Common/ListAccountConfig")] + [ApiExplorerSettings(IgnoreApi = true)] public async Task> ListAccountConfig([FromBody] ListU8AccountConfigInput input) { try @@ -177,7 +184,7 @@ namespace UFIDA.U8.Framework.Api.Controllers } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "查询失败", result = ex.Message }; } diff --git a/UFIDA.U8.Framework.Api/Controllers/U8/SFCController.cs b/UFIDA.U8.Framework.Api/Controllers/U8/SFCController.cs index fc53782..e824767 100644 --- a/UFIDA.U8.Framework.Api/Controllers/U8/SFCController.cs +++ b/UFIDA.U8.Framework.Api/Controllers/U8/SFCController.cs @@ -26,7 +26,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 /// /// 日志组件 /// - protected readonly ILog _logInfo = LogManager.GetLogger("logInfo"); + private readonly ILog _logInfo = LogManager.GetLogger("logInfo"); private static readonly MemoryCache _cache = new MemoryCache(new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromMinutes(10) }); diff --git a/UFIDA.U8.Framework.Api/Controllers/U8/WorkflowController.cs b/UFIDA.U8.Framework.Api/Controllers/U8/WorkflowController.cs index d3aca16..d18e288 100644 --- a/UFIDA.U8.Framework.Api/Controllers/U8/WorkflowController.cs +++ b/UFIDA.U8.Framework.Api/Controllers/U8/WorkflowController.cs @@ -109,7 +109,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 { var userToken = Request.Headers.GetValues("userToken").First(); - _logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/Code,userToken:{userToken},单据:{cCardNum},事件:{eventId},单据编号:{cCode}"); + _logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/Code/{userToken},单据:{cCardNum},事件:{eventId},单据编号:{cCode}"); var output = CommUnit.GetDecrypt(userToken).ToObject(); @@ -146,7 +146,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 } /// - /// 提交审批流(单号) + /// 提交审批流(ID) /// /// 单据类型编码 /// 单据ID @@ -160,6 +160,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 { try { + if (Request.Headers.TryGetValues("userToken", out var userToken)) + { + return await SubmitApplicationMessageToken(cCardNum, voucherId, eventId, bUap); + } + var db = CommUnit.GetDbClient(); var workId = SnowFlakeSingle.Instance.NextId(); @@ -198,5 +203,64 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 } } + + /// + /// 提交审批流(ID) + /// + /// 单据类型编码 + /// 单据ID + /// 系统注册号 + /// 审批事件 + /// 是否UAP单据 + /// + [HttpGet] + [Route("api/U8/Workflow/SubmitApplicationMessage/ID/Token")] + public async Task> SubmitApplicationMessageToken(string cCardNum, long voucherId, string eventId, bool bUap = false) + { + try + { + var userToken = Request.Headers.GetValues("userToken").First(); + + if (string.IsNullOrWhiteSpace(userToken)) + { + throw new Exception($"userToken获取失败"); + } + + _logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/ID/{userToken},单据:{cCardNum},事件:{eventId},单据ID:{voucherId}"); + + var output = CommUnit.GetDecrypt(userToken).ToObject(); + + var token = CommUnit.GetDecrypt(output.userToken); + + var workId = SnowFlakeSingle.Instance.NextId(); + + _logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},单据ID:{voucherId}"); + + if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin)) + { + _logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + + baseLogin = new BaseLogin(); + + baseLogin.Init(token, true, 5); + + _cache.Clear(); + + _cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin); + } + + var services = new ServiceProxy(); + + return await services.SubmitApplicationMessage(baseLogin, cCardNum, eventId, voucherId, bUap); + } + catch (Exception ex) + { + _logInfo.Error(ex.Message, ex); + + return new BaseResult { bSuccess = false, message = ex.Message, result = ex.StackTrace }; + + } + } + } }