Kaynağa Gözat

详情api修改

hr~ 3 hafta önce
ebeveyn
işleme
84f868b51f

+ 3 - 0
lot/src/main/java/cn/hobbystocks/auc/response/LotDetailResponse.java

@@ -48,6 +48,9 @@ public class LotDetailResponse {
     @ApiModelProperty("结束时间")
     private Date endTime;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty("当前实际结束时间")
+    private Date currentEndTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty("真实结束时间")
     private Date realEndTime;
     @ApiModelProperty("起拍价")

+ 12 - 2
lot/src/main/java/cn/hobbystocks/auc/service/impl/LotServiceImpl.java

@@ -924,6 +924,15 @@ public class LotServiceImpl extends ServiceImpl<LotMapper,Lot> implements ILotSe
         if (Objects.isNull(auction)) {
             throw new ServiceException("未找到拍卖会相关数据");
         }
+        Date currentEndTime = lot.getEndTime();
+        if (Objects.equals(Constants.LOT_STATUS_BIDDING, lot.getStatus())) {
+            Live live = redisCache.getCacheMapValue(
+                    String.format(Constants.REDIS_MAP_AUC_LOT_TEMPLATE, lot.getAuctionId()),
+                    lot.getId().toString());
+            if (Objects.nonNull(live) && Objects.nonNull(live.getCurrentEndTime())) {
+                currentEndTime = new Date(live.getCurrentEndTime());
+            }
+        }
         TraditionRule rule = StringUtils.isEmpty(lot.getRuleContent())
                 ? null
                 : JSON.parseObject(lot.getRuleContent(), TraditionRule.class);
@@ -950,6 +959,7 @@ public class LotServiceImpl extends ServiceImpl<LotMapper,Lot> implements ILotSe
         response.setStatus(lot.getStatus());
         response.setStartTime(lot.getStartTime());
         response.setEndTime(lot.getEndTime());
+        response.setCurrentEndTime(currentEndTime);
         response.setRealEndTime(lot.getRealEndTime());
         response.setStartPrice(startPrice);
         response.setCurrentPrice(Objects.nonNull(lot.getLastPrice()) ? lot.getLastPrice() : startPrice);
@@ -966,8 +976,8 @@ public class LotServiceImpl extends ServiceImpl<LotMapper,Lot> implements ILotSe
         response.setPayTimeLimit(lot.getPayTimeLimit());
         if (Objects.equals("Waiting", lot.getStatus()) && Objects.nonNull(lot.getStartTime())) {
             response.setTimestamp(lot.getStartTime().getTime() - System.currentTimeMillis());
-        } else if (Objects.equals("Bidding", lot.getStatus()) && Objects.nonNull(lot.getEndTime())) {
-            response.setTimestamp(lot.getEndTime().getTime() - System.currentTimeMillis());
+        } else if (Objects.equals("Bidding", lot.getStatus()) && Objects.nonNull(currentEndTime)) {
+            response.setTimestamp(currentEndTime.getTime() - System.currentTimeMillis());
         }
         //TODO 成交用户暂时无
         fillUserFlags(lot, response, depositType);