按照步骤顺序的步骤列表

问题描述:实现一个可以动态添加,修改,删除的步骤列表。 最后得到同一produc_id下的步骤列表(按照步骤顺序)
数据库设计: id,parent_id,product_id,step_name,create_time,update_time

// 转化List 根据ParentID 从小到大排序。如果ParentID一样则根据ID按照从大到小拍排序,方便取出第一个步骤 
    private List<Step> SortList( List<Step> origstep){
        List<Integer> re= new ArrayList<>();
        //origstep.stream().sorted().thenComparing(Live::getAppId, Comparator.reverseOrder()));
        List<Step> ss=new ArrayList<>();
        //origstep.sort(Comparator.comparing(Step::getId).thenComparing(Step::getParendid, Comparator.reverseOrder()));
        ss=origstep.stream().sorted(Comparator.comparing(Step::getParent_id).thenComparing(Step::getId, Comparator.reverseOrder())).collect(Collectors.toList());
        return ss;
    }
    // 查询步骤列表中PID为指定值的步骤列表,并且根据ID倒序排列
    private List<Step> getStepsByPid(Long pid,List<Step> origstep){
        List<Step> steps= new ArrayList<>();
        for (int i=0;i<origstep.size();i++){
            if (origstep.get(i).getParent_id()==pid){
                steps.add(origstep.get(i));
            }
        }
        List<Step> resteps=steps.stream().sorted(Comparator.comparing(Step::getId).reversed()).collect(Collectors.toList());
        return  resteps;
    }
    //按照步骤顺序排序,值写入到类成员变量 sort_step
    private  List<Step> StepsBySteps(Long id, List<Step> steps,List<Step> resteps){
        List<Step> sort_step =new ArrayList<>();
        List<Step> ree=new ArrayList<>();
        List<Step> res=SortList(steps);
        List<Step> ls=getStepsByPid(id,res);

        for(Step s:ls){
            if (ls.size()>0){
                //a.add( s.getId());
                resteps.add(s);
                System.out.println("ls>0"+s.getId());
                // return s.getId();
                StepsBySteps(s.getId(),res,resteps);
                //a.add(s.getId());
            }
            else {
                System.out.println("else"+res.get(0).getId());
                //a.add(res.get(0).getId());
                sort_step.add(s);
                return  resteps;
            }

        }
        return  resteps;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 情诗词的女人,具有古典美 中华文化里的古典诗词是中国古代文学艺术的精髓,其用寥寥数语就勾勒出一幅美得让人窒息的画面...
    2020129阅读 3,192评论 0 0
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    时光清浅03阅读 3,401评论 0 0
  • 中原焦点团队郑海燕坚持分享1051天2021.6.22 与自己的关系 1. 自信与价值 (1)自信就是我们日常里描...
    晴岚85阅读 1,326评论 0 0
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,949评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 11,280评论 0 4