发表于: 2017-07-27 23:23:20
1 1135
任务十:
今天完成的事情:
1.公司信息管理接口,在新增和修改公司信息的两个接口是比较麻烦的,理清思路,按着不步骤来就能写出来。比如新增公司接口,要将前台传到后台的公司信息,先存到公司表里,得到公司的id,然后将职位信息插入职位表中,带上公司id,标签列表也带上公司的id,存入公司表中。作完以上步骤才算是完成了公司新增动作。
还有上下架的修改,公司下架要考虑到有没有在招的职位在线上,如果有的话,需要先下架职位信息,才能对公司进行下架。
//修改公司标签
List<Label> labelList = companyData.getLabel();
log.info("========>labelList"+labelList);
/**
* 步骤:
* 1.通过公司id获取标签表中的ids1
* 2.获取前台传到后台的标签ids2
* 3.取ids1和ids2交集id,进行updateList(修改过或者没有修改的标签)
* 4.去ids1和ids2中的重复的id,将剩下的id删除(删除的标签)
* 5.没有id的标签进行新增操作(新增标签)
*/
//1.通过公司id获取标签表中的ids1
Map<String, Object> params = DynamicUtil.getLabelIdByCid(id);
List<Long> ids1 = labelService.getIdsByDynamicCondition(Label.class, params,0,Integer.MAX_VALUE);
log.info("=======>ids1");
//2.获取ids2
List<Long> ids2 = null;
for (Label label : labelList) {
ids2.add(label.getId());
}
log.info("=========>ids2"+ids2);
//3.1去ids1和ids2的交集
try {
ids1.retainAll(ids2);
log.info("============>去交集:ids1=" + ids1);
//3.2将重复的ids1获取对象
List<Label> labelList1 = labelService.getObjectsByIds(ids1);
//3.3更新labellist1(修改标签)
labelService.updateList(labelList1);
log.info("=========>update labelList1 success");
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("update labellist error");
model.addAttribute("code", -6003);
}
//4.1将ids1和ids2去重,获得删除的标签
try {
ids1.removeAll(ids2);
log.info("=========>取差集:ids1="+ids1);
//4.2删除对应的对象
labelService.deleteList(Label.class,ids1);
log.info("=========>delete success");
model.addAttribute("code", 0);
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("update labellist error");
model.addAttribute("code", -6003);
}
//5.1获取labellist中没有id的标签(即新增标签)
List<Label> labelList1 = new ArrayList<>();
for (Label label : labelList) {
if (label.getId() == null) {
labelList1.add(label);
}
}
log.info("============>labellist1"+labelList1);
//5.2新增标签
try {
labelService.insertList(labelList1);
log.info("=========>insert success");
model.addAttribute("code", 0);
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("insert labelList1 error");
model.addAttribute("code", -6003);
}
return "common/success";
List<Label> labelList = companyData.getLabel();
log.info("========>labelList"+labelList);
/**
* 步骤:
* 1.通过公司id获取标签表中的ids1
* 2.获取前台传到后台的标签ids2
* 3.取ids1和ids2交集id,进行updateList(修改过或者没有修改的标签)
* 4.去ids1和ids2中的重复的id,将剩下的id删除(删除的标签)
* 5.没有id的标签进行新增操作(新增标签)
*/
//1.通过公司id获取标签表中的ids1
Map<String, Object> params = DynamicUtil.getLabelIdByCid(id);
List<Long> ids1 = labelService.getIdsByDynamicCondition(Label.class, params,0,Integer.MAX_VALUE);
log.info("=======>ids1");
//2.获取ids2
List<Long> ids2 = null;
for (Label label : labelList) {
ids2.add(label.getId());
}
log.info("=========>ids2"+ids2);
//3.1去ids1和ids2的交集
try {
ids1.retainAll(ids2);
log.info("============>去交集:ids1=" + ids1);
//3.2将重复的ids1获取对象
List<Label> labelList1 = labelService.getObjectsByIds(ids1);
//3.3更新labellist1(修改标签)
labelService.updateList(labelList1);
log.info("=========>update labelList1 success");
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("update labellist error");
model.addAttribute("code", -6003);
}
//4.1将ids1和ids2去重,获得删除的标签
try {
ids1.removeAll(ids2);
log.info("=========>取差集:ids1="+ids1);
//4.2删除对应的对象
labelService.deleteList(Label.class,ids1);
log.info("=========>delete success");
model.addAttribute("code", 0);
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("update labellist error");
model.addAttribute("code", -6003);
}
//5.1获取labellist中没有id的标签(即新增标签)
List<Label> labelList1 = new ArrayList<>();
for (Label label : labelList) {
if (label.getId() == null) {
labelList1.add(label);
}
}
log.info("============>labellist1"+labelList1);
//5.2新增标签
try {
labelService.insertList(labelList1);
log.info("=========>insert success");
model.addAttribute("code", 0);
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("insert labelList1 error");
model.addAttribute("code", -6003);
}
return "common/success";
2.职位信息管理的接口增删改查,相对公司较简单,问题不大。
明天计划的事情:
明天将角色管理的放到项目中。
遇到的问题:
暂无。
总结:
总的来说写的比较快,将公司信息管理的接口和职位信息的接口写完了。思路理清写起来就快了。师兄加油了。
评论