Parcourir la source

订单,积分,分类,退货的功能优化

wang il y a 3 jours
Parent
commit
d12a13d778

+ 20 - 0
yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java

@@ -35,7 +35,11 @@ import ma.glasnost.orika.MapperFacade;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -80,6 +84,22 @@ public class MyOrderController {
         OrderShopDto orderShopDto = new OrderShopDto();
 
         Order order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, true);
+        SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日$HH:mm");
+        if (null != order.getPayTime()) {
+            // 转换为 LocalDateTime 并增加 1 小时
+            LocalDateTime delayedTime = order.getPayTime().toInstant()
+                    .atZone(ZoneId.systemDefault())
+                    .toLocalDateTime()
+                    .plusHours(1);
+            // 转换回 Date 类型
+            Date delayedDate = Date.from(delayedTime.atZone(ZoneId.systemDefault()).toInstant());
+
+            // 格式化延迟后的时间
+            String format = sdf.format(delayedDate);
+            String[] split = format.split("\\$");
+            orderShopDto.setEstimatedTimeStr(split[0]);
+            orderShopDto.setEstimatedTime(split[1]);
+        }
         ShopDetail shopDetail;
         if (Objects.equals(order.getShopId(), Constant.PLATFORM_SHOP_ID)) {
             shopDetail = new ShopDetail();

+ 6 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/OrderShopDto.java

@@ -133,4 +133,10 @@ public class OrderShopDto implements Serializable {
 
     @ApiModelProperty(value = "订单积分")
     private Integer orderScore = 0;
+
+    @ApiModelProperty(value = "订单预计送达日期", required = true, example = "3月8日")
+    private String estimatedTimeStr;
+
+    @ApiModelProperty(value = "订单预计送达时间", required = true, example = "10:40")
+    private String estimatedTime;
 }