栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

飞讯管理员端签到部分设计

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

飞讯管理员端签到部分设计

签到分为发布与签到两个部分

发布需要由飞讯注册用户发布

发布的实体的属性

    private Integer Id;
    public String userid;
    public String signLeader;
    public String signEvent;
    public String signWord;
    public String createTime;
    public String expire;

签到不需要是飞讯用户,而是扫码签到,需要输入自己的名字进行数据录入

签到实体的属性

    private Integer id;
    private int signId;
    private String name;
    private String word;
    private String signTime;

前端数据展示部分需要展示:总发布数、总签到人数.

public int[] getSignNum(){//0-launch,1-do
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select count(*) count from signlaunchn" +
                    "union alln" +
                    "select count(*) count from signdo";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            rs.next();
            int nums[]={0,0};

            nums[0]=rs.getInt("count");
            rs.next();
            nums[1]=rs.getInt("count");
            return nums;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }

需要最近七天发布数与签到人数

    //发布签到数七个长度的一维数组,0-最近第一天,6-最近第七天
    public int[] GetSevenDaysSignLaunchNumber(){
        Timestamp nowTime=new Timestamp(System.currentTimeMillis());
        long sevenDaysAgo= nowTime.getTime()-7*24*62*62*1000;
        Timestamp sevenDaysAgoTime=new Timestamp(sevenDaysAgo);
        String time=(sevenDaysAgoTime.getYear()+1900)+"-"+(sevenDaysAgoTime.getMonth()+1)+"-"+(sevenDaysAgoTime.getDate());
        Connection c=null;
        try {
            c=DBConnection.getConnection();
            PreparedStatement ps = null;
            String sql = "select * from signlaunchn" +
                    "where createTime>'"+time+"'";
            ps = c.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();
            int[] msgNums= {0,0,0,0,0,0,0};
            while (rs.next()){
                Timestamp curTime=Timestamp.valueOf(rs.getString("createTime"));
                long timeMinus=nowTime.getTime()-curTime.getTime();
                if(timeMinus>0&&timeMinus<1*24*62*62*1000){
                    msgNums[0]++;
                }else if(timeMinus<2*24*62*62*1000){
                    msgNums[1]++;
                }else if(timeMinus<3*24*62*62*1000){
                    msgNums[2]++;
                }else if(timeMinus<4*24*62*62*1000){
                    msgNums[3]++;
                }else if(timeMinus<5*24*62*62*1000){
                    msgNums[4]++;
                }else if(timeMinus<6*24*62*62*1000){
                    msgNums[5]++;
                }else if(timeMinus<7*24*62*62*1000){
                    msgNums[6]++;
                }


            }
            return msgNums;
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBConnection.closeConnection(c);
        }
        return null;
    }
    //签到人数七个长度的一维数组,0-最近第一天,6-最近第七天
    public int[] GetSevenDaysSignDoNumber(){
        Timestamp nowTime=new Timestamp(System.currentTimeMillis());
        long sevenDaysAgo= nowTime.getTime()-7*24*62*62*1000;
        Timestamp sevenDaysAgoTime=new Timestamp(sevenDaysAgo);
        String time=(sevenDaysAgoTime.getYear()+1900)+"-"+(sevenDaysAgoTime.getMonth()+1)+"-"+(sevenDaysAgoTime.getDate());
        Connection c=null;
        try {
            c=DBConnection.getConnection();
            PreparedStatement ps = null;
            String sql = "select * from signDon" +
                    "where signTime>'"+time+"'";
            ps = c.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();
            int[] msgNums= {0,0,0,0,0,0,0};
            while (rs.next()){
                Timestamp curTime=Timestamp.valueOf(rs.getString("signTime"));
                long timeMinus=nowTime.getTime()-curTime.getTime();
                if(timeMinus>0&&timeMinus<1*24*62*62*1000){
                    msgNums[0]++;
                }else if(timeMinus<2*24*62*62*1000){
                    msgNums[1]++;
                }else if(timeMinus<3*24*62*62*1000){
                    msgNums[2]++;
                }else if(timeMinus<4*24*62*62*1000){
                    msgNums[3]++;
                }else if(timeMinus<5*24*62*62*1000){
                    msgNums[4]++;
                }else if(timeMinus<6*24*62*62*1000){
                    msgNums[5]++;
                }else if(timeMinus<7*24*62*62*1000){
                    msgNums[6]++;
                }


            }
            return msgNums;
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBConnection.closeConnection(c);
        }
        return null;
    }

