发表于: 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
评论