发表于: 2018-01-30 23:15:39

1 478


今天完成的事情:

修改前台搜索接口,课程记录,热门推荐接口.

研究定时任务,今天需要修改的接口比较多,耽误不少时间.第一次做项目很多东西没有约定好,遇到问题需要改代码.


    @RequestMapping(value = "/a/u/lessonPeriod/search", method = RequestMethod.GET)
public String searchCourse(HttpServletRequest request, HttpServletResponse response, ModelMap model, Long subject, Long grade, String name, Integer page, Integer size) throws Exception {

if (IsNullUtil.isNullOrEmpty(subject)) {
model.addAttribute("code", "-1000");
           return "common/fail";
       }
if (IsNullUtil.isNullOrEmpty(grade)) {
model.addAttribute("code", "-1000");
           return "common/fail";
       }
if (null == page) {
page = 1;
       }
if (null == size) {
size = 5;
       }
//      当页开始数目
       Integer firstNmuber = (page - 1) * size;
       if (firstNmuber < 0) {
firstNmuber = 0;
       }
Integer total = null;
       List<HashMap<String, Object>> realSearchLessonPeriod = new ArrayList<>();

       try {
//       根据搜索条件获取课程ids,获取课程下面课时ids,
           Map<String, Object> param2 = DynamicUtil.getCourseIdsByserach(grade,subject,name);
           List<Long> searchCourseIds = courseService.getIdsByDynamicCondition(Course.class, param2, firstNmuber, size);
           List<Long> lessonPeriodIds=lessonPeriodService.getLessonPeriodIdsByCourseIds(searchCourseIds,firstNmuber,size);
           List<LessonPeriod> lessonPeriodList = lessonPeriodService.getObjectsByIds(lessonPeriodIds);
//                根据课时ids获取对应的任务数

           if (CollectionUtils.isEmpty(lessonPeriodList)){
model.addAttribute("code",2);
               return "common/fail";
           }
Map<String, Object> param = DynamicUtil.countTaskTotalBylessonPeriod(lessonPeriodIds);
           List<Long> countTaskIds = lessonPeriodService.getIdsByDynamicCondition(Task.class, param, 0, Integer.MAX_VALUE);
           Integer i = 0;
           for (LessonPeriod lessonPeriod: lessonPeriodList){
HashMap<String, Object> searchLessonPeriod = new HashMap<>();
               Long lessonPeriodId = lessonPeriod.getId();
               String lessonPeriodName = lessonPeriod.getName();
//          0不收费 1收费,
               Integer lockStatus = null;
               if (lessonPeriod.getStatus().equals(Constant.NEED_MODENY)){
Map<String, Object> param1 = DynamicUtil.getLockByLessonPeriodId(lessonPeriodId);
                   List<Long> lessonPeriodLockId = lessonPeriodService.getIdsByDynamicCondition(Task.class, param1, 0, Integer.MAX_VALUE);
//             如果id为空说明没有解锁 0为解锁
                   if (CollectionUtils.isEmpty(lessonPeriodLockId)){
lockStatus = 0;
                   }else{
lockStatus = 1;
                   }
}else{
lockStatus = lessonPeriod.getStatus();
               }

searchLessonPeriod.put("countTaskIds",countTaskIds.get(i++));
               searchLessonPeriod.put("lessonPeriodId",lessonPeriodId);
               searchLessonPeriod.put("lockStatus",lockStatus);
               searchLessonPeriod.put("lessonPeriodName",lessonPeriodName);
               realSearchLessonPeriod.add(searchLessonPeriod);
           }

model.addAttribute("code",0);
           model.addAttribute("total", total);
           model.addAttribute("size", size);
           model.addAttribute("realSearchLessonPeriod", realSearchLessonPeriod);
       }catch (Throwable t) {
log.error(t.getMessage());
           log.error("get course error,id is  ");
           model.addAttribute("code", -1);
       }
return "lessonPeriod/json/lessonPeriodSearch";
   }




明天计划的事情:

做个定时任务的demo


遇到的困难:

从数据库搜索到的值为空.将需要查询的表两张表联合起来通过join in  并通过对应的id使两张表对应起来,然后取另外一张表的值查出来就是0.


任务进度:接口编写

任务开始时间:2017-12-12

预计demo时间:2017-02-09

是否有延期风险:暂无

禅道地址:http://task.ptteng.com/zentao/task-view-17095.html



返回列表 返回列表
评论

    分享到