传送到前端

        int signNums[]=signDao.getSignNum();
        int recentSignNums[]=signDao.GetSevenDaysSignLaunchNumber();
        int recentSignDoNums[]=signDao.GetSevenDaysSignDoNumber();
        request.setAttribute("signNums",signNums);
        request.setAttribute("recentSignNums",recentSignNums);
        request.setAttribute("recentSignDoNums",recentSignDoNums);
        Timestamp nowTime=new Timestamp(System.currentTimeMillis());
        int days[]={0,0,0,0,0,0,0};//日期
        for(int i=0;i<7;i++){
            days[i]=new Timestamp(nowTime.getTime()-i*24*60*60*1000).getDate();
        }
        request.setAttribute("days",days);
        request.getRequestDispatcher("/main/SignBrief.jsp").forward(request, response);

前端的数据展示


            
                
                    共发布了${signNums[0]}个签到
                
                
                
            
             
            
                
                    共签到了${signNums[1]}人
                
                
                
            
            
                

                

            
            




            

        

 效果

 

签到发布的数据列表查询,使用List存储Sign对象

public List getSignList(){
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select * from signlaunch";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            while(rs.next()){
                Sign sign=new Sign();
                sign.setId(rs.getInt("signId"));
                sign.setUserid(rs.getString("userid"));
                sign.setSignLeader(rs.getString("signLeader"));
                sign.setSignEvent(rs.getString("signEvent"));
                sign.setSignWord(rs.getString("signWord"));
                sign.setCreateTime(rs.getTimestamp("createTime").toString());
                sign.setExpire(rs.getString("expire"));
                list.add(sign);
            }
            return list;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }

传输到前端

        List signList=signDao.getSignList();
        request.setAttribute("signList",signList);
        request.getRequestDispatcher("/main/SignList.jsp").forward(request, response);

前端的数据呈现

        
            
群组信息
发起人 领导人 事件 关键词 创建时间 expire 操作
${sign.userid} ${sign.signLeader} ${sign.signEvent} ${sign.signWord} ${sign.createTime} ${sign.expire}

 前端对表格内容进行搜索

function  find(){
            var find=document.getElementsByName("type");
            var data=document.getElementById("demoReload").value;
            var list=-1;
            for (var i=0;i 

后端接收到信息,调用对应的查询方法

        String find=request.getParameter("find");
        String data=request.getParameter("data");
        System.out.println(find);
        System.out.println(data);

        switch (find){
            case "user":slist= dao.getSignByUserid(data);break;
            case "leader":slist=dao.getSignByLeader(data);break;
            case "event":slist=dao.getSignByEvent(data);break;

            default:break;
        }
    public List getSignByUserid(String userid){
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select * from signlaunch where userid like'%"+userid+"%'";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            while(rs.next()){
                Sign sign=new Sign();
                sign.setId(rs.getInt("signId"));
                sign.setUserid(rs.getString("userid"));
                sign.setSignLeader(rs.getString("signLeader"));
                sign.setSignWord(rs.getString("signWord"));
                sign.setSignEvent(rs.getString("signEvent"));
                sign.setCreateTime(rs.getTimestamp("createTime").toString());
                sign.setExpire(rs.getString("expire"));
                list.add(sign);
            }
            return list;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }
    public List getSignByLeader(String leader){
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select * from signlaunch where signLeader like'%"+leader+"%'";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            while(rs.next()){
                Sign sign=new Sign();
                sign.setId(rs.getInt("signId"));
                sign.setUserid(rs.getString("userid"));
                sign.setSignLeader(rs.getString("signLeader"));
                sign.setSignWord(rs.getString("signWord"));
                sign.setSignEvent(rs.getString("signEvent"));
                sign.setCreateTime(rs.getTimestamp("createTime").toString());
                sign.setExpire(rs.getString("expire"));
                list.add(sign);
            }
            return list;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }
    public List getSignByEvent(String event){
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select * from signlaunch where signEvent like'%"+event+"%'";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            while(rs.next()){
                Sign sign=new Sign();
                sign.setId(rs.getInt("signId"));
                sign.setUserid(rs.getString("userid"));
                sign.setSignLeader(rs.getString("signLeader"));
                sign.setSignWord(rs.getString("signWord"));
                sign.setSignEvent(rs.getString("signEvent"));
                sign.setCreateTime(rs.getTimestamp("createTime").toString());
                sign.setExpire(rs.getString("expire"));
                list.add(sign);
            }
            return list;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }

