|
|
|
|
@ -4,22 +4,26 @@ package cn.edu.hust.session;
|
|
|
|
|
import scala.math.Ordered;
|
|
|
|
|
|
|
|
|
|
public class CategorySortKey implements Ordered<CategorySortKey>, java.io.Serializable {
|
|
|
|
|
|
|
|
|
|
// 定义三个 Long 类型的字段,表示点击数、订单数和支付数
|
|
|
|
|
private Long clickCount;
|
|
|
|
|
private Long orderCount;
|
|
|
|
|
private Long payCount;
|
|
|
|
|
|
|
|
|
|
// 实现 Ordered 接口中的 compare 方法,进行排序比较
|
|
|
|
|
@Override
|
|
|
|
|
public int compare(CategorySortKey categorySortKey) {
|
|
|
|
|
// 先比较点击数,如果当前对象的点击数与传入对象的点击数不相等,则按点击数排序
|
|
|
|
|
if(clickCount-categorySortKey.getClickCount()!=0)
|
|
|
|
|
{
|
|
|
|
|
return (int) (clickCount-categorySortKey.getClickCount());
|
|
|
|
|
}else if(clickCount-categorySortKey.getClickCount()==0&&orderCount-categorySortKey.getOrderCount()!=0)
|
|
|
|
|
}
|
|
|
|
|
// 如果点击数相等,再比较订单数
|
|
|
|
|
else if(clickCount-categorySortKey.getClickCount()==0&&orderCount-categorySortKey.getOrderCount()!=0)
|
|
|
|
|
{
|
|
|
|
|
return (int) (orderCount-categorySortKey.getOrderCount());
|
|
|
|
|
}
|
|
|
|
|
// 如果点击数和订单数都相等,再比较支付数
|
|
|
|
|
else if(clickCount-categorySortKey.getClickCount()==0&&orderCount-categorySortKey.getOrderCount()==0&&payCount-categorySortKey.getPayCount()!=0)
|
|
|
|
|
return (int) (payCount-categorySortKey.getPayCount());
|
|
|
|
|
return (int) (payCount-categorySortKey.getPayCount());// 如果点击数、订单数和支付数都相等,则返回 0,表示相等
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|