private Map<String, String> updateResumeMixInfo(Integer perId, String updateTable) { PerUser perUser = perUserEao.get(perId); if (perUser != null) { PerResumeBo vo; try { vo = perResumeEao.getResumeVo(perUser.getResId()); } catch (Exception ex) { vo = null; } if (vo != null) { int degree = 0; String schoolName = ""; String speciality = ""; if (vo.getEducationInfoVoList() != null) { for (PerResumeBo.EducationInfoVo eduVo : vo.getEducationInfoVoList()) { if (eduVo != null && eduVo.getDegree() != null && eduVo.getDegree() > degree) { degree = eduVo.getDegree(); schoolName = eduVo.getSchoolName(); speciality = eduVo.getSpeciality(); } } } ComReceiveAssistBo craVo = new ComReceiveAssistBo(); if (vo.getWorkInfoVoList() != null && CollectionUtils.size(vo.getWorkInfoVoList()) > 0) { PerResumeBo.WorkInfoVo workVo = vo.getWorkInfoVoList().get(0); craVo.setLastPosName(workVo.getJobName()); // craVo.setLastJobLocation(workVo.get); //个人简历无此数据 craVo.setComName(workVo.getComName()); craVo.setStart(workVo.getBegin()); craVo.setEnd(workVo.getEnd()); } craVo.setJobyearType(perUser.getJobyearType()); craVo.setMobile(perUser.getMobile()); if (vo.getIntentInfoVo() != null) { craVo.setSkill(vo.getIntentInfoVo().getProfessionSkill()); } // craVo.setFileName(); // craVo.setFilePath(); // 计算年龄的公式修改为精确到年与搜索引擎匹配 DateTime bDate = new DateTime(perUser.getBirthday()); bDate = bDate.monthOfYear().setCopy(1).dayOfMonth().setCopy(1); DateTime nDate = DateTime.now(); nDate = nDate.monthOfYear().setCopy(1).dayOfMonth().setCopy(2); Integer age = Years.yearsBetween(bDate, nDate).getYears(); if (perUser.getResId() != null && perUser.getResId() > 0 && StringUtils.isNotBlank(perUser.getUserName())) { getJdbcTemplateAction() .update( "update " + updateTable + " set " + "resume_id = ? , " + "user_name=? , " + "gender = ? , " + // "job_location = ? , " + // "location = ? , " + "age = ? , " + "degree = ? , " + "mix_info = ? , " + "school_name = ? , " + "speciality = ?, " + "jobyear_type = ? " + "where per_user_id = ?", perUser.getResId(), perUser.getUserName(), perUser.getGender(), // vo.getIntentInfoVo().getJobLocation(), // "", (age < 16 || age > 65) ? 16 : age, degree, (new Gson()).toJson(craVo), schoolName, speciality, perUser.getJobyearType(), perUser.getId()); } Map<String, String> map = Maps.newHashMap(); map.put("resumeId", String.valueOf(perUser.getResId())); map.put("userName", perUser.getUserName()); map.put("gender", String.valueOf(perUser.getGender())); map.put("age", String.valueOf((age < 16 || age > 65) ? 16 : age)); map.put("degree", String.valueOf(degree)); map.put("mixInfo", (new Gson()).toJson(craVo)); map.put("schoolName", schoolName); map.put("speciality", speciality); map.put("schoolName", schoolName); map.put("jobyearType", String.valueOf(perUser.getJobyearType())); return map; } } return null; }