之后重定向到原界面

        request.getRequestDispatcher("/main/SignList.jsp").forward(request, response);

 搜索前

 搜索后

 对某个签到进行详细的查看,点击查看进入,需要展现签到主题,所有的签到人,签到时间,以及最早和最近的签到人

获取所有签到人列表,使用List存储SignDo对象

public List getSignDoList(String signId){
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select * from signdo where signId='"+signId+"'";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            while(rs.next()){
                SignDo signDo=new SignDo();
                signDo.setSignId(rs.getInt("SignDoId"));
                signDo.setName(rs.getString("name"));
                signDo.setWord(rs.getString("signWord"));
                signDo.setSignTime(rs.getTimestamp("signTime").toString());
                list.add(signDo);
            }
            return list;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }

获取最早与最近签到信息

public String[] GetRecentSignDoMsg(String signId){
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select * from signdo where signId='"+signId+"' order by signTime ";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            rs.next();
            String [] data={"","","",""};
            data[0]=rs.getString("name");//第一个签到人
            data[1]=rs.getTimestamp("signTime").toString();//第一个签到时间
            while(rs.next()){
                data[2]=rs.getString("name");//最后一个签到人
                data[3]=rs.getTimestamp("signTime").toString();//最后一个签到时间
            }
            return data;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }

前端传查看的签到id到后端,后端查询到对应Sign

public List getSignById(int id){
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select * from signlaunch where signId='"+id+"'";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            while(rs.next()){
                Sign sign=new Sign();
                sign.setId(rs.getInt("signId"));
                sign.setUserid(rs.getString("userid"));
                sign.setSignLeader(rs.getString("signLeader"));
                sign.setSignWord(rs.getString("signWord"));
                sign.setSignEvent(rs.getString("signEvent"));
                sign.setCreateTime(rs.getTimestamp("createTime").toString());
                sign.setExpire(rs.getString("expire"));
                list.add(sign);
            }
            return list;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }

传回到前端并重定向

        String signId=request.getParameter("signId");
        SignDao signDao=new SignDao();
        List signDoList= signDao.getSignDoList(signId);
        String[] data=signDao.GetRecentSignDoMsg(signId);
        List signList= signDao.getSignById(Integer.parseInt(signId));
        request.setAttribute("signDoList",signDoList);
        request.setAttribute("data",data);
        request.setAttribute("Sign",signList.get(0));
        request.getRequestDispatcher("/main/SignDetail.jsp").forward(request, response);

 对签到人的搜索

需要传输签到id与搜索内容

function  find(){
            var find=document.getElementsByName("type");
            var data=document.getElementById("demoReload").value;
            var list=-1;
            var groupid='${groupId}';
            for (var i=0;i 

后端进行搜索

    public List getSignDoListByUserid(String signId,String userid){
        Connection c=null;
        List list =new ArrayList<>();
        try{
            c=DBConnection.getConnection();

            String sql= "";

            sql="select * from signdo where signId='"+signId+"'and name='"+userid+"'";
            PreparedStatement pst=c.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            while(rs.next()){
                SignDo signDo=new SignDo();
                signDo.setSignId(rs.getInt("SignDoId"));
                signDo.setName(rs.getString("name"));
                signDo.setWord(rs.getString("signWord"));
                signDo.setSignTime(rs.getTimestamp("signTime").toString());
                list.add(signDo);
            }
            return list;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }finally{
            DBConnection.closeConnection(c);
        }
    }

传回前端并重定向

        List signDoList= signDao.getSignDoListByUserid(signId,udata);
        request.setAttribute("signDoList",signDoList);
        request.getRequestDispatcher("/main/SignDetail.jsp").forward(request, response);

搜索前

 搜索后

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/949095.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号