发表于: 2017-06-28 21:42:23
2 946
今天完成的任务:
修改了几个出参小bug,少传了几个参数.用另外一种方式实现了新增职位标签.看着自己从看代码,贴代码,到改代码,再自己找出一种方式实现新的代码.虽然只是一小部分,但能融入整个项目正常运行,而不是像开始一样,生怕影响项目运行.
增加一个实体类,来组装传入的参数
/**
* 2.新增职位(ing)
*
* @param request
* @param response
* @param model
* @param professionData
* @return
* @throws Exception
* @throws Throwable
*/
@RequestMapping(value = "/a/u/profession", method = RequestMethod.POST)
public String addProfessionJson(HttpServletRequest request,
HttpServletResponse response, ModelMap model,
@RequestBody ProfessionData professionData) throws Exception, Throwable {
Long uid = null;
Long companyId = null;
Profession profession = professionData.getProfession();
String proTag = professionData.getProTag();
Company company = null;
Long id = profession.getCompanyId();
company = companyService.getObjectById(id);
ProfessionTag professionTag = new ProfessionTag();
Long professionId = null;
/*入参校验*/
if (null == profession.getProfessionName()) {
model.addAttribute("code", -9002);
return "data/json";
}
String companyName = company.getCompanyName();
try {
log.info("start to get company data, companyId============== "
+ profession.getCompanyId());
Map<String, Object> param = DynamicUtil.getCompanyMangerList(companyName, null, null, null,
null, null, null, null);
List<Long> companyIds = companyService.getIdsByDynamicCondition(Company.class, param, 0, Integer.MAX_VALUE);
companyId = companyIds.get(0);
company = companyService.getObjectById(companyId);
log.info(" get company data, company date ============== "
+ company);
profession.setCompanyId(companyId);
profession.setRecommend(UN_RECOMMEND);
/*验证公司冻结状态,如果公司冻结,新增职位为下架状态*/
if (FROZEN.equals(company.getFreezed())) {
profession.setStatus(SHELEVE_DOWN);
}//如果公司状态为解冻,则新增职位状态设置为上架状态
else if (UN_FREEZE.equals(company.getFreezed())) {
profession.setStatus(SHELEVE_UP);
//公司发布职位最新时间以职位创建时间为准
// profession.setCreateAt(System.currentTimeMillis());
//// company.setCreateAt(profession.setCreateAt());
//接下来更新公司的在招职位数,是否可以将在招职位数通过算法统计出来传给前端,而不用在数据表中添加字段
companyId = profession.getCompanyId();
log.info("get company id is " + companyId);
Map<String, Object> param2 = DynamicUtil.getProfessionCount(companyId, SHELEVE_UP);
List<Long> professionCountList = professionService.getIdsByDynamicCondition(Profession.class, param2, 0, Integer.MAX_VALUE);
Long professionCount = Long.valueOf(professionCountList.size());
//需要在数据库company表中增加公司在招职位数字段吗?
// company.setProfessionCount(professionCount);
// log.info("set company releaseAt is " + company.getReleaseAt());
// log.info("set company professionCount is " + company.getProfessionCount());
log.info("update profession status : profession status = "
+ profession.getStatus());
}
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("add profession error ");
model.addAttribute("code", -6002);
}
/*从cookie获取createBy和updateBy*/
try {
uid = Long.valueOf(cookieUtil.getKeyIdentity(request,
com.qding.common.util.http.cookie.CookieUtil.USER_ID));
profession.setCreateBy(uid);
profession.setUpdateBy(uid);
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("get uid is " + uid);
}
profession.setCreateAt(System.currentTimeMillis());
profession.setUpdateAt(profession.getCreateAt());
try {
professionId = professionService.insert(profession);
log.info("insert profession : profession= " + profession);
if (null != proTag) {
String[] stringProTag = proTag.split(",");
List<String> proTaglist = Arrays.asList(stringProTag);
for (String t : proTaglist) {
professionTag.setProTagName(t);
professionTag.setProfessionId(professionId);
professionTag.setCreateAt(System.currentTimeMillis());
professionTag.setUpdateAt(professionTag.getCreateAt());
//因为每拿出一个新的标签,都要加入一条新的professionTag,所以这个service在for里面.
professionTagService.insert(professionTag);
}
log.info("get professionTag data :" + professionTag);
companyService.update(company);
model.addAttribute("code", 0);
model.addAttribute("professionId", professionId);
}
model.addAttribute("code", 0);
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("add proTag error " + t);
model.addAttribute("code", -1);
return "/common/fail";
}
return "/common/addsuccess";
}
遇到的问题及其收获:
复盘接近尾声,昨天看着前端的伙伴演示,得到一条条数据,有一种成就感.近一个月的努力,看到了有形的东西.
代码本来就是很抽象的东西.这些感觉可以给我更强的动力.加油!
明天的计划:
总结复盘!准备小课堂!
评论