|
@@ -32,6 +32,7 @@ import shop.alien.second.service.SecondTradeRecordService;
|
|
|
import shop.alien.util.common.JwtUtil;
|
|
import shop.alien.util.common.JwtUtil;
|
|
|
|
|
|
|
|
import java.time.*;
|
|
import java.time.*;
|
|
|
|
|
+import java.util.Comparator;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
@@ -566,8 +567,23 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
|
|
|
wrapper.eq(SecondTradeRecord::getTradeStatus, 3);
|
|
wrapper.eq(SecondTradeRecord::getTradeStatus, 3);
|
|
|
wrapper.apply("((seller_id = " + userId + " and buyer_id = " + sideId + ") or " +
|
|
wrapper.apply("((seller_id = " + userId + " and buyer_id = " + sideId + ") or " +
|
|
|
"(seller_id = " + sideId + " and buyer_id = " + userId + "))");
|
|
"(seller_id = " + sideId + " and buyer_id = " + userId + "))");
|
|
|
- wrapper.orderByDesc(SecondTradeRecord::getTransactionTime);
|
|
|
|
|
- return secondTradeRecordMapper.selectOne(wrapper);
|
|
|
|
|
|
|
+ wrapper.orderByAsc(SecondTradeRecord::getTransactionTime);
|
|
|
|
|
+ List<SecondTradeRecord> list = secondTradeRecordMapper.selectList(wrapper);
|
|
|
|
|
+ if (list.isEmpty()) return null;
|
|
|
|
|
+
|
|
|
|
|
+ // 取出所有的交易时间
|
|
|
|
|
+ List<Date> dates = list.stream().map(SecondTradeRecord::getTransactionTime).collect(Collectors.toList());
|
|
|
|
|
+ if (dates.isEmpty()) return null;
|
|
|
|
|
+
|
|
|
|
|
+ // 取出距离当前时间最近的交易时间
|
|
|
|
|
+ Date now = new Date();
|
|
|
|
|
+ Date minDate = dates.stream()
|
|
|
|
|
+ .min(Comparator.comparingLong(date ->
|
|
|
|
|
+ Math.abs(date.getTime() - now.getTime())))
|
|
|
|
|
+ .orElse(null);
|
|
|
|
|
+
|
|
|
|
|
+ list = list.stream().filter(item -> item.getTransactionTime().equals(minDate)).collect(Collectors.toList());
|
|
|
|
|
+ return list.isEmpty() ? null : list.get(0);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
log.error("SecondTradeRecordServiceImpl.hasInTradeRecord(): Error Msg={}", e.getMessage());
|
|
log.error("SecondTradeRecordServiceImpl.hasInTradeRecord(): Error Msg={}", e.getMessage());
|
|
|
throw new Exception(e);
|
|
throw new Exception(e);
|