分析俩段代码else的最后两句是干什么?求大神指点

下边俩段代码,else里的最后两句为什么他俩不一样啊?第一段代码else的最后两句是干什么?
第二段代码else的最后两句是干什么?

 public String getList() throws Exception
    {
          quZhengGuiZeList = dao.getList(TrainingOrCompetitionID);
        if(quZhengGuiZeList.size()>0){
            quZhengGuiZe=quZhengGuiZeList.get(0);
        }else{
            quZhengGuiZe=new QuZhengGuiZe();
            quZhengGuiZe.setTrainingOrCompetitionID(TrainingOrCompetitionID);
            dao.save(quZhengGuiZe);
            id=quZhengGuiZe.getId();
        }
         return SUCCESS;
    }


public String getByTrainingOrCompetitionID()  throws Exception
    {

          zheJiuSheZhiList = dao.getList(shengChanXianID);
        if(zheJiuSheZhiList.size()>0)
        {
            zheJiuSheZhi=zheJiuSheZhiList.get(0);
            id = zheJiuSheZhi.getId();
        }else {
            zheJiuSheZhi = new ZheJiuSheZhi();
            zheJiuSheZhi.setShengChanXianID(shengChanXianID);
            zheJiuSheZhi.setTrainingOrCompetitionID(TrainingOrCompetitionID);
            id = dao.save(zheJiuSheZhi);
             zheJiuSheZhi = dao.get(id);
        }

          return SUCCESS;
    }


 dao.save(quZhengGuiZe);//保存,
            id=quZhengGuiZe.getId();//保存后,获取QuZhengGuiZe这个对象的主键值

    id = dao.save(zheJiuSheZhi);//返回主键值,
             zheJiuSheZhi = dao.get(id);//通过主键值,获取对象。

    看业务和接口的封装返回值,没有实质性的差异。