Esempio n. 1
0
 /// <summary>
 ///
 /// </summary>
 public static void AddAuthLog(this XAIReqBase req)
 {
     //TODO AUTH和Find记入参日志
     using (var dbContext = new DbContextContainer(DbKind.MySql, DbName.FACEDb)._DataAccess)
     {
         try
         {
             var args      = req.Args.ToEntity <XAIReqAuth>();
             var dbAuthLog = new Db_AuthLog
             {
                 AuthID        = "".CreateKey(),
                 AppCode       = req.AppCode,
                 PaperworkType = "IDCARD",
                 PaperworkNo   = args.UserInfo.PaperWorkNo,
                 PhoneNo       = args.UserInfo.PhoneNo,
                 MessageIn     = req.ToJson(),
                 InTime        = Convert.ToDateTime(req.ReqTime),
                 AddDate       = DateTime.Now,
                 IsDelete      = 0
             };
             dbContext.Entry(dbAuthLog).State = EntityState.Added;
             dbContext.SaveChanges();
             req.RowId = dbAuthLog.Id;
         }
         catch (Exception ex)
         {
             LogModule.Error("Db Fail:" + ex.Message + (ex.InnerException == null ? "" : ex.InnerException.Message) + "\r\n参数:" + req.EntityToKeyValue(false));
         }
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 构造
 /// </summary>
 /// <param name="_Req"></param>
 public BusinessBIDU(XAIReqBase _Req)
 {
     if (BIDUClientCache.Where(w => w.Key == _Req.AppCode).Count() == 0)
     {
         lock (BIDUClientCache)
         {
             using (var dbContext = new DbContextContainer(DbKind.MySql, DbName.FACEDb)._DataAccess)
             {
                 var dbApp = dbContext.DbApp(_Req.AppCode);
                 if (dbApp != null)
                 {
                     client = new Baidu.Aip.Face.Face(dbApp.AppKey.ToString(), dbApp.AppSecret.ToString())
                     {
                         Timeout = 60000  // 修改超时时间
                     };
                     BIDUClientCache.AddOrUpdate(_Req.AppCode, client, (key, value) => value);
                 }
                 else
                 {
                     throw new Exception("Missing app config or not activated!");
                 }
             }
         }
     }
     else
     {
         client = BIDUClientCache.Where(w => w.Key == _Req.AppCode).FirstOrDefault().Value;
     }
 }
Esempio n. 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="busKind"></param>
 /// <param name="req"></param>
 private void DoInit(string busKind, XAIReqBase req)
 {
     try
     {
         var builder = new ContainerBuilder();
         builder.RegisterType(Type.GetType("XAI.Business.Business" + "BIDU"))
         .WithParameter("_Req", req)
         .As <IBusiness>();
         _Business = builder.Build()
                     .Resolve <IBusiness>();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException());
     }
 }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        protected void InvalidAppCode()
        {
            if (this.Request.Headers.ContentType == "application/json" || this.Request.Headers.ContentType == "application/json;")
            {
                var body = this.Request.Body.AsString();
                LogModule.Info("XAI->Req--->入参:" + body);
                //支持Json传输 Args传对象
                try
                {
                    var _ReqJson = body.ToEntity <XAIReqBaseJson>();
                    _Req = new XAIReqBase()
                    {
                        AppCode  = _ReqJson.AppCode,
                        Channel  = _ReqJson.Channel,
                        Args     = _ReqJson.Args.ToJson(),
                        Kind     = _ReqJson.Kind,
                        ReqTime  = _ReqJson.ReqTime,
                        TermCode = _ReqJson.TermCode,
                    };
                }
                catch
                {
                    _Req = body.ToEntity <XAIReqBase>();
                }
            }
            else
            {
                _Req = this.Bind <XAIReqBase>();
                LogModule.Info("XAI->Req--->入参:" + _Req.ToJson());
            }
            if (_Req.AppCode.IsNullOrEmptyOfVar())
            {
                _Req.AppCode = "0000";
            }
            else
            {
                _App = _AppCache.Where(w => w.Key == _Req.AppCode).FirstOrDefault().Value;
            }
            if (_App == null)
            {
                throw new Exception("Invalid AppCode!");
            }

            _Req.ReqTime.IsDateTime("ReqTime");
            _Req.Channel.IsNullOrEmptyOfVar("Channel");
            _Req.Args.IsNullOrEmptyOfVar("Args");
        }
Esempio n. 5
0
 /// <summary>
 ///
 /// </summary>
 public static void AddFindLog(this XAIReqBase req)
 {
     using (var dbContext = new DbContextContainer(DbKind.MySql, DbName.FACEDb)._DataAccess)
     {
         try
         {
             var args       = req.Args.ToEntity <XAIReqFind>();
             var dbIdentLog = new Db_IdentLog
             {
                 TimeIn   = Convert.ToDateTime(req.ReqTime),
                 AddDate  = DateTime.Now,
                 IsDelete = 0
             };
             dbContext.Entry(dbIdentLog).State = EntityState.Added;
             dbContext.SaveChanges();
             req.RowId = dbIdentLog.Id;
         }
         catch (Exception ex)
         {
             LogModule.Error("Db Fail:" + ex.Message + (ex.InnerException == null ? "" : ex.InnerException.Message) + "\r\n参数:" + req.EntityToKeyValue(false));
         }
     }
 }
Esempio n. 6
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="busKind"></param>
 /// <param name="req"></param>
 public BusinessContainer(string busKind, XAIReqBase req)
 {
     DoInit(busKind, req);
 }