发表于: 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获取createByupdateBy*/
       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,所以这个servicefor里面.
                   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";
}

遇到的问题及其收获:

    复盘接近尾声,昨天看着前端的伙伴演示,得到一条条数据,有一种成就感.近一个月的努力,看到了有形的东西.

代码本来就是很抽象的东西.这些感觉可以给我更强的动力.加油!

明天的计划:

    总结复盘!准备小课堂!
    


返回列表 返回列表
评论

    分享到