自定义规则排序
指定排序顺序
public class MsgCodeConstant {
public static final Map<String,Integer> SORT_MAP = new HashMap(){{
put("隔夜", 1);
put("1周", 2);
put("2周", 3);
put("1月", 4);
put("3月", 5);
put("6月", 6);
put("9月", 7);
put("1年", 8);
}};
}
实体类
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
public class DtoInfo implements Serializable {
private Date publishTm;
private String cycle;
}
排序
@Slf4j
@Component
public class TestServiceImpl implements ITestBizService {
@Autowired
private IDtoInfoDao dtoInfoDao;
private String queryDtoInfo(String bizDate){
List<DtoInfo> dtoInfos = dtoInfoDao.list(Wrappers.<DtoInfo>lambdaQuery().eq(DtoInfo::getPublishTm, bizDate));
}
Collections.sort(dtoInfos, new Comparator<DtoInfo>() {
@Override
public int compare(DtoInfo o1, DtoInfo o2) {
return MsgCodeConstant.SORT_MAP.get(o1.getCycle()).compareTo(MsgCodeConstant.SORT_MAP.get(o2.getCycle()));
}
});
}