Пример #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var pooledClientManager = new PooledRedisClientManager("localhost");
        var client = pooledClientManager.GetClient();
        var blogRedis = new BlogRedis(client);
        var memberRedis = new MemberRedis(client);

        var Id = Request["ID"];
        var idNull = string.IsNullOrEmpty(Id);
        Item = new Member();
        using (var con = DAL.con())
        {
            if (!idNull)
            {
                var blog = blogRedis.GetById(Convert.ToInt64(Id));

                Item = memberRedis.GetByUsername(blog.NguoiTao);
                //blog.Anhs = AnhDal.SelectByPId(con, blog.RowId.ToString(), 20);
                //blog.Profile = Item;
                ViewForProfile.Xes = Item.GetXe(client);
                ViewForProfile.Nhoms = Item.GetNhom(client);
                ViewForProfile.Pager = BinhLuanDal.PagerByPRowId(con, "", true, blog.RowId.ToString(), 20);
                ViewForProfile.Blog = blog;
                ViewForProfile.Item = Item;
            }
        }
    }
Пример #2
0
        /// <summary>
        /// 读取当前魔蓝成员信息
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        private string GetMoredianMember(DataRow row)
        {
            try
            {
                #region 获取参数并简单校验
                string Mobile = string.Empty;
                if (row.Table.Columns.Contains("Mobile"))
                {
                    Mobile = row["Mobile"].ToString();
                }
                if (string.IsNullOrEmpty(Mobile))
                {
                    return(new WxResponse(0, "用户不存在", null).toJson());
                }
                if (Mobile.Length != 11)
                {
                    return(new WxResponse(0, "用户不存在", null).toJson());
                }
                DateTime DateNow = DateTime.Now;
                #endregion
                using (IDbConnection conn = new SqlConnection(PubConstant.WChat2020ConnectionString),
                       erpConn = new SqlConnection(erpConnStr))
                {
                    #region 查询用户信息
                    Tb_User tb_User = conn.QueryFirstOrDefault <Tb_User>("SELECT * FROM Tb_User WITH(NOLOCK) WHERE Mobile = @Mobile", new { Mobile });
                    if (null == tb_User)
                    {
                        return(new WxResponse(0, "用户不存在", null).toJson());
                    }
                    #endregion

                    #region 获取AppToken
                    TianChengEntranceSyncService.Config.EntranceConnectionStr  = erpConnStr;
                    TianChengEntranceSyncService.Config.WChat2020ConnectionStr = PubConstant.WChat2020ConnectionString;
                    string app_token = AppTokenRedis.GetAppToken();
                    if (string.IsNullOrEmpty(app_token))
                    {
                        return(new WxResponse(0, "获取AppToken失败,请联系管理员", null).toJson());
                    }
                    #endregion
                    // 成员信息不存在,进行创建
                    #region 先查询/创建组织机构
                    MoredianOrg moredianOrg = OrgRedis.GetMoredianOrg();
                    if (null == moredianOrg)
                    {
                        return(new WxResponse(0, "组织机构配置错误,请联系管理员", null).toJson());
                    }
                    #endregion
                    #region 查询人员信息
                    MoredianMember moredianMember = MemberRedis.GetMoredianMember(Mobile);
                    #endregion
                    return(new WxResponse(200, "获取成功", moredianMember).toJson());
                }
            }
            catch (Exception ex)
            {
                GetLog().Error(ex.Message + Environment.CommandLine + ex.StackTrace);
                return(new WxResponse(0, "响应异常", null).toJson());
            }
        }
Пример #3
0
 private string GetVisitorInfo(DataRow row)
 {
     try
     {
         #region 获取参数并简单校验
         string RecordID = string.Empty;
         if (row.Table.Columns.Contains("RecordID"))
         {
             RecordID = row["RecordID"].ToString();
         }
         if (string.IsNullOrEmpty(RecordID))
         {
             return(new WxResponse(0, "该记录不存在或已过期", null).toJson());
         }
         #endregion
         using (IDbConnection erpConn = new SqlConnection(erpConnStr))
         {
             dynamic info = erpConn.QueryFirstOrDefault("SELECT b.CommName, b.RoomSign, b.RoomName, a.MemberName, a.MemberMobile, a.MemberType, a.BeginDate, a.EndDate FROM Tb_HSPR_Entrance_Group_Visitor_Record a WITH(NOLOCK) JOIN view_HSPR_Room_Filter b WITH(NOLOCK) ON a.CommID = b.CommID AND a.RoomID = b.RoomID WHERE a.RecordID = @RecordID", new { RecordID });
             if (null == info)
             {
                 return(new WxResponse(0, "该记录不存在或已过期", null).toJson());
             }
             string Mobile = Convert.ToString(info.MemberMobile);
             #region 先查询/创建组织机构
             TianChengEntranceSyncService.Config.EntranceConnectionStr  = erpConnStr;
             TianChengEntranceSyncService.Config.WChat2020ConnectionStr = PubConstant.WChat2020ConnectionString;
             MoredianOrg moredianOrg = OrgRedis.GetMoredianOrg();
             if (null == moredianOrg)
             {
                 return(new WxResponse(0, "组织机构配置错误,请联系管理员", null).toJson());
             }
             #endregion
             #region 获取组织机构的AccessToken
             string access_token = AccessTokenRedis.GetAccessToken(Convert.ToString(moredianOrg.orgId), moredianOrg.orgAuthKey);
             if (string.IsNullOrEmpty(access_token))
             {
                 return(new WxResponse(0, "获取AccessToken失败,请联系管理员", null).toJson());
             }
             #endregion
             MoredianMember moredianMember = MemberRedis.GetMoredianMember(Mobile);
             if (null != moredianMember)
             {
                 info.showFace = moredianMember.showFace;
             }
             else
             {
                 info.showFace = "";
             }
             return(new WxResponse(200, "查询成功", info).toJson());
         }
     }
     catch (Exception ex)
     {
         GetLog().Error(ex.Message + Environment.CommandLine + ex.StackTrace);
         return(new WxResponse(0, "响应异常", null).toJson());
     }
 }
