Ejemplo n.º 1
0
        public override void Startup(IService service)
        {
            Instance = this;

            Dao.Init(ConnectionString, DataApi);
            RecordDao.Init(ConnectionString, DataApi);

            service
            .AddSiteMenu(siteId => new Menu
            {
                Text      = "在线支付",
                IconClass = "ion-card",
                Menus     = new List <Menu>
                {
                    new Menu
                    {
                        Text = "在线支付记录",
                        Href = $"{nameof(PageRecords)}.aspx"
                    },
                    new Menu
                    {
                        Text = "支付集成设置",
                        Href = $"{nameof(PageIntegrationPay)}.aspx"
                    }
                }
            })
            .AddDatabaseTable(RecordDao.TableName, RecordDao.Columns)
            .AddStlElementParser(StlPayment.ElementName, StlPayment.Parse);

            service.ApiPost += Service_ApiPost;
            service.ApiGet  += Service_ApiGet;
        }
Ejemplo n.º 2
0
 public RecordServiceImpl(ApplicationClass application)
 {
     if (recordDao == null)
     {
         recordDao = new RecordDao(application);
     }
 }
Ejemplo n.º 3
0
        public static object ApiPaySuccess(IRequest request)
        {
            var orderNo = request.GetPostString("orderNo");

            RecordDao.UpdateIsPaied(orderNo);

            return(new {});
        }
Ejemplo n.º 4
0
        public static object ApiPay(IRequest request)
        {
            var siteId      = request.GetPostInt("siteId");
            var productId   = request.GetPostString("productId");
            var productName = request.GetPostString("productName");
            var fee         = request.GetPostDecimal("fee");
            var channel     = request.GetPostString("channel");
            var message     = request.GetPostString("message");
            var isMobile    = request.GetPostBool("isMobile");
            var successUrl  = request.GetPostString("successUrl");
            var orderNo     = Regex.Replace(Convert.ToBase64String(Guid.NewGuid().ToByteArray()), "[/+=]", "");

            successUrl += "&orderNo=" + orderNo;

            var paymentApi = new PaymentApi(siteId);

            var recordInfo = new RecordInfo
            {
                SiteId      = siteId,
                Message     = message,
                ProductId   = productId,
                ProductName = productName,
                Fee         = fee,
                OrderNo     = orderNo,
                Channel     = channel,
                IsPaied     = false,
                UserName    = request.UserName,
                AddDate     = DateTime.Now
            };

            RecordDao.Insert(recordInfo);

            if (channel == "alipay")
            {
                return(isMobile
                    ? paymentApi.ChargeByAlipayMobi(productName, fee, orderNo, successUrl)
                    : paymentApi.ChargeByAlipayPc(productName, fee, orderNo, successUrl));
            }
            if (channel == "weixin")
            {
                var apiUrl = Context.PluginApi.GetPluginApiUrl(Main.PluginId);

                var notifyUrl = $"{apiUrl}/{nameof(ApiWeixinNotify)}/{orderNo}?siteId={siteId}";
                var url       = HttpUtility.UrlEncode(paymentApi.ChargeByWeixin(productName, fee, orderNo, notifyUrl));
                var qrCodeUrl = $"{apiUrl}/{nameof(ApiQrCode)}?qrcode={url}";
                return(new
                {
                    qrCodeUrl,
                    orderNo
                });
            }
            if (channel == "jdpay")
            {
                return(paymentApi.ChargeByJdpay(productName, fee, orderNo, successUrl));
            }

            return(null);
        }
Ejemplo n.º 5
0
        public static object ApiWeixinInterval(IRequest request)
        {
            var orderNo = request.GetPostString("orderNo");

            var isPaied = RecordDao.IsPaied(orderNo);

            return(new
            {
                isPaied
            });
        }
