`
jinyike
  • 浏览: 29281 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在线统计人数_不同房间的统计人数

阅读更多
    public void doFilter(ServletRequest req, ServletResponse res,
        FilterChain chain)
        throws IOException, ServletException
    {
        HttpServletRequest request = (HttpServletRequest)req;
        HttpServletResponse response = (HttpServletResponse)res;
        HttpSession session = request.getSession();
        Long lastTime = new Date().getTime();
        Long updateTime = (Long)session.getAttribute("updateTime");
        String liveState = (String)request.getParameter("action");
        int flag = 0;
        String enlive = "";
        String exlive = "";
        String mobile = "";
        Long liveroomid = 0l;
        Long roomId = 0l;
        String servletPath = request.getServletPath();
        String islive = (String)session.getAttribute("islive");
        if (IeachConstants.IEACE_ONLINE_PEOPLES_SERVLETPATH.indexOf(servletPath) != -1)
        {
            if (null != islive && !"".equals(islive))
            {
                flag = Integer.parseInt(islive);
            }
            if ("goLiveRoom".equals(liveState))
            {
                UserInfo userInfo = (UserInfo)session.getAttribute("userInfo");
                if (flag == 0)
                {
                    if (null != userInfo)
                    {
                        
                        roomId = Parmfiltrate.toLong(request, "roomid");
                        updateTime = new Date().getTime();
                        session.setAttribute("updateTime", updateTime);
                        session.setAttribute("islive", "1");
                        
                        OnlineSum.entryLive(session.getId(),
                            roomId,
                            userInfo.getMobile());
                        
                    }
                    
                }
                
            }
            else
            {
                
                if (flag == 1)
                {
                    
                    OnlineSum.exitLive(session.getId());
                    
                    session.setAttribute("islive", 0);
                    
                }
                
            }
        }
        if (null != updateTime && lastTime >= updateTime
            || enlive.length() > 3000)
        {
            int sum =
                OnlineSum.getenSessionUser().size()
                    + OnlineSum.getexSessionUser().size();
            if (sum >= 1)
            {
                for (Map.Entry<String, Long> entry : OnlineSum.getenSessionUser()
                    .entrySet())
                {
                    liveroomid =
                        ((Long)OnlineSum.getenSessionUser()
                            .get((String)entry.getKey()));
                    if (!OnlineSum.getexSessionUser()
                        .containsKey(entry.getKey()))
                    {
                        mobile =
                            OnlineSum.getSessionUser()
                                .get((String)entry.getKey());
                        enlive +=
                            liveroomid + ":" + (String)entry.getKey() + ":"
                                + mobile + ",";
                    }
                    
                }
                for (Map.Entry<String, Long> exit : OnlineSum.getexSessionUser()
                    .entrySet())
                {
                    if (!OnlineSum.getenSessionUser()
                        .containsKey(exit.getKey()))
                    {
                        exlive += "'" + (String)exit.getKey() + "'" + ",";
                    }
                    
                }
                if (exlive.length() > 0)
                {
                    exlive = exlive.substring(0, exlive.length() - 1);
                }
                if (enlive.length() > 0)
                {
                    enlive = enlive.substring(0, enlive.length() - 1);
                }
                
            }
            
            liveOnlineService.getOnlineProcedure(enlive, exlive);
            
            // 初始化用户session
            OnlineSum.init();
            session.setAttribute("updateTime",
                new Date().getTime() + 5 * 60 * 1000);
            
        }
        chain.doFilter(request, response);
        
    }
分享到:
评论

相关推荐

    shangweiji.rar_人数统计_室内人数统计_智能灯光_智能照明_智能照明人数

    从描述来看,这个系统的核心功能是人数统计和智能照明控制,特别是针对室内的环境。它具备在光线不足时自动开启灯光,并且能够检测室内的人数,以实现更为智能和节能的照明管理。 1. **人数统计技术**:这是通过...

    实验室人数统计点路课设

    "实验室人数统计点路课设" 实验室人数统计电路设计是数字逻辑课程设计的主要内容之一。该设计旨在设计一个利用光线的通断来统计实验室人数的电路。该电路由光电控制电路、脉冲整形电路、控制逻辑电路、计数器电路、...

    (完整版)实验室人数统计数电课设.pdf

    "实验室人数统计电路设计" 本资源是沈阳航空航天大学课程设计说明书,主题是实验室人数统计电路的设计。该电路设计的目的是统计实验室人数的变化,并提供实时的人数信息。本设计包括光电控制电路、脉冲整形电路、...

    实验室人数统计电路设计

    设计一个利用光线的通断来统计实验室人数的电路。 设计两路光控电路,一路放置在门外,另一路设置在门里,当有人通过门口时(无论是进入或是走出房间),都会先触发一个光控电路,再触发另一个光控电路。要求根据...

    ichat聊天在线人数ASP

    其次,聊天室在线人数统计:在描述中提到的“本房间在线人数”是指特定聊天室内的活跃用户数,这通常通过跟踪每个用户的状态实现,比如每当用户发送消息或心跳请求时,服务器都会更新其在线状态。“本服务器共在线...

    基于单片机的红外线人数统计设计.doc

    基于单片机的红外线人数统计设计 一、课题技术要求和性能指标 技术要求: 1. 用红外探测器检测入场,在场与出场人数。 2. 计算出展馆内现有人数并显示出来,当人数超过某个限制值时通过声卡发出警报声。 性能...

    模拟技术中的介绍关于红外传感器的楼宇人数统计系统设计

    本文介绍的,就是以红外传感器为基础的一套楼宇房间人数统计系统。  1 系统总体设计原理  该系统的总体结构框图如图1所示:通过RE200B热释电红外传感器对周围环境的红外线进行实时数据采集。当有人进入传感器的...

    人数计数器

    人数计数器是一种常见的电子设备,它用于统计进入或离开特定区域的人数。在这个项目中,我们关注的是一个基于LCD显示屏的电子计数器,它能够最大计数到100亿,这是一个相当大的计数范围,适用于各种场合,如商场、...

    c++高校水电统计管理

    间数量、房间编号、房间床位、实际入住人数,实际入住学生信息,年份、月份、宿舍用电 量(度数)、用水量(度数)等,管理员信息包括:工号、姓名、登录密码。【功能要求】 (1) 定义用户类,用户包括学生和管理员。 (2)...

    介绍关于红外传感器的楼宇人数统计系统设计

    本文介绍的,就是以红外传感器为基础的一套楼宇房间人数统计系统。  1 系统总体设计原理  该系统的总体结构框图如图1所示:通过RE200B热释电红外传感器对周围环境的红外线进行实时数据采集。当有人进入传感器的...

    宾馆客房管理系统(含设计文档,c++编写的)

    1. 课程设计目的和意义 4 ...5.2.11 客房在住人数统计_cx 12 5.2.12 客满房间_cx 12 5.2.13 未满房间_cx 13 5.2.14 空房_cx 13 5.2.15 未满非空房间_cx1 13 5.2.16 未满非空房间_cx2 13 6. 设计总结 13

    客房统计表格式.doc

    酒店自用房是指饭店用于员工住宿或其他非营业用途的房间,这部分不计入出租统计,但会影响整体的客房利用率。 再者,待修理房的数量是评估饭店维护水平和客房服务质量的重要参考。待修理房过多可能影响客户体验,...

    六年级数学上册专项复习专项部分统计与可能性北师大版

    7. 房间号编码:2017中20表示楼层,17表示房间号。 8. 电话号码:0755-61376661中的0755是区号,表示城市或地区。 9. 身份证号码:360429197501083312,前6位表示地区码,7-14位表示出生日期(1975年1月8日)。 10. ...

    lineplot_demo.pdf

    这两种方法在统计人数时具有不同的效率特点,特别是在处理大规模问题时。 首先,蛮力法是最直观的方式,每个人依次被计数,例如在有21个人的教室里,需要计数21次。这种方法简单易懂,但效率低下,当人数增加时,...

    概率论和数理统计第四版答案

    ### 概率论和数理统计第四版答案解析 #### 第一章:概率论的基本概念 ##### 1. 随机试验的样本空间 **(1)记录一个小班一次数学考试的平均分数(以百分制记分)** 样本空间表示为所有可能的小班平均分数的集合...

    jiudianguanlixitong.zip_客房管理

    日结算明细表,统计当天的结算收入,挂账数量,入住人数,营业收入等 5. 系统管理,设置不同的权限 (1)、 系统管理员,可以对所有用户的注册和注销进行管理,可修改自己的密码,其余的部分不可用。 (2)、 前台...

    基于C语言实现旅店管理软件【100011937】

    统计当前哪些房间已有旅客入住,入住旅客人数,今日离店的旅客数,已接收到的预定订单数,今日预定旅客的入住人数,今日收入等; 实时查询旅客所在房间号,以及查询某房间的旅客姓名等; 建立日志文件,对旅客信息、...

    c语言_会议管理系统[借鉴].pdf

    4. 统计报道人员信息:汇总参会人员的统计数据,如总人数、不同类别的人数等。 5. 修改报道人员信息:允许用户更新已存在的参会人员信息。 6. 删除报道人员信息:根据用户的选择移除某位参会人员的信息。 【总结】 ...

    【企业管理】会所日收入统计表.docx

    通过这样的统计表,管理者可以实时了解会所的经营状况,对比不同时间段的收入变化,找出收入高峰和低谷的原因,从而做出调整策略,如优化服务时间、推出促销活动或改进服务质量。同时,这些数据也是制定预算、预测...

    学生宿舍管理系统

    宿舍管理系统包括用户登录,登录进入后有系统管理,用户管理,房间管理,住宿管理,费用管理,违纪管理,数据库也包含在其中!欢迎下载使用。 第一模块:系统管理部分 ...1、 房间统计 2、 人数统计 3、 水电费统计

Global site tag (gtag.js) - Google Analytics