1     /**
2 * 共通排序
3 */
4 public List commonSort(String sort, List list) {
5 String sorting = StringUtils.isBlank(sort) ? "updatetime" : sort.toLowerCase();
6 if (sorting.contains("createtime asc")) {
7 //按照创建时间升序排序
8 list.sort(BarrageMessageVO::compareToCreateTime);
9 } else if (sorting.contains("createtime desc")) {
10 //按照创建时间降序排序
11 list.sort(BarrageMessageVO::compareToCreateTimeDesc);
12 } else if (sorting.contains("updatetime desc")) {
13 //按照更新降序排序
14 list.sort(BarrageMessageVO::compareToUpdateTimeDesc);
15 } else {
16 //按照更新升序排序
17 list.sort(BarrageMessageVO::compareToUpdateTime);
18 }
19 return list;
20 }
21
22 /**
23 * 按照创建时间升序排序
24 * yyyy-MM-dd HH:mm:ss
25 * @param another
26 * @return
27 */
28 public int compareToCreateTime(BarrageMessageVO another) {
29 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
30 Date createTime1 = null;
31 Date createTime2 = null;
32 try {
33 createTime1 = sdf.parse(this.createTime);
34 createTime2 = sdf.parse(another.createTime);
35 } catch (ParseException e) {
36 // ignore
37 }
38 return createTime1.compareTo(createTime2);
39 }
40
41 /**
42 * 按照创建时间降序排序
43 * yyyy-MM-dd HH:mm:ss
44 * @param another
45 * @return
46 */
47 public int compareToCreateTimeDesc(BarrageMessageVO another) {
48 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
49 Date createTime1 = null;
50 Date createTime2 = null;
51 try {
52 createTime1 = sdf.parse(this.createTime);
53 createTime2 = sdf.parse(another.createTime);
54 } catch (ParseException e) {
55 // ignore
56 }
57 return createTime2.compareTo(createTime1);
58 }
59
60 /**
61 * 按照更新升序排序
62 * yyyy-MM-dd HH:mm:ss
63 * @param another
64 * @return
65 */
66 public int compareToUpdateTime(BarrageMessageVO another) {
67 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
68 Date updateTime1 = null;
69 Date updateTime2 = null;
70 try {
71 updateTime1 = sdf.parse(this.updateTime);
72 updateTime2 = sdf.parse(another.updateTime);
73 } catch (ParseException e) {
74 // ignore
75 }
76 return updateTime1.compareTo(updateTime2);
77 }
78
79 /**
80 * 按照更新降序排序
81 * yyyy-MM-dd HH:mm:ss
82 * @param another
83 * @return
84 */
85 public int compareToUpdateTimeDesc(BarrageMessageVO another) {
86 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
87 Date updateTime1 = null;
88 Date updateTime2 = null;
89 try {
90 updateTime1 = sdf.parse(this.updateTime);
91 updateTime2 = sdf.parse(another.updateTime);
92 } catch (ParseException e) {
93 // ignore
94 }
95 return updateTime2.compareTo(updateTime1);
96 }