Пример #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var pooledClientManager = new PooledRedisClientManager("localhost");
        var client = pooledClientManager.GetClient();
        var alias = Request["Alias"];
        using (var con = DAL.con())
        {
            var objRedis = new ObjRedis(client);

            var obj = objRedis.GetByAlias(alias);
            if(obj != null && !string.IsNullOrEmpty(obj.Url))
            {
                Response.Redirect(obj.Url, true);
            }

            var memberRedis = new MemberRedis(client);
            var promotedUsers = memberRedis.GetXacNhanItems(0, 7);
            //UserHomeList.List = MemberDal.SelectPromoted(con, 8, 61);
            UserHomeList.List = promotedUsers;

            var blogRedis = new BlogRedis(client);
            //var userBlogs = BlogDal.SelectTopBlogProfile(con, 10, Security.Username, null);
            var userBlogs = blogRedis.GetNhatKyItems(0, 9);
            blogTop.List = userBlogs;
            //var carBlogs = BlogDal.SelectTopBlogXe(con, 10, Security.Username, null);
            var carBlogs = blogRedis.GetHanhTrinhItems(0, 10);
            nhatKyXeTop.List = carBlogs;

            var xeRedis = new XeRedis(client);
            //var topCars = XeDal.HomeTop;
            var topCars = xeRedis.GetAllItems(0, 9);
            //var newstpCars = XeDal.HomeNewest;
            var newstpCars = xeRedis.GetTopItems(0, 9);

            topCarsList.List = topCars;
            newestCarsList.List = newstpCars;

            promotedHome.Visible = false;
            promotedHome.HomeBig = XeDal.PromotedHomeBig.FirstOrDefault();
            promotedHome.HomeMedium = XeDal.PromotedHomeMedium.Take(2).ToList();
            promotedHome.HomeSMall = XeDal.PromotedHomeSmall.Take(4).ToList();

            var loaiDanhMucRedis = new LoaiDanhMucRedis(client);
            var hangXe = loaiDanhMucRedis.GetByAlias("HANGXE");

            //var hangXeList = DanhMucDal.SelectByLDMMa(con, "HANGXE");
            if(hangXe!=null)
            {
                var hangXeList = hangXe.GetDanhMuc(client);
                var hangList = (from p in hangXeList
                                where p.PID == Guid.Empty
                                select p).OrderBy(m => m.ThuTu).ToList();
                LeftMenu.List = hangList;
            }
        }
    }
Пример #5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     var u = Request["u"];
     var pooledClientManager = new PooledRedisClientManager("localhost");
     var client = pooledClientManager.GetClient();
     var memberRedis = new MemberRedis(client);
     var user = memberRedis.GetByUsername(u);
     Item = user;
     profile.Item = user;
     profile.Xes = user.GetXe(client);
     profile.Nhoms = user.GetNhom(client);
     profile.List = user.GetBlogs(client);
 }
Пример #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var pooledClientManager = new PooledRedisClientManager("localhost");
        var client = pooledClientManager.GetClient();
        var blog = new BlogRedis(client);
        var binhLuanRedis = new BinhLuanRedis(client);
        var memberRedis = new MemberRedis(client);
        var js = new JavaScriptSerializer();

        var startDate = DateTime.Now;
        var id = Request["id"];
        if (string.IsNullOrEmpty(id)) id = "29";
        var item = memberRedis.GetByRowId(new Guid("7788fd2f-850d-4eac-95c3-a8f4ac59335f"));
        rendertext(js.Serialize(item));
        MemberDal.Update(item);

        //Response.Write("<h1>Blog</h1>");
        //foreach (var i in blog.GetAll().GetRange(0,10))
        //{
        //    var item = blog.GetById(Convert.ToInt64(i));
        //    Response.Write(string.Format("<h3>{0}:{1}</h3>", i, item.Ten));
        //    foreach (var b in item.BinhLuanIds)
        //    {
        //        var bluan = binhLuanRedis.GetById(Convert.ToInt32(b));
        //        Response.Write(string.Format("{0}:{1}<br/>", b, bluan.NoiDung));
        //    }
        //}

        //Response.Write("<h1>Member</h1>");
        //var memberRedis = new MemberRedis(client);
        //foreach (var i in memberRedis.GetAll())
        //{
        //    var item = memberRedis.GetById(Convert.ToInt32(i));
        //    Response.Write(string.Format("<h3>{0}:{1}</h3>",i, item.Ten));
        //    Response.Write("<hr/>");
        //    foreach (var b in item.BlogIds)
        //    {
        //        var iblog = blog.GetById(Convert.ToInt64(b));
        //        Response.Write(string.Format("{0}:{1}<br/>", b, iblog.Ten));
        //    }
        //}

        var endDate = DateTime.Now;
        Response.Write(string.Format("{0}",(endDate-startDate).TotalMilliseconds));
    }
