发表于: 2019-11-17 23:25:41
1 1041
今天完成的事情:
写代码,又妥协了。一个接口本来只要一个查询的,现在变成两个查询,还多了一次判断。加上上次排序非要传0,这里一共两个判断。不爽归不爽,还是要做啊,像师兄说的,你这个方案再不好,老板要你做,你做不做!先经历一遍,以后就习惯了.
现在这个这么长,
@GetMapping("/a/list/study")
public Map<String, Object> studySelectList(HttpServletRequest request,StudyObject studyObject,
@RequestParam(value = "status", defaultValue = "1") Integer status,
@RequestParam(value = "sort", defaultValue = "0") Integer sort,
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "size", defaultValue = "10") Integer size) {
HashMap<String, Object> result = new HashMap<>(16);
log.info("获取第{}页共{}行学习对象信息{}按照{}排序", page, size, studyObject, sort);
try {
/*前台默认查询上架的学习对象*/
studyObject.setStatus(status);
/*如果传年级为0,查询时不添加当前用户年级为查询条件,反之从cookie中获取用户ID*/
if (new Integer(0).equals(studyObject.getGrade())) {
studyObject.setGrade(null);
} else if (studyObject.getGrade()==null){
long userId = JWTUtil.getUserIdFromToken(request);
User user = userServer.selectByUserIdAllInfo(userId);
int grade=user.getUserClass();
studyObject.setGrade(grade);
}
/*如果传科目为0,将返回全部科目学习对象*/
if (new Integer(0).equals(studyObject.getCourse())) {
studyObject.setCourse(null);
}
/*排序方式*/
if (sort == 1) {
PageHelper.startPage(page, size, "browse_count desc,create_at desc");
} else if (sort == 2) {
PageHelper.startPage(page, size, "buy_count desc,create_at desc");
} else if (sort == 3) {
studyObject.setPrice(BigDecimal.valueOf(0));
PageHelper.startPage(page, size, "create_at desc");
} else if (sort == 0) {
/*按照创建时间倒序*/
PageHelper.startPage(page, size, "create_at desc");
}
List<StudyObject> studyObjectList = studyObjectServer.selectSelective(studyObject);
PageInfo<StudyObject> pageInfo = new PageInfo<>(studyObjectList);
/*获取总数据量*/
Long total = pageInfo.getTotal();
if (!studyObjectList.isEmpty()) {
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
result.put("total", total);
result.put("data", studyObjectList);
/*查询到的id集合*/
List<Long> selectStudyObjectIdList = new ArrayList();
for (StudyObject studyObject1 : studyObjectList) {
selectStudyObjectIdList.add(studyObject1.getId());
}
log.info("查到的学习对象ID是{}", selectStudyObjectIdList);
} else {
result.put("code", SUCCESS.getCode());
result.put("msg", SUCCESS.getMsg());
result.put("data", studyObjectList);
log.info("未查询到此学习对象信息");
}
return result;
} catch (Exception e) {
e.printStackTrace();
result.put("code", REQUEST_FAILED.getCode());
result.put("msg", REQUEST_FAILED.getMsg());
return result;
}
}
不过最有收获的,还是知道了在测试的时候,填什么样的数据就够了。
只要那表现出当前功能的完整性,就行,比如首页的课程列表,在我选择任意年级,科目时,返回的数据可以表示对应条件,,比如我点了高一,就返回所以高一课程,展示出来的标题不一样,比如高一语文1,高一英语1,高一数学1,然后点击对应科目,可以返回的数据如:高一语文1,高一语文20,高一语文100,这样。每个标题都是不一样的。是一个可用且正确的列表查询。
明天计划的事情:
和组员讨论了下,先把支付的代码写了,到时候用不用在说吧。
遇到的问题:
或许可以尝试用测试号做支付测试
收获:
评论