欢迎光临散文网 会员登陆 & 注册

黑马程序员Java企业级实战开发《学成在线》微服务项目,基于SpringClou

2023-06-09 22:01 作者:小蔡coding  | 我要投稿

课程计划排序代码如下:

@Override

  public void orderByUpOrDown(String moveType, Long teachplanId) {

    Teachplan teachplan = teachplanMapper.selectById(teachplanId);

    Integer grade = teachplan.getGrade();


    if (moveType.equals("moveup") || moveType.equals("movedown") && (grade == 1 || grade == 2)) {

      changePostition(teachplan, moveType);

    }

     

  }


  private void changePostition(Teachplan teachplan, String moveType) {


//    定位上一个标题或下一个标题

    LambdaQueryWrapper<Teachplan> wrapper = new LambdaQueryWrapper<>();

    int offset = moveType.equals("moveup") ? -1 : 1;


    wrapper.eq(Teachplan::getOrderby, teachplan.getOrderby() + offset)

        .eq(Teachplan::getCourseId, teachplan.getCourseId())

        .eq(Teachplan::getGrade, teachplan.getGrade());

    Teachplan beforeTeachPlan = teachplanMapper.selectOne(wrapper);

    if (beforeTeachPlan == null) {

      throw new XueChengPlusException("不能移动了");

    }

    beforeTeachPlan.setOrderby(teachplan.getOrderby());

    teachplanMapper.updateById(beforeTeachPlan);


//    定位当前标题

    Teachplan currentTachPlan = teachplanMapper.selectById(teachplan.getId());

    currentTachPlan.setOrderby(teachplan.getOrderby() + offset);

    teachplanMapper.updateById(currentTachPlan);


  }

黑马程序员Java企业级实战开发《学成在线》微服务项目,基于SpringClou的评论 (共 条)

分享到微博请遵守国家法律