Esempio n. 1
0
        public void ConfigureServices(IServiceCollection services)
        {
            // [SystemConfigs]
            SystemConfigs.Service(services);

            // [Cros] Policy
            Cros.Service(services);

            // [Document API] Swagger
            Swagger.Service(services);

            // [Background Job] Hangfire
            Hangfire.Service(services);

            // [Caching] Redis Cache
            services.AddRedisCache();

            // [Mini Response] WebMarkup
            WebMarkupMin.Service(services);

            // [Mapper] Auto Mapper
            services.AddAutoMapper();

            // [MVC]
            Mvc.Service(services);

            // [Injection] Keep In Last
            DependencyInjection.Service(services);

            // [Database] Use Entity Framework
            Database.Service(services);
        }
Esempio n. 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="configs"></param>
 public SystemConfigsMobileOut(SystemConfigs configs)
 {
     Id         = configs.Id;
     SystemType = configs.SystemType;
     SystemName = configs.SystemName;
     AppID      = configs.AppID;
 }
Esempio n. 3
0
        public async Task <OrderQueryResult> OrderQueryAsync(string WXPayBillno, SystemConfigs tencentparam)
        {
            TenPayV3Info TenPayV3Info = new TenPayV3Info(tencentparam.AppID, tencentparam.AppSecret, tencentparam.TenPayMchId, tencentparam.TenPayKey, tencentparam.TenPayNotify, tencentparam.TenPayWxOpenNotify);
            string       nonceStr     = TenPayV3Util.GetNoncestr();
            TenPayV3OrderQueryRequestData querydata = new TenPayV3OrderQueryRequestData(TenPayV3Info.AppId, TenPayV3Info.MchId, "", nonceStr, WXPayBillno, TenPayV3Info.Key);
            var tencentpayresult = await TenPayV3.OrderQueryAsync(querydata);



            return(tencentpayresult);
        }
        public static void Initial()
        {
            StationManager stationManager = new StationManager();

            StationsList = StationsList = stationManager.SelectAll();
            MachineInfoManager machineInfoManager = new MachineInfoManager();

            MachinesList = machineInfoManager.SelectAll(null);
            LineInfoManager lineInfoManager = new LineInfoManager();

            LinesList = lineInfoManager.SelectAll();

            SystemConfigsManager sysConfigsManager = new SystemConfigsManager();
            SystemConfigs        cfg = sysConfigsManager.Get("andon_material_type");

            if (cfg != null)
            {
                MaterialType = cfg.GetIntValue();
            }

            cfg = sysConfigsManager.Get("Enable_ScadaApi");
            if (cfg != null)
            {
                ScadaAPIConfig.EnableScadaApi = cfg.GetBoolValue();
            }

            cfg = sysConfigsManager.Get("ServerIp");
            if (cfg != null)
            {
                // MqttClientConfig.ServerIp = cfg.config_value;
            }
            cfg = sysConfigsManager.Get("ServerUser");
            if (cfg != null)
            {
                // MqttClientConfig.ServerUser = cfg.config_value;
            }
            cfg = sysConfigsManager.Get("ServerPassword");
            if (cfg != null)
            {
                //MqttClientConfig.ServerPassword = cfg.config_value;
            }
            cfg = sysConfigsManager.Get("ServerPort");
            if (cfg != null)
            {
                //MqttClientConfig.ServerPort = cfg.GetIntValue();
            }
            if (ScadaAPIConfig.EnableScadaApi == false)
            {
                //MqttManager.ConnectToMqtt();
            }
        }
