public List<OrderShowVO>selectShowList(){
List<Object> list = orderDao.findShowList();
List<OrderShowVO> result = Lists.newArrayList();
Map<Object, String> map = Maps.newHashMap();
map.put(1,"交易交付中");
map.put(2,"交易已完成");for(int i =0; i < list.size(); i++){
OrderShowVO vo =newOrderShowVO();
Object[] obj =(Object[]) list.get(i);
vo.setId(obj[0].toString());
vo.setPrice("¥"+obj[1]);
vo.setGoodtitle(obj[2].toString());
vo.setContent(obj[3]== null ?"": obj[3].toString());
vo.setVisits(obj[4]+"人浏览");
vo.setNickname(obj[5].toString());
vo.setState(map.get(obj[6]));
vo.setTime(timeCheckFun(((Date) obj[7]).getTime(),newDate().getTime()));
result.add(vo);}return result;}
privatestatic String timeCheckFun(long startTime,long endTime){long t = endTime - startTime;//获取天数时间差int days =(int)(t /(1000*60*60*24));//获取小时时间差int HH =(int)(t /(1000*60*60));//获取分钟时间差int mm =(int)(t /(1000*60));//获取秒时间差int ss =(int)(t /(1000));
String beApart;if(days <=1){if(ss <=60){
beApart ="刚刚";}elseif(ss >60&& ss <=60*60){
beApart = mm +"分钟前";}elseif(ss >60*60&& ss <=60*60*24){
beApart = HH +"小时前";}else{
beApart = days +"天前";}}elseif(days <30&& days >1){
beApart = days +"天前";}elseif(days >=30&& days <365){int days1 = days /30;
beApart = days1 +"月前";}elseif(days >=365){int days2 = days /365;
beApart = days2 +"年前";}else{
beApart ="历史很久远";}return beApart;}
DAO
@Query(value ="SELECT g.id,o.price,o.goodtitle,g.content,(CASE WHEN g.visits IS NOT NULL THEN g.visits ELSE 0 END ) as visits,u.nickname,o.state,o.starttime,o.finishtime FROM trans_order o LEFT JOIN trans_goods g ON o.gooid = g.goodsimid LEFT JOIN trans_user u ON o.buyerid = u.idcode WHERE (o.state=1 OR o.state=2) ORDER BY o.starttime DESC",nativeQuery =true)
List<Object>findShowList();