using System; using System.Threading.Tasks; using System.Web.Http; using log4net; using UFIDA.U8.Framework.Api.ControlObject.Common; using UFIDA.U8.Framework.Api.ControlObject.Entity; using UFIDA.U8.Framework.Api.ControlObject.U8M; using UFIDA.U8.Framework.Api.Models; using UFIDA.U8.Framework.Api.Unit; namespace UFIDA.U8.Framework.Api.Controllers.U8 { /// /// 平台功能 /// public class DPController : ApiController { /// /// 日志组件 /// protected readonly ILog logInfo = LogManager.GetLogger("logInfo"); /// /// U8登录接口 /// /// /// [HttpPost] [Route("api/U8/DP/Login")] public async Task> Login( [FromBody] LoginParamter input) { try { var logn = new BaseLogin(); logn.Init(input, false); var userToken = logn.userToken; if (!string.IsNullOrWhiteSpace(userToken)) { return new BaseResult() { bSuccess = true, message = "登录成功", result = userToken }; } await Task.Delay(1); throw new Exception("未知错误,请检查系统日志"); } catch (Exception ex) { logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "登录失败", result = ex.Message }; } } /// /// 获取U8密码 /// /// /// [HttpGet] [Route("api/U8/DP/GetPassword")] public async Task> GetPassword(string cPwd) { try { await Task.Delay(1); return new BaseResult() { bSuccess = true, message = "加密成功", result = CommonHelper.U8Encrypt(cPwd) }; } catch (Exception ex) { logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "登录失败", result = ex.Message }; } } /// /// 获取对接账套设置 /// /// /// [HttpPost] [Route("api/U8/DP/GetAccountConfig")] public async Task> GetAccountConfig([FromBody] U8AccountConfigInput input) { try { var db = CommUnit.GetDbClient(); var res = await db.Queryable() .Where(a => a.cAccountNo == input.cAccId) .FirstAsync(); return new BaseResult { bSuccess = true, message = "查询成功", result = res }; } catch (Exception ex) { logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "查询失败", result = ex.Message }; } } /// /// 获取加密字符串 /// /// /// [HttpGet] [Route("api/U8/DP/GetEncryptString")] public async Task> GetEncryptString(string input) { try { await Task.Delay(1); return new BaseResult { bSuccess = true, message = "加密成功", result = CommUnit.GetEncrypt(input) }; } catch (Exception ex) { logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "加密失败", result = ex.Message }; } } /// /// 获取解密字符串 /// /// /// [HttpGet] [Route("api/U8/DP/GetDecryptString")] public async Task> GetDecryptString(string input) { try { await Task.Delay(1); return new BaseResult { bSuccess = true, message = "解密成功", result = CommUnit.GetDecrypt(input) }; } catch (Exception ex) { logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "解密失败", result = ex.Message }; } } /// /// 新增对接账套设置 /// /// /// [HttpPost] [Route("api/U8/DP/AddAccountConfig")] public async Task> AddAccountConfig([FromBody] AddU8AccountConfigInput input) { try { var db = CommUnit.GetDbClient(); var isExists = await db.Queryable().AnyAsync(a => a.cAccountNo == input.cAccountNo); if (isExists) { throw new Exception($"已存在系统号为{input.cAccountNo}的数据"); } try { if (!string.IsNullOrWhiteSpace(input.cPassword)) { CommUnit.GetDecrypt(input.cPassword); } } catch (Exception ex) { logInfo.Debug($"密码未加密:{ex.Message},将进行密码加密"); input.cPassword = CommUnit.GetEncrypt(input.cPassword); } var id = await db.Insertable(input).ExecuteReturnIdentityAsync(); return new BaseResult { bSuccess = true, message = "新增成功", result = id }; } catch (Exception ex) { logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "新增失败", result = ex.Message }; } } /// /// 更新对接账套设置 /// /// /// [HttpPost] [Route("api/U8/DP/UpdateAccountConfig")] public async Task> UpdateAccountConfig([FromBody] AddU8AccountConfigInput input) { try { var db = CommUnit.GetDbClient(); var isExists = await db.Queryable().AnyAsync(a => a.Id == input.Id); if (!isExists) { throw new Exception($"不存在系统号为{input.cAccountNo}的数据"); } try { if (!string.IsNullOrWhiteSpace(input.cPassword)) { CommUnit.GetDecrypt(input.cPassword); } } catch (Exception ex) { logInfo.Debug($"密码未加密:{ex.Message},将进行密码加密"); input.cPassword = CommUnit.GetEncrypt(input.cPassword); } var id = await db.Updateable(input).ExecuteCommandAsync(); return new BaseResult { bSuccess = true, message = "更新成功", result = id }; } catch (Exception ex) { logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "更新失败", result = ex.Message }; } } /// /// 获取对接账套设置列表 /// /// /// [HttpPost] [Route("api/U8/DP/ListAccountConfig")] public async Task> ListAccountConfig([FromBody] ListU8AccountConfigInput input) { try { var db = CommUnit.GetDbClient(); var res = await db.Queryable() .WhereIF(!string.IsNullOrWhiteSpace(input.cAccId), a => a.cAccountNo == input.cAccId) .ToListAsync(); return new BaseResult { bSuccess = true, message = "查询成功", result = res }; } catch (Exception ex) { logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "查询失败", result = ex.Message }; } } } }