Esempio n. 5
0
        public async Task <SharingResult> profitsharingfinish(SystemConfigs tencentparam, string amount, string transaction_id, string out_order_no)
        {
            var           requestHandler2 = new RequestHandler();
            StringBuilder sb = new StringBuilder();

            requestHandler2.SetParameter("mch_id", tencentparam.TenPayMchId);
            requestHandler2.SetParameter("appid", tencentparam.AppID);
            var profitsharingnonce_str = TenPayV3Util.GetNoncestr();

            requestHandler2.SetParameter("nonce_str", profitsharingnonce_str);
            requestHandler2.SetParameter("sign_type", "HMAC-SHA256");
            requestHandler2.SetParameter("transaction_id", transaction_id);
            requestHandler2.SetParameter("out_order_no", out_order_no);
            requestHandler2.SetParameter("amount", amount);
            requestHandler2.SetParameter("description", "分账完成");
            ////HMAC-SHA256加密签名
            var sha256Sign = requestHandler2.CreateSha256Sign("key", tencentparam.TenPayKey);

            requestHandler2.SetParameter("sign", sha256Sign);
            var urlFormat = "https://api.mch.weixin.qq.com/secapi/pay/profitsharingfinish";

            var data          = requestHandler2.ParseXML();//获取XML
            var formDataBytes = data == null ? new byte[0] : Encoding.UTF8.GetBytes(data);
            var ms            = new MemoryStream();

            ms.Write(formDataBytes, 0, formDataBytes.Length);
            ms.Seek(0, SeekOrigin.Begin);                  //设置指针读取位置
            var cert      = @"C:\cert\apiclient_cert.p12"; //根据自己的证书位置修改
            var password  = tencentparam.TenPayMchId;      //默认为商户号,建议修改
            var resultXml = await ShareAsync(requestHandler2, urlFormat, cert, password);

            var result     = new SharingResult();
            var _resultXml = XDocument.Parse(resultXml);

            result.return_code    = GetXmlValue(_resultXml, "return_code");
            result.result_code    = GetXmlValue(_resultXml, "result_code");
            result.err_code       = GetXmlValue(_resultXml, "err_code");
            result.err_code_des   = GetXmlValue(_resultXml, "err_code_des");
            result.return_msg     = GetXmlValue(_resultXml, "return_msg");
            result.mch_id         = GetXmlValue(_resultXml, "mch_id");
            result.appid          = GetXmlValue(_resultXml, "appid");
            result.nonce_str      = GetXmlValue(_resultXml, "nonce_str");
            result.sign           = GetXmlValue(_resultXml, "sign");
            result.transaction_id = GetXmlValue(_resultXml, "transaction_id");
            result.out_order_no   = GetXmlValue(_resultXml, "out_order_no");
            result.order_id       = GetXmlValue(_resultXml, "order_id");
            return(result);
        }
        private void setServiceStatus(SystemConfigs systemConfig, int status)
        {
            switch (systemConfig)
            {
            case SystemConfigs.DataExportService:
                if (status == 1)
                {
                    lblDataStatus.Text      = "运行中";
                    lblDataStatus.ForeColor = Color.MediumBlue;
                    btnDataService.Text     = "停止";
                    btnDataService.Tag      = 1;
                }
                else
                {
                    lblDataStatus.Text      = "未启动";
                    lblDataStatus.ForeColor = Color.Red;
                    btnDataService.Text     = "启动";
                    btnDataService.Tag      = 0;
                }
                break;

            case SystemConfigs.FtpUpoladService:
                if (status == 1)
                {
                    lblFtpStatus.Text      = "运行中";
                    lblFtpStatus.ForeColor = Color.MediumBlue;
                    btnFtpService.Text     = "停止";
                    btnFtpService.Tag      = 1;
                }
                else
                {
                    lblFtpStatus.Text      = "未启动";
                    lblFtpStatus.ForeColor = Color.Red;
                    btnFtpService.Text     = "启动";
                    btnFtpService.Tag      = 0;
                }
                break;

            case SystemConfigs.HeartbeatService:
                if (status == 1)
                {
                }
                else
                {
                }
                break;
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 我的资产页面
        /// </summary>
        /// <returns></returns>
        public ActionResult mycapital()
        {
            MemberInfoModel logmember = Session[AppContent.SESSION_WEB_LOGIN] as MemberInfoModel;

            if (logmember == null)
            {
                return(RedirectToAction("Index", "Login", new { area = "WebFrontArea" }));
            }
            mycapitalViewModel model = new mycapitalViewModel();

            model.mycapitalinfo  = cbll.GetMemberStaticCapital(logmember.ID);
            model.maxacceptamont = SystemConfigs.GetmaxAcceptAmont();      //得到最大的接受帮助限制
            model.minacceptamont = SystemConfigs.GetminAcceptAmont();      //得到最小的接受帮助限制
            model.minhelpamont   = SystemConfigs.GetminHelpAmont();        //得到最小的提供帮助限制
            model.maxhelpamont   = SystemConfigs.GetmaxHelpAmont();        //得到最大的提供帮助限制
            model.extendinfo     = cbll.GetMemberExtendInfo(logmember.ID); //得到会员的扩展信息
            ViewBag.PageTitle    = web.WebName;
            return(View(model));
        }
Esempio n. 8
0
        public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
        {
            // [Important] The order of middleware very important for request and response handle!
            // Don't mad it !!!

            // [SystemConfigs]
            SystemConfigs.Middleware(app, loggerFactory);

            // Migrate Database
            app.DatabaseMigrate();

            // [Response] Information
            ProcessingTimeMiddleware.Middleware(app);
            SystemInfoMiddleware.Middleware(app);

            // [Cros] Policy
            Cros.Middleware(app);

            // [Log] Serilog
            Log.Middleware(app, loggerFactory);

            // [Exception]
            Exception.Middleware(app);

            // [Security] Identity Server
            IdentityServer.Middleware(app);

            // [Document API] Swagger
            Swagger.Middleware(app);

            // [Background Job] Hangfire
            Hangfire.Middleware(app);

            // [Mini Response] WebMarkup
            WebMarkupMin.Middleware(app);

            // [MVC] Keep In Last
            Mvc.Middleware(app);
        }
Esempio n. 9
0
 public async Task <SystemConfigs> UpdateSystemConfigs(SystemConfigs SystemConfigsInfo)
 {
     return(await _repository.UpdateAsync(SystemConfigsInfo));
 }
Esempio n. 10
0
        public async Task <SystemConfigs> CreateSystemConfigs(SystemConfigs SystemConfigsInfo)
        {
            SystemConfigsInfo.Id = await _repository.InsertAndGetIdAsync(SystemConfigsInfo);

            return(SystemConfigsInfo);
        }
Esempio n. 11
0
        public async Task <AddReceiverResult> ProfitSharingRemoveReceiver(receiver receiver, SystemConfigs tencentparam)
        {
            var nonce_str1      = TenPayV3Util.GetNoncestr();
            var requestHandler3 = new RequestHandler();

            requestHandler3.SetParameter("mch_id", tencentparam.TenPayMchId);
            requestHandler3.SetParameter("appid", tencentparam.AppID);
            requestHandler3.SetParameter("nonce_str", nonce_str1);

            requestHandler3.SetParameter("sign_type", "HMAC-SHA256");
            requestHandler3.SetParameter("receiver", "{\"type\":\"" + receiver.type + "\",\"account\":\"" + receiver.account + "\",\"name\":\"" + receiver.name + "\"}");
            ////HMAC-SHA256加密签名
            var sha256Sign1 = requestHandler3.CreateSha256Sign("key", tencentparam.TenPayKey);

            requestHandler3.SetParameter("sign", sha256Sign1);
            string       urldelete      = "https://api.mch.weixin.qq.com/pay/profitsharingremovereceiver";
            var          data1          = requestHandler3.ParseXML();//获取XML
            var          formDataBytes1 = data1 == null ? new byte[0] : Encoding.UTF8.GetBytes(data1);
            MemoryStream ms1            = new MemoryStream();

            ms1.Write(formDataBytes1, 0, formDataBytes1.Length);
            ms1.Seek(0, SeekOrigin.Begin);//设置指针读取位置
            var resultXml1 = await RequestUtility.HttpPostAsync(urldelete, null, ms1);

            AddReceiverResult result = new AddReceiverResult();
            var _resultXml           = XDocument.Parse(resultXml1);

            result.return_code  = GetXmlValue(_resultXml, "return_code");
            result.result_code  = GetXmlValue(_resultXml, "result_code");
            result.err_code     = GetXmlValue(_resultXml, "err_code");
            result.err_code_des = GetXmlValue(_resultXml, "err_code_des");
            result.mch_id       = GetXmlValue(_resultXml, "mch_id");
            result.appid        = GetXmlValue(_resultXml, "appid");
            result.receiver     = GetXmlValue(_resultXml, "receiver");
            result.nonce_str    = GetXmlValue(_resultXml, "nonce_str");
            result.sign         = GetXmlValue(_resultXml, "sign");
            return(result);
        }
Esempio n. 12
0
        /// <summary>
        /// 患者微信支付下订单
        /// </summary>
        /// <returns></returns>
        public async Task <TencentJSPayRequestModel> UnifiedorderAsync(bool sharing, string spbillCreateIp, YaeherConsultation consul, YaeherUser user, ServiceMoneyList product, SystemConfigs tencentparam)
        {
            TencentJSPayRequestModel jspay = new TencentJSPayRequestModel();

            try
            {
                TenPayV3Info tenPayV3Info = new TenPayV3Info(tencentparam.AppID, tencentparam.AppSecret, tencentparam.TenPayMchId, tencentparam.TenPayKey, tencentparam.TenPayNotify, tencentparam.TenPayWxOpenNotify);

                //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一
                //  var timestamp = DateTime.Now.ToString("yyyyMMddHHmmss");
                // var sjs =;//随机数
                var sjs       = consul.ConsultNumber.Substring(3, consul.ConsultNumber.Length - 3) + TenPayV3Util.BuildRandomStr(6);
                var sp_billno = sjs;
                //   var sp_billno = string.Format("{0}{1}", sjs, user.Id);
                var shortbillno = sp_billno;

                TenPayInfo tenPayInfo = new TenPayInfo();
                //   var body = product == null ? "怡芽问诊" : product.DoctorName+"医生" + product.ServiceType;
                var body      = "怡禾健康咨询";
                var price     = product == null ? 100 : (int)(product.ServiceExpense * 100);//单位:分
                var timeStamp = TenPayV3Util.GetTimestamp();
                var nonceStr  = TenPayV3Util.GetNoncestr();

                var xmlDataInfo = new TenPayV3UnifiedorderRequestData(tenPayV3Info.AppId, tenPayV3Info.MchId, body, sp_billno, price, spbillCreateIp, tenPayV3Info.TenPayV3Notify, TenPayV3Type.JSAPI, user.WecharOpenID, tenPayV3Info.Key, nonceStr);
                //CreateWrite("C:\\回调.txt", "订单参数:" + JsonHelper.ToJson(xmlDataInfo));
                var result = await UnifiedorderAsync(xmlDataInfo, sharing? "Y" : "N"); //调用统一订单接口

                //JsSdkUiPackage jsPackage = new JsSdkUiPackage(TenPayV3Info.AppId, timeStamp, nonceStr,);

                if (result.IsResultCodeSuccess())
                {
                    var package = string.Format("prepay_id={0}", result.prepay_id);
                    var paysign = TenPayV3.GetJsPaySign(tenPayV3Info.AppId, timeStamp, nonceStr, package, tenPayV3Info.Key);

                    jspay.product   = product;
                    jspay.timeStamp = timeStamp;
                    jspay.nonceStr  = nonceStr;
                    jspay.package   = package;
                    jspay.paySign   = paysign;
                    jspay.appid     = tenPayV3Info.AppId;
                    jspay.sp_billno = shortbillno;
                    jspay.code      = result.result_code;
                    jspay.msg       = result.return_msg;
                }
                else
                {
                    jspay.code = result.result_code;
                    jspay.msg  = result.return_msg;
                }
            }
            catch (Exception ex)
            {
                jspay.code = "FAIL";
                jspay.msg  = ex.Message.ToString();
            }
            return(jspay);
        }
Esempio n. 13
0
        public async Task <BaseResultModel> RefundAsync(string outTradeNo, string outRefundNo, int totalFee, int refundFee, SystemConfigs tencentparam, string msg = null)
        {
            BaseResultModel model = new BaseResultModel();

            try
            {
                TenPayV3Info TenPayV3Info = new TenPayV3Info(tencentparam.AppID, tencentparam.AppSecret, tencentparam.TenPayMchId, tencentparam.TenPayKey, tencentparam.TenPayNotify, tencentparam.TenPayWxOpenNotify);
                string       nonceStr     = TenPayV3Util.GetNoncestr();
                //string outTradeNo = Order.WXPayBillno;
                //string outRefundNo = result.RefundNumber;
                //var totalFee = (int)(ServiceResult.result.item.ServiceExpense * 100);//单位:分
                //var totalFee = totalFee;//单位:分
                //int refundFee = totalFee;
                string opUserId  = TenPayV3Info.MchId;
                var    notifyUrl = "http://admin/integraltel.com/api/RefundPayNotify";
                var    dataInfo  = new TenPayV3RefundRequestData(TenPayV3Info.AppId, TenPayV3Info.MchId, TenPayV3Info.Key,
                                                                 null, nonceStr, null, outTradeNo, outRefundNo, totalFee, refundFee, opUserId, null, refundDescription: msg, notifyUrl: notifyUrl);
                var cert     = @"C:\cert\apiclient_cert.p12"; //根据自己的证书位置修改
                var password = TenPayV3Info.MchId;            //默认为商户号,建议修改
                Thread.Sleep(50);
                var wxpayresult = await TenPayV3.RefundAsync(dataInfo, cert, password);

                Thread.Sleep(50);
                model.code = wxpayresult.result_code;
                model.msg  = wxpayresult.return_msg;
            }
            catch (Exception ex)
            {
                model.code = "FAIL";
                model.msg  = ex.Message.ToString();
            }
            return(model);
        }
Esempio n. 14
0
        public async Task <SharingResultQuery> ProfitSharingQueryAsync(string WXPayBillno, string TransactionId, SystemConfigs tencentparam)
        {
            var nonce_str       = TenPayV3Util.GetNoncestr();
            var requestHandler2 = new RequestHandler();

            requestHandler2.SetParameter("mch_id", tencentparam.TenPayMchId);
            requestHandler2.SetParameter("transaction_id", TransactionId);
            requestHandler2.SetParameter("out_order_no", WXPayBillno);
            requestHandler2.SetParameter("nonce_str", nonce_str);
            requestHandler2.SetParameter("sign_type", "HMAC-SHA256");
            ////HMAC-SHA256加密签名
            var sha256Sign = requestHandler2.CreateSha256Sign("key", tencentparam.TenPayKey);

            requestHandler2.SetParameter("sign", sha256Sign);


            string       urlFormat     = "https://api.mch.weixin.qq.com/pay/profitsharingquery";
            var          data          = requestHandler2.ParseXML();//获取XML
            var          formDataBytes = data == null ? new byte[0] : Encoding.UTF8.GetBytes(data);
            MemoryStream ms            = new MemoryStream();

            ms.Write(formDataBytes, 0, formDataBytes.Length);
            ms.Seek(0, SeekOrigin.Begin);//设置指针读取位置
            var resultXml = await RequestUtility.HttpPostAsync(urlFormat, null, ms);

            SharingResultQuery result = new SharingResultQuery();
            var _resultXml            = XDocument.Parse(resultXml);

            result.return_code  = GetXmlValue(_resultXml, "return_code");
            result.result_code  = GetXmlValue(_resultXml, "result_code");
            result.err_code     = GetXmlValue(_resultXml, "err_code");
            result.err_code_des = GetXmlValue(_resultXml, "err_code_des");
            result.mch_id       = GetXmlValue(_resultXml, "mch_id");
            result.appid        = GetXmlValue(_resultXml, "appid");
            result.nonce_str    = GetXmlValue(_resultXml, "nonce_str");
            result.sign         = GetXmlValue(_resultXml, "sign");
            result.status       = GetXmlValue(_resultXml, "status");
            result.receivers    = GetXmlValue(_resultXml, "receivers");
            return(result);
        }
Esempio n. 15
0
        public async Task <List <Movie> > GetMovies(ILogger logger)
        {
            const int DAYS_TO_PERSIST = 1; // Don't spam Amazon.

            // Check if stored movies are still relevant.
            List <Movie> instanceMovies = await Movies.ToListAsync();

            if (instanceMovies.Count > 0)
            {
                DateTime lastSavedDate = instanceMovies.OrderByDescending(m => m.MovieId).Select(m => m.Timestamp).First();
                if (Math.Ceiling((DateTime.Now - lastSavedDate).TotalDays) <= DAYS_TO_PERSIST)
                {
                    return(instanceMovies);
                }
            }

            try
            {
                XDocument responseXML = await Services.GetAmazonItemDataFromKeywords(new List <string>() { "movies" }, SystemConfigs.First());

                List <Movie> newMovies = await Movie.GetMoviesFromXML(responseXML);

                // Delete old movies.
                if (newMovies.Count >= 6)
                {
                    foreach (Movie movie in Movies)
                    {
                        Movies.Remove(movie);
                    }
                    await SaveChangesAsync();
                }

                // Store new movies.
                Movies.AddRange(newMovies);
                await SaveChangesAsync();
            }
            catch (Exception e)
            {
                logger.Error($"Failed to retrieve and update Amazon movies: {e.Message}");
            }

            return(await Movies.ToListAsync());
        }