示例#1
0
  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;
  }