一、添加一个比较器

点击查看代码
import java.util.Comparator;

/**
* @Classname ComparatorResultType
* @Description 排序比较器(金牌师傅推荐-分页中使用)
* @Date 2022/3/10 11:19
* @Created by 小郭
*/
public class ComparatorResultType implements Comparator {
@Override
public int compare(Object arg0, Object arg1) { //MasterPageVO是查询数据的实体类,自己根据业务替换掉
MasterPageVO masterPageVO0=(MasterPageVO)arg0;
MasterPageVO masterPageVO1=(MasterPageVO)arg1;
//首先比较主指标,如果主指标相同,则比较次指标
int flag=masterPageVO0.getScore().compareTo(masterPageVO1.getScore());
if(flag==0){
return masterPageVO0.getOrderCount().compareTo(masterPageVO1.getOrderCount()); }else{
return flag;
}
}
}

二、业务代码

点击查看代码
@Override
public PageData<MasterPageVO> getMasterPage(Map<String, Object> params) { List<MasterPageVO> voList=masterWorkerDao.getMasterPage(params); if (voList.size()>0 && !voList.isEmpty()) {
for (MasterPageVO vo : voList) {
//查询师傅拥有的服务
List<MasterWorkerServiceTypeVO> serviceList = masterWorkerServiceTypeDao.getServiceByMasterWorkerId(Long.parseLong(vo.getId()));
if (serviceList.size() > 0) {
vo.setServiceList(serviceList);
}
//查询印象评价标签列表
List<ImpressionEvaluationVO> impressionEvaluationVOList = masterWorkerDao.getImpressionEvaluationList(Long.parseLong(vo.getId()));
if (impressionEvaluationVOList.size() > 0) {
vo.setImpressionEvaluationVOList(impressionEvaluationVOList);
}
//查询评分(总评分数/接单量)
ScoreDetailVO scoreDetailVO = masterWorkerDao.getScoreTotal(Long.parseLong(vo.getId()));
if (scoreDetailVO.getScoreTotal() != null && scoreDetailVO.getOrderCount() != null) {
vo.setScore(Integer.parseInt(scoreDetailVO.getScoreTotal()) / Integer.parseInt(scoreDetailVO.getOrderCount()));
vo.setOrderCount(Integer.parseInt(scoreDetailVO.getOrderCount()));
} else {
vo.setScore(0);
vo.setOrderCount(0);
}
}
//根据分数降序排序
ComparatorResultType comparator=new ComparatorResultType();
//正常排序
Collections.sort(voList, comparator);
//进行降序
Collections.reverse(voList);
}
return getPageData(voList, voList.size(), MasterPageVO.class);
}

List排序(降序)的更多相关文章

  1. iOS之数组的排序(升序、降序及乱序)

    #pragma mark -- 数组排序方法(升序) - (void)arraySortASC{ //数组排序 //定义一个数字数组 NSArray *array = @[@(3),@(4),@(2) ...

  2. c++ sort降序排序

    sort是c++ STL中提供的一个函数模板,可以用来对多种类型进行排序. 默认是升序排序.它有两种使用方法: default (1) template <class RandomAccessI ...

  3. C语言链表中数组实现数据选择排序,升序、降序功能主要难点

    链表排序讲解: head指针指向链表的头结点,是找到整个链表的唯一依据,如果head指针丢失,整个链表就找不到了. head存储的是第一个节点的地址,head->next存储的是第二个节点的地址 ...

  4. 怎么实现元素ol的降序排序显示

    首先介绍一下什么是ol元素.这里直接引用MDN里面的定义:The HTML <ol> Element (or HTML Ordered List Element) represents a ...

  5. C# List.sort排序详解(多权重,升序降序)

    很多人可能喜欢Linq的orderBy排序,可惜U3D里面linq在Ios上会报错,所以就必须使用list的排序. 其实理解了并不难 升序降序比较 sort有三种结果 1,-1,0分别是大,小,相等. ...

  6. 飘逸的python - 有的升序有的降序的情况下怎么多条件排序

    之前在统计导出各区服玩家消费的时候需要进行升序降序混搭的多条件排序. 需求是这样的.区服从小到大排,如果区服相同,则按消费从大到小排. 实现方法是利用python的sort算法是稳定排序,对数据进行多 ...

  7. 现在输入 n 个数字, 以逗号, 分开; 然后可选择升或者 降序排序;

    /* 现在输入 n 个数字, 以逗号, 分开: 然后可选择升或者 降序排序: */ import java.util.*; public class bycomma{ public static St ...

  8. java数组降序排序之冒泡排序

    import java.util.Arrays;//必须加载 class Demo{ public static void main(String []args){ int[] arr={3,54,4 ...

  9. java中的选择排序之降序排列

    import java.util.Arrays;//必须加载 class Demo{ public static void main(String []args){ int[] arr={3,54,4 ...

  10. python-冒泡排序,升序、降序

    冒泡排序 这个算法的名字由来是因为越大的元素会经交换慢慢浮'到数列的顶端. 冒泡排序的基本思想:重复走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,直到没有再需要交换,完成排序 ...

随机推荐

  1. 20. 使用Fluentd发送告警邮件

    告警是预防系统故障的一个重要工具,目前已经有许多成熟的方案通过监控系统运行指标来进行阈值预警.今天简单了解一下如何使用Fluentd实现邮件告警功能. Fluentd的告警是基于日志分析实现的,通过监 ...

  2. img和div之间有间隙的原因及解决方法

    div 中 存在 img标签,由于img标签的 display:inline-block 属性. #####display:inline-block布局的元素在chrome下会出现几像素的间隙,原因是 ...

  3. MySQL实战,SQL语句

    student数据库 student学生表,course课程表表,sc成绩表 -- 1.找出成绩为95分的学生的姓名 SELECT Sname FROM student WHERE Sno IN( S ...

  4. C语言在Linux下创建一个僵尸进程

    第三章编程题3.12 1.僵尸进程是什么 每一个进程都有一个PCB(进程控制块),其中包含进程执行的状态等一系列信息. 当父进程fork()出一个子进程,子进程执行结束后操作系统会回收子进程使用的内存 ...

  5. sql语句的组成

    数据定义语言(DDL,Data Definition Language):包括CREATE(创建)ALTER(修改)DROP(删除)等. 数据操纵语言(DML,Data Manipulation La ...

  6. 关于private子网访问s3时报错:Connect timeout on endpoint URL

    今天在使用private私有子网,通过aws s3命令访问s3时,报如下错误: [qq_5201351@private ~]$ aws s3 ls Connect timeout on endpoin ...

  7. httpd常用配置之虚拟主机

    httpd常用配置 目录 httpd常用配置 虚拟主机: 相同IP不同端口 不同IP相同端口 相同IP相同端口不同域名 切换使用MPM(编辑/etc/httpd/conf.modules.d/00-m ...

  8. 手写自定义springboot-starter,感受框架的魅力和原理

    一.前言 Springboot的自动配置原理,面试中经常问到,一直看也记不住,不如手写一个starter,加深一下记忆. 看了之后发现大部分的starter都是这个原理,实践才会记忆深刻. 核心思想: ...

  9. SSM框架整合图书管理项目

    SSM框架整合 1.建立简单的maven项目 2.导入依赖 <?xml version="1.0" encoding="UTF-8"?> <p ...

  10. CJK备注

    pip清华镜像库 :pip install XXX -i https://pypi.tuna.tsinghua.edu.cn/simple pip阿里巴巴镜像库:pip install XXX -i ...