发表于: 2017-12-28 22:03:45

1 572


今天完成的事情

写了判断当天是否签到的模块

当点击门卫处时,根据用户id获取签到表的上次签到时间,并获取到当前的时间,将签到表中的上次签到时间转换为当天的时间区间,判断当前时间是否在此时间内,在的话就说明当天已经签到


/**
* 判断当天是否已经签到
*/
public String check(Request request){
String result = "";

   Session session = request.getSession();

   Integer id = Integer.parseInt(session.getAttribute("UserId"));

   Sign sign = null;
   try {
           sign = service.getSign(id);   //从数据库获取签到表信息
   } catch (Exception e) {
           e.printStackTrace();
       result = "查询失败";
   }

   Long last = sign.getLast_time(); //上次签到时间

   TimeUtil time = new TimeUtil();
   if (null==last){ //从来没有签到过
       result = "未签到页面";
   }else if (time.getZero()<last && last<time.getTwelve()){//当天已经签到
       result = "已经签到页面";
   }
return result;

}


写了用于签到日历展示的模块

/**
* 签到历史
* 用于日历的显示
*
*
* 还要考虑空数组的情况!!!
*/
public void history(Model model,Request request){
   String result = "";
   Session session = request.getSession();
   Integer id = Integer.parseInt(session.getAttribute("UserId"));

   TimeUtil timeUtil = new TimeUtil();  //获取当前时间,年份,月份

   String year = timeUtil.getYear();
   String month = timeUtil.getMonth();

   SignHistory history = null;
   try {
         history = service.getSignHistory(id,year,month);

   } catch (Exception e) {
       e.printStackTrace();
       result = "查询失败";
   }

   Integer[] calendar = null;
   if (null==history){ //当月没有签到
                   //返回空数组???
   }else {
//根据分隔符,将字符串打断,获取数组
       calendar = timeUtil.getSignCalendar(history.getDays());//判断为空???
   }

//返回数据
   model.add(calendar);


}

核心思路是将字符串转换为数组

服务器暂时还用不了,只能在本地测试


明天的计划

写完成签到动作的模块


遇到的问题



收获

具体业务逻辑的分析


返回列表 返回列表
评论

    分享到