分享

纯真IP地址库ajax处理

 suweixin 2011-01-14
/// 纯真IP地址库ajax处理 [C#源代码来自http://www./]

using System;
using System.Web.UI;
using System.Collections.Generic;
using sys.sql;
using sys.sql.sqlServer;

namespace web.ajax.dataWarehouse
{
    /// <summary>
    /// 纯真IP地址库ajax处理
    /// </summary>
    public static class cz88NetIP
    {
        /// <summary>
        /// 纯真IP地址库查询int64集合
        /// </summary>
        private static string[] queryInt64 = new string[] { "startIP", "endIP" };

        #region 获取纯真IP地址库列表
        /// <summary>
        /// 获取纯真IP地址库列表
        /// </summary>
        /// <param name="httpPage">当前http请求页面信息</param>
        /// <param name="isPost">是POST还是GET请求</param>
        /// <returns>纯真IP地址库列表</returns>
        public static string list(Page httpPage, bool isPost)
        {
            int uid = sys.module.user.sqlTable.users.currentAdminUid;
            string ajaxString = String.Empty;
            if (uid != 0 && sys.module.user.sqlTable.userTablePurview.isPurview(uid, (short)sys.sql.config.tableNames.dataWarehouse_ip_cz88_net, (byte)sys.module.user.sqlTable.userTablePurview.purviewBitmap.read))
            {
                sys.sql.sqlServer.wholeTableCache.singleKeySingleDictionary<sys.module.dataWarehouse.sqlTable.structs.dataWarehouse_ip_cz88_net, long> cache = sys.module.dataWarehouse.ip.cz88.ipCache;
                long[] query = sys.web.http.request.formQuery.getInt63(queryInt64, 0, isPost);
                string addressName = "address", address = sys.web.http.request.formQuery.getString(addressName, String.Empty, isPost), where = String.Empty;
                bool isWhere = false;
                ajaxString += "{" + sys.sql.page.ajaxQueryName + ":{";
                if (query[0] != 0)
                {
                    foreach (sys.module.dataWarehouse.sqlTable.structs.dataWarehouse_ip_cz88_net ip in cache.getEntitys("startIP<=" + query[0], "startIP desc", 0, 1)) query[0] = ip.startIP_;
                    if (isWhere) { where += " and"; ajaxString += ","; }
                    where += " " + queryInt64[0] + ">=" + query[0];
                    ajaxString += queryInt64[0] + ":" + query[0];
                    isWhere = true;
                }
                if (query[1] != 0)
                {
                    foreach (sys.module.dataWarehouse.sqlTable.structs.dataWarehouse_ip_cz88_net ip in cache.getEntitys("endIP>=" + query[1], "endIP", 0, 1)) query[1] = ip.endIP_;
                    if (isWhere) { where += " and"; ajaxString += ","; }
                    where += " " + queryInt64[0] + "<" + query[0];
                    ajaxString += queryInt64[1] + ":" + query[0];
                    isWhere = true;
                }
                if (address.Length != 0)
                {
                    if (isWhere) { where += " and"; ajaxString += ","; }
                    where += " " + addressName + " like '%" + address.toLike(256) + "%'";
                    ajaxString += addressName + ":" + sys.web.http.request.formQuery.ajaxSingleQuoteString + query[0] + sys.web.http.request.formQuery.ajaxSingleQuoteString;
                }
                sys.sql.page.queryPage pageInfo = sys.sql.page.getInfo(cache.getCount(where), isPost);
                ajaxString += "}," + sys.sql.page.ajaxPageName + ":" + pageInfo.ajaxString() + "," + sys.sql.page.ajaxListName + ":";
                if (pageInfo.count == 0) ajaxString += "[]";
                else ajaxString += sys.module.dataWarehouse.sqlTable.structs.getAjaxString_dataWarehouse_ip_cz88_net(cache.getEntitys(where, "startIP", pageInfo.page == 1 ? 0 : ((pageInfo.page - 1) * pageInfo.notPerPage), pageInfo.notPerPage));
                ajaxString += "}";
            }
            return ajaxString;
        }
        #endregion
    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多