发表于: 2017-07-25 10:30:46
2 857
今天完成的事情:
1、热招职位列表
需求:最新发布职位的4家认证公司,以及其热招职位信息。
需要返回的字段:公司logo,公司名,规模,行业,省,正在热招的三个职位。
实现思路:
查Job表得到最新职位列表(按发布时间倒排)。
遍历职位列表,取出每一个职位的公司ID,装入set,超过4个值时break。
可得到4家不同的公司ID。
将公司ID set 转为 公司ID list。
遍历list,用逗号拼接公司 ID。
使用自己写getJobsByCIds(String cids, Integer grade)方法,得到那4家公司在招的职位列表。
使用MyListUtil.convert2ListMap(Job类的cid字段,job列表) 得到一个Map<String, ArrayList()>。
String是公司ID,ArrayList是职位列表。
接着,
// 拼接json数组
HashMap<String, Object> companyJobDataMap = null;
for (Company c : companyList) {
companyJobDataMap = new HashMap<String, Object>();
companyJobDataMap.put("cId", c.getId());
companyJobDataMap.put("companyName", c.getName());
companyJobDataMap.put("companyLogo", c.getLogo());
companyJobDataMap.put("companyScale", c.getScale());
companyJobDataMap.put("companyIndustry", c.getIndustry());
companyJobDataMap.put("companyProvince", c.getProvince());
List<Job> jList = (List<Job>) jobMap.get(c.getId());
companyJobDataMap.put("companyHotPositionList", jList);
companyJobDataList.add(companyJobDataMap);
}
明天计划的事情:
1、前台的职位列表、动态职位搜索。
2、学会打tag。学习自动部署。
遇到的问题:
1、下午和组员开始尝试在开发机二上部署项目以给前端调用,结果部署完,多次启动失败了,最后觉得暂时先不部署了。度过了一个灰色的下午。晚上李昂成功让前端访问到他ip,能够调用接口返回真实数据了。
收获:
1、在DynamicUtil 中新增一个 getJobsByCIds()方法,
输出的sql为:
select id from job where cid in(?) and grade=? order by release_at desc
/*
通过多个公司ID查询到多个职位
*/
public static Map<String, Object> getJobsByCIds(String cIds, Integer grade) {
Map<String, Object> params = new HashMap<String, Object>();
if (DataUtils.isNotNullOrEmpty(cIds)) {
params.put("cid & in", "(" + cIds + ")");
}
if (DataUtils.isNotNullOrEmpty(grade)){
params.put("grade", grade);
}
params.put("@table", " job");
params.put("@order", " release_at desc ");
params.put("@query", " id");
return params;
}
评论