Ejemplo n.º 6
0
        public void Page_Load(object sender, EventArgs e)
        {
            var request = SiteServer.Plugin.Context.GetCurrentRequest();

            _siteId = request.GetQueryInt("siteId");

            if (!request.AdminPermissions.HasSitePermissions(_siteId, Main.PluginId))
            {
                Response.Write("<h1>未授权访问</h1>");
                Response.End();
                return;
            }

            if (!string.IsNullOrEmpty(Request.QueryString["delete"]) &&
                !string.IsNullOrEmpty(Request.QueryString["idCollection"]))
            {
                var array = Request.QueryString["idCollection"].Split(',');
                var list  = array.Select(s => Convert.ToInt32(s)).ToList();
                RecordDao.Delete(list);
                LtlMessage.Text = Utils.GetMessageHtml("删除成功!", true);
            }

            SpContents.ControlToPaginate = RptContents;
            SpContents.ItemsPerPage      = 20;
            SpContents.SelectCommand     = RecordDao.GetSelectString(_siteId);
            SpContents.SortField         = nameof(RecordInfo.Id);
            SpContents.SortMode          = "DESC";
            RptContents.ItemDataBound   += RptContents_ItemDataBound;

            if (IsPostBack)
            {
                return;
            }

            SpContents.DataBind();

            BtnDelete.Attributes.Add("onclick", Utils.ReplaceNewline($@"
var ids = [];
$(""input[name='idCollection']:checked"").each(function () {{
    ids.push($(this).val());}}
);
if (ids.length > 0){{
    {Utils.SwalWarning("删除记录", "此操作将删除所选记录,确定吗?", "取 消", "删 除",
                $"location.href='{GetRedirectUrl(_siteId)}&delete={true}&idCollection=' + ids.join(',')")}
}} else {{
    {Utils.SwalError("请选择需要删除的记录!", string.Empty)}
}}
;return false;", string.Empty));
        }
Ejemplo n.º 7
0
        public static void Reset()
        {
            _dataApi = null;

            _administratorDao         = null;
            _administratorsInRolesDao = null;
            _areaDao               = null;
            _channelDao            = null;
            _channelGroupDao       = null;
            _configDao             = null;
            _contentCheckDao       = null;
            _contentDao            = null;
            _contentGroupDao       = null;
            _countDao              = null;
            _databaseDao           = null;
            _dbCacheDao            = null;
            _departmentDao         = null;
            _errorLogDao           = null;
            _keywordDao            = null;
            _logDao                = null;
            _permissionsInRolesDao = null;
            _pluginConfigDao       = null;
            _pluginDao             = null;
            _recordDao             = null;
            _relatedFieldDao       = null;
            _relatedFieldItemDao   = null;
            _roleDao               = null;
            _siteDao               = null;
            _siteLogDao            = null;
            _sitePermissionsDao    = null;
            _specialDao            = null;
            _tableDao              = null;
            _tableMatchDao         = null;
            _tableMetadataDao      = null;
            _tableStyleDao         = null;
            _tableStyleItemDao     = null;
            _tagDao                = null;
            _templateDao           = null;
            _templateLogDao        = null;
            _templateMatchDao      = null;
            _userDao               = null;
            _userLogDao            = null;
        }
Ejemplo n.º 8
0
        public static HttpResponseMessage ApiWeixinNotify(IRequest request, string orderNo)
        {
            var siteId = request.GetPostInt("siteId");

            var response = new HttpResponseMessage();

            var paymentApi = new PaymentApi(siteId);

            bool   isPaied;
            string responseXml;

            paymentApi.NotifyByWeixin(request.HttpRequest, out isPaied, out responseXml);
            if (isPaied)
            {
                RecordDao.UpdateIsPaied(orderNo);
            }

            response.Content = new StringContent(responseXml);
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml");
            response.StatusCode = HttpStatusCode.OK;

            return(response);
        }
Ejemplo n.º 9
0
        public static HttpResponseMessage ApiWeixinNotify(IRequest request, string orderNo)
        {
            var response = new HttpResponseMessage();

            var siteId     = request.GetQueryInt("siteId");
            var paymentApi = new PaymentApi(siteId);

            bool   isPaied;
            string responseXml;

            paymentApi.NotifyByWeixin(HttpContext.Current.Request, out isPaied, out responseXml);
            //var filePath = Path.Combine(Main.PhysicalApplicationPath, "log.txt");
            //File.WriteAllText(filePath, responseXml);
            if (isPaied)
            {
                RecordDao.UpdateIsPaied(orderNo);
            }

            response.Content = new StringContent(responseXml);
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml");
            response.StatusCode = HttpStatusCode.OK;

            return(response);
        }
Ejemplo n.º 10
0
        public int SaveRecord(TblRecord client)
        {
            RecordDao record = new RecordDao();

            return(record.SaveRecord(client));
        }
Ejemplo n.º 11
0
 public RecordService(DbConnection myDbCon)
 {
     dao = new RecordDao(myDbCon);
 }
Ejemplo n.º 12
0
 public RecordService()
 {
     dao = new RecordDao(null);
 }
Ejemplo n.º 13
0
        public void Startup(IContext context, IService service)
        {
            DatabaseType     = context.Environment.DatabaseType;
            ConnectionString = context.Environment.ConnectionString;
            DataApi          = context.DataApi;
            ConfigApi        = context.ConfigApi;
            ParseApi         = context.ParseApi;
            FilesApi         = context.FilesApi;
            AdminApi         = context.AdminApi;

            Dao       = new Dao(ConnectionString, DataApi);
            RecordDao = new RecordDao(ConnectionString, DataApi);

            service
            .AddSiteMenu(siteId => new Menu
            {
                Text      = "在线支付",
                IconClass = "ion-card",
                Menus     = new List <Menu>
                {
                    new Menu
                    {
                        Text = "在线支付记录",
                        Href = $"{nameof(PageRecords)}.aspx"
                    },
                    new Menu
                    {
                        Text = "支付集成设置",
                        Href = $"{nameof(PageIntegrationPay)}.aspx"
                    }
                }
            })
            .AddDatabaseTable(RecordDao.TableName, RecordDao.Columns)
            .AddStlElementParser(StlPayment.ElementName, StlPayment.Parse)
            .AddJsonPost((request, name) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlPayment.ApiGet)))
                {
                    return(StlPayment.ApiGet(request));
                }
                if (Utils.EqualsIgnoreCase(name, nameof(StlPayment.ApiPay)))
                {
                    return(StlPayment.ApiPay(request));
                }
                if (Utils.EqualsIgnoreCase(name, nameof(StlPayment.ApiPaySuccess)))
                {
                    return(StlPayment.ApiPaySuccess(request));
                }
                if (Utils.EqualsIgnoreCase(name, nameof(StlPayment.ApiWeixinInterval)))
                {
                    return(StlPayment.ApiWeixinInterval(request));
                }

                return(null);
            })
            .AddHttpGet((request, name) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlPayment.ApiQrCode)))
                {
                    return(StlPayment.ApiQrCode(request));
                }

                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            })
            .AddHttpPost((request, name) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlPayment.ApiRedirect)))
                {
                    var successUrl = request.GetPostString("successUrl");
                    StlPayment.ApiRedirect(successUrl);
                }

                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            })
            .AddHttpPost((request, name, id) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlPayment.ApiWeixinNotify)))
                {
                    return(StlPayment.ApiWeixinNotify(request, id));
                }

                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            });
        }