Пример #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var pooledClientManager = new PooledRedisClientManager("localhost");
        var client = pooledClientManager.GetClient();
        var blogRedis = new BlogRedis(client);
        var memberRedis = new MemberRedis(client);
        var nhomRedis = new NhomRedis(client);
        var xeRedis = new XeRedis(client);

        var Id = Request["ID"];
        var liked = Request["liked"];
        var loai = Request["Loai"];
        var username = Security.Username;
        switch (subAct)
        {
            case "like":
                #region add
               if(Security.IsAuthenticated())
               {
                   var likedVal = Convert.ToBoolean(liked);
                   if(likedVal)
                   {
                       using(var con = DAL.con())
                       {
                           var item = ThichDal.SelectByPidUsernameLoai(con, Id, username, loai);
                           switch (item.Loai)
                           {
                               case 1:
                                   ObjMemberDal.DeleteByPRowIdUsername(Id, username);
                                   var xe = xeRedis.GetByRowId(item.P_ID);
                                   if (xe.Fans.Contains(username))
                                   {
                                       xe.Fans.Remove(username);
                                       xe.TotalLike -= 1;
                                   }
                                   xeRedis.Save(xe);
                                   XeDal.Update(xe);
                                   CacheHelper.Remove(string.Format(XeDal.CacheItemKey, xe.Id));
                                   break;
                               case 2:
                                   var mem = memberRedis.GetByRowId(item.P_ID);
                                   if (mem.Fans.Contains(username))
                                   {
                                       mem.Fans.Remove(username);
                                       mem.TotalLiked -= 1;
                                   }
                                   memberRedis.Save(mem);
                                   MemberDal.Update(mem);
                                   break;
                               case 3:
                                   var blog = blogRedis.GetByRowId(item.P_ID);
                                   if (blog.NguoiThich.Contains(username))
                                   {
                                       blog.NguoiThich.Remove(username);
                                       blog.TotalLike -= 1;
                                   }
                                   blogRedis.Save(blog);
                                   BlogDal.Update(blog);
                                   break;
                           }
                           ThichDal.DeleteById(item.ID);
                       }

                   }
                   else
                   {
                      var item= ThichDal.Insert(new Thich()
                                           {
                                               ID = Guid.NewGuid()
                                               , NgayTao = DateTime.Now
                                               , P_ID = new Guid(Id)
                                               , Username = Security.Username
                                               , Loai = Convert.ToInt32(loai)
                                           });
                       switch (item.Loai)
                       {
                           case 1:
                               var xe = xeRedis.GetByRowId(item.P_ID);
                               if (xe.Fans.Contains(username))
                               {
                                   xe.Fans.Insert(0, username);
                                   xe.TotalLike += 1;
                               }
                               xeRedis.Save(xe);
                               XeDal.Update(xe);
                               CacheHelper.Remove(string.Format(XeDal.CacheItemKey, xe.Id));
                               ObjMemberDal.Insert(new ObjMember()
                                                       {
                                                           PRowId = xe.RowId
                                                           ,
                                                           Username = username
                                                           , Owner = false
                                                           , NgayTao = DateTime.Now
                                                           , RowId = Guid.NewGuid()
                                                       });
                               break;
                           case 2:
                               var mem = memberRedis.GetByRowId(item.P_ID);
                               if (mem.Fans.Contains(username))
                               {
                                   mem.Fans.Insert(0, username);
                                   mem.TotalLiked += 1;
                               }
                               memberRedis.Save(mem);
                               MemberDal.Update(mem);
                               break;
                           case 3:
                               var blog = blogRedis.GetByRowId(item.P_ID);

                               if (blog.NguoiThich.Contains(username))
                               {
                                   blog.NguoiThich.Insert(0, username);
                                   blog.TotalLike += 1;
                               }
                               blogRedis.Save(blog);
                               BlogDal.Update(blog);
                               break;
                       }
                   }
               }
                break;
                #endregion
            default:
                break;

        }
    }
