发表于: 2017-12-26 23:15:38
1 609
今日完成的事情:
今天写了一下职业模块的几个接口。由于代码写的比较长,所以我下面就不贴完整的代码了。
获取职位详情接口:
这个接口比较简单,只需要根据id获取职位的详细信息,传回给前端即可:
profession = professionService.getObjectById(id);
最主要的一句代码就是上面这句。
获取职位列表:
这个用到了动态查询:
Map<String, Object> conditions = DynamicUtil.getProfessionList(name, companyId, companyName,
professionType, education, experience, startAt, endAt, salary, status);
log.info("dynamic sql is" + conditions);
List<Long> idList = professionService.getIdsByDynamicCondition(Profession.class,conditions,
start,size);
List<Long> count = professionService.getIdsByDynamicCondition(Profession.class,conditions,
0,Integer.MAX_VALUE);
List<Profession> professionList = professionService.getObjectsByIds(idList);
核心代码就是上面的几句。
首先拼接动态sql条件,然后根据动态sql条件获取idList,然后就是根据idList获取professionList,然后需要注意的一点就是统计所有职位的总数,用于分页查询。
删除职位:
这个接口仔细的思考了一下:增加了一些业务逻辑,就是在职位为下架的状态才可以删除,如果职位为上架状态不可以删除,必须先下架。
if(profession.getStatus() == 0){
model.addAttribute("code",-6001);
return "/data/json";
}
professionService.delete(id);
新增职位:
主要的代码:
profession.setId(null);
professionService.insert(profession);
首先会把职业的id设为空,因为老大的代码生成里面id时自增的,所以会自动会给id赋值。
有一个问题需要请教庆东师兄:
我的删除接口是:
@RequestMapping(value = "/a/u/profession/{id}", method = RequestMethod.DELETE)
public String deleteProfessionJson(HttpServletRequest request,
HttpServletResponse response, ModelMap model, @PathVariable Long id)
我看到大佬的代码前面都有对传入的id判空:
if (id == null) {
log.info("job id is null");
model.addAttribute("code", -10008);
return "/common/fail";
}
然后我就请教了一波韦杰师兄,我们讨论过后认为没有必要,因为这个不符合实际的业务需求,因为点击删除职位一定会传回来一个职位的id。
唯一需要判空的地方可能就是自己测试的时候会出现,比如postman测试接口的时候。
所以这里庆东师兄觉得要不要判空呢?如果我没有说明白的话,就明天当面给你说。
今天写好接口之后,测试接口的时候没有出来结果。自己查找了一下原因,发现是companyservice调用数据库出现问题,别的没有问题,这个代码生成主要是我的另一个小伙伴搞得,我尝试解决,没有解决问题。
明日计划的事情:
代码生成有问题,明天修复一下,继续写接口。
遇到的问题:
代码生成有问题,导致我今天写的接口有两个不可用。
收获:
慢慢的越来越熟悉用老大的框架写接口。
任务开始时间:2017/12/15
预计完成时间:2017/12/28
延期:无
禅道:http://taskNaNteng.com/zentao/project-story-494.html
评论