Ejemplo n.º 14
0
        public List <Record> getDataClientRecord(int number)
        {
            RecordDao recordData = new RecordDao();

            return(recordData.getDataClientRecord(number));
        }
Ejemplo n.º 15
0
        public void Startup(IContext context, IService service)
        {
            DataApi    = context.DataApi;
            ConfigApi  = context.ConfigApi;
            ParseApi   = context.ParseApi;
            FilesApi   = context.FilesApi;
            AdminApi   = context.AdminApi;
            ContentApi = context.ContentApi;

            DatabaseType     = context.Environment.DatabaseType;
            ConnectionString = context.Environment.ConnectionString;

            Dao       = new Dao();
            RecordDao = new RecordDao();

            service
            .AddDatabaseTable(RecordDao.TableName, RecordDao.Columns)
            .AddSiteMenu(siteId => new Menu
            {
                Text      = "文章打赏",
                IconClass = "ion-social-yen",
                Menus     = new List <Menu>
                {
                    new Menu
                    {
                        Text = "文章打赏设置",
                        Href = $"{nameof(PageSettings)}.aspx"
                    },
                    new Menu
                    {
                        Text = "文章打赏记录",
                        Href = $"{nameof(PageRecords)}.aspx"
                    }
                }
            })
            .AddStlElementParser(StlReward.ElementName, StlReward.Parse)
            .AddJsonPost((request, name) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiPay)))
                {
                    return(StlReward.ApiPay(request));
                }
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiPaySuccess)))
                {
                    return(StlReward.ApiPaySuccess(request));
                }
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiWeixinInterval)))
                {
                    return(StlReward.ApiWeixinInterval(request));
                }

                return(null);
            })
            .AddHttpGet((request, name) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiQrCode)))
                {
                    return(StlReward.ApiQrCode(request));
                }

                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            })
            .AddHttpPost((request, name, id) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiWeixinNotify)))
                {
                    return(StlReward.ApiWeixinNotify(request, id));
                }

                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            });
        }