Пример #8
0
        /// <summary>
        /// 发起远程开门
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        private string RemoteOpenDoor(DataRow row)
        {
            try
            {
                #region 获取参数并简单校验
                string Mobile = string.Empty;
                if (row.Table.Columns.Contains("Mobile"))
                {
                    Mobile = row["Mobile"].ToString();
                }
                if (string.IsNullOrEmpty(Mobile))
                {
                    return(new WxResponse(0, "用户不存在", null).toJson());
                }
                if (Mobile.Length != 11)
                {
                    return(new WxResponse(0, "用户不存在", null).toJson());
                }
                if (!row.Table.Columns.Contains("UserID") || !int.TryParse(row["UserID"].ToString(), out int UserID))
                {
                    return(new WxResponse(0, "用户不存在", null).toJson());
                }
                string DeviceId = string.Empty;
                if (row.Table.Columns.Contains("DeviceId"))
                {
                    DeviceId = row["DeviceId"].ToString();
                }
                if (string.IsNullOrEmpty(DeviceId))
                {
                    return(new WxResponse(0, "请选择要开的门", null).toJson());
                }
                DateTime DateNow = DateTime.Now;
                #endregion
                using (IDbConnection conn = new SqlConnection(PubConstant.WChat2020ConnectionString),
                       erpConn = new SqlConnection(erpConnStr))
                {
                    #region 查询用户信息
                    Tb_User tb_User = conn.QueryFirstOrDefault <Tb_User>("SELECT * FROM Tb_User WITH(NOLOCK) WHERE Id = @Id AND Mobile = @Mobile", new { Id = UserID, Mobile });
                    if (null == tb_User)
                    {
                        return(new WxResponse(0, "用户不存在", null).toJson());
                    }
                    #endregion

                    #region 获取AppToken
                    TianChengEntranceSyncService.Config.EntranceConnectionStr  = erpConnStr;
                    TianChengEntranceSyncService.Config.WChat2020ConnectionStr = PubConstant.WChat2020ConnectionString;
                    string app_token = AppTokenRedis.GetAppToken();
                    if (string.IsNullOrEmpty(app_token))
                    {
                        return(new WxResponse(0, "获取AppToken失败,请联系管理员", null).toJson());
                    }
                    #endregion

                    // 成员信息不存在,进行创建
                    #region 先查询/创建组织机构
                    MoredianOrg moredianOrg = OrgRedis.GetMoredianOrg();
                    if (null == moredianOrg)
                    {
                        return(new WxResponse(0, "组织机构配置错误,请联系管理员", null).toJson());
                    }
                    #endregion
                    #region 获取AccessToken
                    string access_token = AccessTokenRedis.GetAccessToken(Convert.ToString(moredianOrg.orgId), moredianOrg.orgAuthKey);
                    if (string.IsNullOrEmpty(access_token))
                    {
                        return(new WxResponse(0, "获取AccessToken失败,请联系管理员", null).toJson());
                    }
                    #endregion
                    #region 查询人员信息
                    MoredianMember moredianMember = MemberRedis.GetMoredianMember(Mobile);
                    if (null == moredianMember)
                    {
                        return(new WxResponse(0, "请先使用“人脸采集”功能录入人脸信息后再使用远程开门", null).toJson());
                    }
                    long   memberId   = moredianMember.memberId;
                    string memberName = moredianMember.memberName;
                    if (string.IsNullOrEmpty(memberName))
                    {
                        memberName = moredianMember.mobile;
                    }
                    #endregion
                    #region 查询设备是否存在
                    DeviceId = erpConn.QueryFirstOrDefault <string>("SELECT DeviceId FROM Tb_HSPR_Entrance_Device WITH(NOLOCK) WHERE DeviceId = @DeviceId", new { DeviceId });
                    if (string.IsNullOrEmpty(DeviceId))
                    {
                        return(new WxResponse(0, "该设备不存在", null).toJson());
                    }
                    #endregion
                    #region 发起远程开门
                    {
                        IMoredianApiClient            client  = new DefaultMoredianApiClient(TianChengEntranceSyncService.Config.MoreDian.APIURL);
                        MoredianRemoteOpenDoorRequest request = new MoredianRemoteOpenDoorRequest
                        {
                            deviceId   = Convert.ToInt64(DeviceId),
                            memberId   = memberId,
                            memberName = memberName
                        };
                        MoredianRemoteOpenDoorResponse response = client.Execute(request, app_token, access_token);
                        if (!response.IsSucc())
                        {
                            return(new WxResponse(0, response.Message, response).toJson());
                        }
                        return(new WxResponse(200, "操作成功", response).toJson());
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                GetLog().Error(ex.Message + Environment.CommandLine + ex.StackTrace);
                return(new WxResponse(0, "响应异常", null).toJson());
            }
        }
Пример #9
0
        /// <summary>
        /// 提交魔蓝成员信息(创建或者修改成员信息)
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        private string SubmitMoredianMember(DataRow row)
        {
            try
            {
                #region 获取参数并简单校验
                string Mobile = string.Empty;
                if (row.Table.Columns.Contains("Mobile"))
                {
                    Mobile = row["Mobile"].ToString();
                }
                if (string.IsNullOrEmpty(Mobile))
                {
                    return(new WxResponse(0, "用户不存在", null).toJson());
                }
                if (Mobile.Length != 11)
                {
                    return(new WxResponse(0, "用户不存在", null).toJson());
                }
                string Face = string.Empty;
                if (row.Table.Columns.Contains("Face"))
                {
                    Face = row["Face"].ToString();
                }
                DateTime DateNow = DateTime.Now;
                #endregion

                using (IDbConnection conn = new SqlConnection(PubConstant.WChat2020ConnectionString),
                       erpConn = new SqlConnection(erpConnStr))
                {
                    #region 获取AppToken
                    TianChengEntranceSyncService.Config.EntranceConnectionStr  = erpConnStr;
                    TianChengEntranceSyncService.Config.WChat2020ConnectionStr = PubConstant.WChat2020ConnectionString;
                    string app_token = AppTokenRedis.GetAppToken();
                    if (string.IsNullOrEmpty(app_token))
                    {
                        return(new WxResponse(0, "获取AppToken失败,请联系管理员", null).toJson());
                    }
                    #endregion
                    #region 先查询/创建组织机构
                    MoredianOrg moredianOrg = OrgRedis.GetMoredianOrg();
                    if (null == moredianOrg)
                    {
                        return(new WxResponse(0, "组织机构配置错误,请联系管理员", null).toJson());
                    }
                    #endregion
                    #region 获取组织机构的AccessToken
                    string access_token = AccessTokenRedis.GetAccessToken(Convert.ToString(moredianOrg.orgId), moredianOrg.orgAuthKey);
                    if (string.IsNullOrEmpty(access_token))
                    {
                        return(new WxResponse(0, "获取AccessToken失败,请联系管理员", null).toJson());
                    }
                    #endregion
                    MoredianMember moredianMember = MemberRedis.GetMoredianMember(Mobile);

                    #region 读取人脸图片
                    byte[] showFace = null;
                    string IncidentAcceptImageUrl = Global_Fun.AppWebSettings("IncidentAcceptImageUrl");
                    if (Face.Contains(IncidentAcceptImageUrl))
                    {
                        string IncidentAcceptImageSavePath = Global_Fun.AppWebSettings("IncidentAcceptImageSavePath");
                        #region 从本地服务器读取图片
                        // 替换文件路径为本地路径
                        string localFacePath = Face.Replace(IncidentAcceptImageUrl, IncidentAcceptImageSavePath);
                        if (!File.Exists(localFacePath))
                        {
                            return(new WxResponse(0, "人脸图片不存在,请重试", null).toJson());
                        }
                        FileStream fileStream = File.OpenRead(localFacePath);
                        int        filelength = (int)fileStream.Length;
                        showFace = new byte[filelength];
                        fileStream.Read(showFace, 0, filelength);
                        #endregion
                    }
                    else
                    {
                        #region 从网络获取图片内容
                        {
                            try
                            {
                                HttpHelper http = new HttpHelper();
                                HttpItem   item = new HttpItem()
                                {
                                    URL              = Face,                  //URL     必需项
                                    Method           = "GET",                 //URL     可选项 默认为Get
                                    Timeout          = 5000,                  //连接超时时间     可选项默认为100000
                                    ReadWriteTimeout = 5000,                  //写入Post数据超时时间     可选项默认为30000
                                    ResultType       = ResultType.Byte,       //返回数据类型,是Byte还是String
                                    ProtocolVersion  = HttpVersion.Version11, //获取或设置用于请求的 HTTP 版本。默认为 System.Net.HttpVersion.Version11
                                };
                                HttpResult result = http.GetHtml(item);
                                showFace = result.ResultByte;
                            }
                            catch (Exception ex)
                            {
                                return(new WxResponse(0, "读取人脸图片失败,请重试", ex.Message).toJson());
                            }
                        }
                        #endregion
                    }
                    #endregion

                    #region 成员不存在,创建成员
                    if (null == moredianMember)
                    {
                        // 进行创建人员信息
                        IMoredianApiClient          client  = new DefaultMoredianApiClient(TianChengEntranceSyncService.Config.MoreDian.APIURL);
                        MoredianCreateMemberRequest request = new MoredianCreateMemberRequest
                        {
                            moredianMember = new MoredianMember
                            {
                                mobile     = Mobile,
                                memberName = Mobile,
                            },

                            showFace   = showFace,
                            verifyFace = showFace,
                        };
                        MoredianCreateMemberResponse response = client.Execute(request, app_token, access_token);
                        if (!response.IsSucc())
                        {
                            return(new WxResponse(0, "上传人脸信息失败,请重试", response.Message).toJson());
                        }
                        moredianMember = new MoredianMember
                        {
                            memberId = response.memberId,
                            mobile   = Mobile,
                            showFace = Face
                        };
                        erpConn.Execute("INSERT INTO [dbo].[Tb_HSPR_Entrance_Member](Mobile, MemberId, Face) VALUES (@Mobile, @MemberId, @Face)", new { Mobile, Face, MemberId = moredianMember.memberId });
                        moredianMember = MemberRedis.UpdateMoredianMember(Mobile);
                        return(new WxResponse(200, "上传人脸信息成功", moredianMember).toJson());
                    }
                    #endregion

                    if (string.IsNullOrEmpty(moredianMember.showFace) && string.IsNullOrEmpty(Face))
                    {
                        return(new WxResponse(200, "操作成功", null).toJson());
                    }

                    #region  除人脸
                    if (string.IsNullOrEmpty(Face))
                    {
                        // 更新显示图片
                        IMoredianApiClient client = new DefaultMoredianApiClient(TianChengEntranceSyncService.Config.MoreDian.APIURL);
                        MoredianDeleteMemberVerifyFaceRequest request = new MoredianDeleteMemberVerifyFaceRequest
                        {
                            memberId = moredianMember.memberId,
                        };
                        MoredianDeleteMemberVerifyFaceResponse response = client.Execute(request, app_token, access_token);
                        if (!response.IsSucc())
                        {
                            return(new WxResponse(0, "删除人脸信息失败", response.Message).toJson());
                        }
                        erpConn.Execute("UPDATE Tb_HSPR_Entrance_Member SET Face = @Face WHERE Mobile = @Mobile AND MemberId = @MemberId", new { Mobile, Face, MemberId = moredianMember.memberId });
                        moredianMember = MemberRedis.UpdateMoredianMember(Mobile);
                        return(new WxResponse(200, "删除人脸信息成功", moredianMember).toJson());
                    }
                    #endregion


                    #region 更新成员人脸
                    {
                        // 更新显示图片
                        IMoredianApiClient client = new DefaultMoredianApiClient(TianChengEntranceSyncService.Config.MoreDian.APIURL);
                        MoredianUpdateMemberVerifyFaceRequest request = new MoredianUpdateMemberVerifyFaceRequest
                        {
                            memberId = moredianMember.memberId,
                            face     = showFace
                        };
                        MoredianUpdateMemberVerifyFaceResponse response = client.Execute(request, app_token, access_token);
                        if (!response.IsSucc())
                        {
                            return(new WxResponse(0, "更新人脸信息失败,请重试", response.Message).toJson());
                        }
                    }
                    {
                        // 更新显示图片
                        IMoredianApiClient client = new DefaultMoredianApiClient(TianChengEntranceSyncService.Config.MoreDian.APIURL);
                        MoredianUpdateMemberShowFaceRequest request = new MoredianUpdateMemberShowFaceRequest
                        {
                            memberId = moredianMember.memberId,
                            face     = showFace
                        };
                        MoredianUpdateMemberShowFaceResponse response = client.Execute(request, app_token, access_token);
                        // 显示图片不处理失败情况
                    }
                    erpConn.Execute("UPDATE Tb_HSPR_Entrance_Member SET Face = @Face WHERE Mobile = @Mobile AND MemberId = @MemberId", new { Mobile, Face, MemberId = moredianMember.memberId });
                    moredianMember = MemberRedis.UpdateMoredianMember(Mobile);
                    return(new WxResponse(200, "更新人脸信息成功", moredianMember).toJson());

                    #endregion
                }
            }
            catch (Exception ex)
            {
                GetLog().Error(ex.Message + Environment.CommandLine + ex.StackTrace);
                return(new WxResponse(0, "响应异常", null).toJson());
            }
        }
Пример #10
0
    public void InitBlog(SqlConnection con, IRedisClient redis)
    {
        const string itemKey = "urn:blog:{0}";
        const string itemList = "urn:blog:list:{0}";

        var blogRedis = new BlogRedis(redis);
        var memberRedis = new MemberRedis(redis);
        var nhomRedis = new NhomRedis(redis);
        var xeRedis = new XeRedis(redis);
        var member = new Member();
        var xe = new Xe();
        var nhom = new Nhom();
        var nguoiTao = new Member();

        //STEP:1
        //var blog = BlogDal.SelectAll().FirstOrDefault();
        //redis.Set(string.Format(itemKey,blog.Id), blog);

        //STEP:2
        var list = BlogDal.SelectAll();

        var all = redis.Lists[string.Format(itemList, "all")];
        var approved = redis.Lists[string.Format(itemList, "approved")];
        var unApproved = redis.Lists[string.Format(itemList, "unApproved")];
        var topNhatKy = redis.Lists[string.Format(itemList, "blog")];
        var topHanhTrinh = redis.Lists[string.Format(itemList, "hanhTrinh")];
        var topNhomBlog = redis.Lists[string.Format(itemList, "nhomBlog")];
        var topNhomForum = redis.Lists[string.Format(itemList, "nhomForum")];
        foreach (var item in list)
        {
            var key = string.Format(itemKey, item.Id);
            var thich = ThichDal.SelectByPidLoai(item.RowId, 3);
            foreach (var thich1 in thich)
            {
                item.NguoiThich.Insert(0, thich1.Username);
            }
            var anhs = AnhDal.SelectByPId(DAL.con(), item.RowId.ToString(), 100);
            foreach (var anh in anhs)
            {
                item.AnhList.Insert(0, anh.Id);
            }

            var binhLuanList = BinhLuanDal.PagerByPRowId(con, "a", false, item.RowId.ToString(), 1000).List;
            foreach (var binhLuan in binhLuanList)
            {
                item.BinhLuanIds.Insert(0, binhLuan.Id);
            }

            switch (item.Loai)
            {
                case 1:
                    member = memberRedis.GetByRowId(item.PID_ID);
                    topHanhTrinh.Push(item.Id.ToString(CultureInfo.InvariantCulture));
                    if (member != null)
                    {
                        item.Url = string.Format("{0}/blogs/{1}/", member.Url, item.Id);
                        item.UrlEdit = string.Format("{0}/blogs/edit/{1}/", member.Url, item.Id);
                    }
                    break;
                case 2:
                    xe = xeRedis.GetByRowId(item.PID_ID);
                    if (xe != null)
                    {
                        item.Url = string.Format("{0}blogs/{1}/", xe.XeUrl, item.Id);
                        item.UrlEdit = string.Format("{0}blogs/edit/{1}/", xe.XeUrl, item.Id);
                    }
                    topNhatKy.Push(item.Id.ToString());
                    break;
                case 3:
                    nhom = nhomRedis.GetByRowId(item.PID_ID);
                    if (nhom != null)
                    {
                        item.Url = string.Format("{0}blogs/{1}/", nhom.Url, item.Id);
                        item.UrlEdit = string.Format("{0}blogs/edit/{1}/", nhom.Url, item.Id);
                    }
                    topNhomBlog.Push(item.Id.ToString());
                    break;
                case 4:
                    nhom = nhomRedis.GetByRowId(item.PID_ID);
                    if (nhom != null)
                    {
                        item.Url = string.Format("{0}forum/{1}/", nhom.Url, item.Id);
                        item.UrlEdit = string.Format("{0}blogs/edit/{1}/", nhom.Url, item.Id);
                    }
                    topNhomForum.Push(item.Id.ToString());
                    break;
            }
            redis.Set(key, item);
            redis.Set(string.Format(itemKey, item.RowId), item.Id);
            all.Push(item.Id.ToString());
            if (item.Publish)
            {
                approved.Push(item.Id.ToString());
            }
            else
            {
                unApproved.Push(item.Id.ToString());
            }

        }
    }
Пример #11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var pooledClientManager = new PooledRedisClientManager("localhost");
        var client = pooledClientManager.GetClient();
        var Ten = Request["Ten"];
        var PID_ID = Request["PID_ID"];
        var Loai = Request["Loai"];
        var Id = Request["Id"];
        var cUrl = Request["cUrl"];
        var rowId = Request["RowId"];
        var noiDung = Request["NoiDung"];
        var approved = Request["approved"];
        var logged = Security.IsAuthenticated();
        var idNull = string.IsNullOrEmpty(Id) || Id == "0";
        var blogRedis = new BlogRedis(client);
        var memberRedis = new MemberRedis(client);
        var nhomRedis = new NhomRedis(client);
        var xeRedis = new XeRedis(client);
        switch (subAct)
        {
            case "save":
                #region save blog
                if (logged && !string.IsNullOrEmpty(PID_ID) && !string.IsNullOrEmpty(Loai))
                {
                    var item = idNull ? new Blog() : BlogDal.SelectById(Convert.ToInt64(Id));
                    var member = new Member();
                    var xe = new Xe();
                    var nhom = new Nhom();
                    var nguoiTao = new Member();
                    item.NoiDung = noiDung;
                    item.Ten = Ten;
                    if (!string.IsNullOrEmpty(Loai))
                    {
                        item.Loai = Convert.ToInt32(Loai);
                    }
                    if (!string.IsNullOrEmpty(PID_ID))
                    {
                        item.PID_ID = new Guid(PID_ID);
                    }
                    if (!string.IsNullOrEmpty(rowId))
                    {
                        item.RowId = new Guid(rowId);
                    }

                    item.MoTa = Lib.Rutgon(Lib.NoHtml(item.NoiDung), 400);
                    var anhs = AnhDal.SelectByPId(DAL.con(), item.RowId.ToString(), 20).OrderByDescending(x => x.AnhBia).ToList();

                    if (anhs.Count > 0)
                    {
                        var sb = new StringBuilder();
                        foreach (var anhItem in anhs)
                        {
                            sb.AppendFormat(@"<a href=""{1}""><img alt=""{0}"" src=""/lib/up/car/{0}?w=75"" /></a>" , anhItem.FileAnh, item.Url);
                            item.AnhList.Add(anhItem.Id);
                        }
                        item.AnhStr = sb.ToString();

                    }
                    switch (item.Loai)
                    {
                        case 1:
                            member = memberRedis.GetByRowId(item.PID_ID);
                            break;
                        case 2:
                            xe = xeRedis.GetByRowId(item.PID_ID);
                            break;
                        case 3:
                        case 4:
                        case 5:
                            //item.Nhom = NhomDal.SelectByRowId(DAL.con(), item.PID_ID, Security.Username);
                            nhom = nhomRedis.GetByRowId(item.PID_ID);
                            break;
                    }
                    if (idNull)
                    {
                        item.NguoiTao = Security.Username;
                        item.NgayTao = DateTime.Now;
                        var insert = BlogDal.Insert(item);
                        item.Id = insert.Id;
                        item.NguoiThich.Insert(0, item.NguoiTao);
                        nguoiTao = memberRedis.GetByUsername(item.NguoiTao);
                        switch (item.Loai)
                        {
                            case 1:
                                if(member!= null)
                                {
                                    member.TotalBlog += 1;
                                    member.BlogIds.Insert(0, item.Id);
                                    memberRedis.Save(member);
                                    MemberDal.Update(member);
                                }
                                break;
                            case 2:
                                if (xe != null)
                                {
                                    xe.BlogIds.Insert(0, item.Id);
                                    xe.TotalBlog += 1;
                                    xeRedis.Save(xe);
                                    XeDal.Update(xe);
                                }
                                CacheHelper.Remove(string.Format(XeDal.CacheItemKey,item.Id));
                                systemMessageDal.Insert(new systemMessage()
                                {
                                    NoiDung = string.Format("<strong>{0}</strong> viết bài mới", nguoiTao.Ten)
                                    ,
                                    HeThong = false
                                    ,
                                    Id = Guid.NewGuid()
                                    ,
                                    PRowId = item.PID_ID
                                    ,
                                    NgayTao = DateTime.Now
                                    ,
                                    Active = true
                                    ,
                                    Loai = 1
                                    ,
                                    Url = string.Format("{0}", item.Url)
                                    ,
                                    Ten = string.Empty
                                    ,
                                    ThanhVienMoi = false
                                    ,
                                    Username = Security.Username
                                    ,
                                    ThuTu = 0
                                });
                                break;
                            case 3:
                            case 4:
                            case 5:
                                nhom.TotalBlog += 1;
                                if(item.Loai==3)
                                {
                                    nhom.BlogIds.Insert(0, item.Id);
                                }
                                else
                                {
                                    nhom.ForumBlogIds.Insert(0, item.Id);
                                }
                                nhomRedis.Save(nhom);
                                if (nhom.NhomMo)
                                {
                                    item.Publish = true;
                                }
                                systemMessageDal.Insert(new systemMessage()
                                {
                                    NoiDung = string.Format("<strong>{0}</strong> viết bài mới", nguoiTao.Ten)
                                    ,
                                    HeThong = false
                                    ,
                                    Id = Guid.NewGuid()
                                    ,
                                    PRowId = item.PID_ID
                                    ,
                                    NgayTao = DateTime.Now
                                    ,
                                    Active = true
                                    ,
                                    Loai = 1
                                    ,
                                    Url = string.Format("{0}", item.Url)
                                    ,
                                    Ten = string.Empty
                                    ,
                                    ThanhVienMoi = false
                                    ,
                                    Username = Security.Username
                                    ,
                                    ThuTu = 0
                                });
                                NhomDal.Update(nhom);
                                BlogDal.Update(item);
                                break;
                        }
                        ObjMemberDal.Insert(new ObjMember()
                        {
                            PRowId = item.RowId
                            ,
                            Username = Security.Username
                            ,
                            Owner = true
                            ,
                            NgayTao = DateTime.Now
                            ,
                            RowId = Guid.NewGuid()
                        });
                        var obj = ObjDal.Insert(new Obj()
                        {
                            Id = Guid.NewGuid()
                            ,
                            Kieu = typeof(Blog).FullName
                            ,
                            NgayTao = DateTime.Now
                            ,
                            RowId = item.RowId
                            ,
                            Url = string.Format("{0}", item.Url)
                            ,
                            Username = Security.Username
                        });

                    }
                    else
                    {
                        nguoiTao = memberRedis.GetByUsername(item.NguoiTao);
                        BlogDal.Update(item);

                    }
                    switch (item.Loai)
                    {
                        case 1:
                            if (member != null)
                            {
                                item.Url = string.Format("{0}/blogs/{1}/", member.Url, item.Id);
                                item.UrlEdit = string.Format("{0}/blogs/edit/{1}/", member.Url, item.Id);
                            }
                            break;
                        case 2:
                            if (xe != null)
                            {
                                item.Url = string.Format("{0}blogs/{1}/", xe.XeUrl, item.Id);
                                item.UrlEdit = string.Format("{0}blogs/edit/{1}/", xe.XeUrl, item.Id);
                            }
                            break;
                        case 3:
                            if (nhom != null)
                            {
                                item.Url = string.Format("{0}blogs/{1}/", nhom.Url, item.Id);
                                item.UrlEdit = string.Format("{0}blogs/edit/{1}/", nhom.Url, item.Id);
                            }
                            break;
                        case 4:
                            if (nhom != null)
                            {
                                item.Url = string.Format("{0}forum/{1}/", nhom.Url, item.Id);
                                item.UrlEdit = string.Format("{0}blogs/edit/{1}/", nhom.Url, item.Id);
                            }
                            break;
                        case 5:
                            if (nhom != null)
                            {
                                item.Url = string.Format("{0}qa/{1}/", nhom.Url, item.Id);
                                item.UrlEdit = string.Format("{0}blogs/edit/{1}/", nhom.Url, item.Id);
                            }
                            break;
                    }
                    blogRedis.Save(item);
                    SearchManager.Add(item.Ten, string.Format("{0} {1}", item.Ten, item.NoiDung), string.Empty, item.RowId.ToString(), item.Url, typeof(Blog).Name);
                    rendertext(item.Url);
                }
                rendertext("0");
                break;
                #endregion
            case "remove":
                #region remove blog
                if(!string.IsNullOrEmpty(Id) && logged)
                {
                    var item = BlogDal.SelectById(Convert.ToInt64(Id));
                    if(item.NguoiTao==Security.Username)
                    {
                        SearchManager.Remove(item.RowId);
                        ObjDal.DeleteByRowId(item.RowId);
                        ObjMemberDal.DeleteByPRowId(item.RowId.ToString());
                        ThichDal.DeleteByPId(item.RowId);
                        CacheHelper.Remove(string.Format(BlogDal.CacheItemKey, item.Id));
                        BlogDal.DeleteById(item.Id);
                        blogRedis.Remove(item.Id);
                        rendertext("1");
                    }
                }
                break;
                #endregion
            case "nhomDuyetBlog":
                #region duyet blog of Nhom
                if (!string.IsNullOrEmpty(Id) && logged && !string.IsNullOrEmpty(approved))
                {
                    var Approved = approved == "1";

                    var item = blogRedis.GetById(Convert.ToInt64(Id));
                    if(Approved)
                    {
                        item.Publish = true;
                        BlogDal.Update(item);
                        blogRedis.Save(item);
                    }
                    else
                    {
                        blogRedis.Save(item);
                        BlogDal.DeleteById(item.Id);
                    }

                }
                break;
                #endregion
        }
    }