licailing 5 lat temu
rodzic
commit
b2e5241c5f

+ 8 - 0
src/main/java/com/izouma/dingdong/dto/OrderDTO.java

@@ -1,5 +1,6 @@
 package com.izouma.dingdong.dto;
 package com.izouma.dingdong.dto;
 
 
+import com.izouma.dingdong.domain.OrderGoodsSpec;
 import com.izouma.dingdong.enums.MerchantStatus;
 import com.izouma.dingdong.enums.MerchantStatus;
 import com.izouma.dingdong.enums.OrderStatus;
 import com.izouma.dingdong.enums.OrderStatus;
 import com.izouma.dingdong.enums.PayMethod;
 import com.izouma.dingdong.enums.PayMethod;
@@ -14,6 +15,7 @@ import lombok.NoArgsConstructor;
 import javax.persistence.Column;
 import javax.persistence.Column;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
+import java.util.List;
 
 
 @Data
 @Data
 @AllArgsConstructor
 @AllArgsConstructor
@@ -22,6 +24,8 @@ import java.time.LocalDateTime;
 @ApiModel(value = "")
 @ApiModel(value = "")
 public class OrderDTO {
 public class OrderDTO {
 
 
+    private String avatar;
+
     private String nickname;
     private String nickname;
 
 
     @ApiModelProperty(value = "用户地址", name = "address")
     @ApiModelProperty(value = "用户地址", name = "address")
@@ -29,6 +33,8 @@ public class OrderDTO {
 
 
     private String merchantName;
     private String merchantName;
 
 
+    private String logo;
+
     private MerchantStatus merchantStatus;
     private MerchantStatus merchantStatus;
 
 
     private String riderName;
     private String riderName;
@@ -70,4 +76,6 @@ public class OrderDTO {
     @ApiModelProperty(value = "新用户", name = "newUser")
     @ApiModelProperty(value = "新用户", name = "newUser")
     private BigDecimal newUser;
     private BigDecimal newUser;
 
 
+    @ApiModelProperty(value = "商品及规格")
+    private List<OrderGoodsSpec> orderGoodsSpecs;
 }
 }

+ 23 - 4
src/main/java/com/izouma/dingdong/service/OrderInfoService.java

@@ -4,15 +4,14 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.izouma.dingdong.converter.StringArrayConverter;
 import com.izouma.dingdong.converter.StringArrayConverter;
-import com.izouma.dingdong.domain.MoneyRecord;
-import com.izouma.dingdong.domain.OrderInfo;
+import com.izouma.dingdong.domain.*;
+import com.izouma.dingdong.domain.merchant.Merchant;
 import com.izouma.dingdong.domain.user.ShoppingCart;
 import com.izouma.dingdong.domain.user.ShoppingCart;
-import com.izouma.dingdong.domain.User;
 import com.izouma.dingdong.domain.merchant.Goods;
 import com.izouma.dingdong.domain.merchant.Goods;
 import com.izouma.dingdong.domain.merchant.MerchantSettings;
 import com.izouma.dingdong.domain.merchant.MerchantSettings;
 import com.izouma.dingdong.domain.user.Address;
 import com.izouma.dingdong.domain.user.Address;
-import com.izouma.dingdong.domain.Coupon;
 import com.izouma.dingdong.domain.user.UserCoupon;
 import com.izouma.dingdong.domain.user.UserCoupon;
+import com.izouma.dingdong.dto.OrderDTO;
 import com.izouma.dingdong.dto.UserOrderDTO;
 import com.izouma.dingdong.dto.UserOrderDTO;
 import com.izouma.dingdong.enums.FinancialType;
 import com.izouma.dingdong.enums.FinancialType;
 import com.izouma.dingdong.enums.MerchantStatus;
 import com.izouma.dingdong.enums.MerchantStatus;
@@ -314,4 +313,24 @@ public class OrderInfoService {
         return null;
         return null;
     }
     }
 
 
+
+    public OrderDTO toDTO(OrderInfo orderInfo){
+        OrderDTO dto = new OrderDTO();
+        BeanUtil.copyProperties(dto,orderInfo);
+        User user = userRepo.findById(orderInfo.getUserId()).orElseThrow(new BusinessException("无用户"));
+        dto.setNickname(user.getNickname());
+        dto.setAvatar(user.getAvatar());
+
+        Merchant merchant = merchantRepo.findById(orderInfo.getMerchantId()).orElseThrow(new BusinessException("无商家"));
+        MerchantSettings merchantSettings = merchantSettingsRepo.findByMerchantId(orderInfo.getMerchantId()).orElseThrow(new BusinessException("无商家"));
+        dto.setMerchantName(merchant.getShowName());
+        dto.setLogo(merchantSettings.getLogo());
+
+        List<OrderGoodsSpec> specs = orderGoodsSpecRepo.findAllByOrderId(orderInfo.getId());
+        dto.setOrderGoodsSpecs(specs);
+
+        return dto;
+
+
+    }
 }
 }

+ 7 - 4
src/main/java/com/izouma/dingdong/web/OrderInfoController.java

@@ -1,6 +1,7 @@
 package com.izouma.dingdong.web;
 package com.izouma.dingdong.web;
 
 
 import com.izouma.dingdong.domain.OrderInfo;
 import com.izouma.dingdong.domain.OrderInfo;
+import com.izouma.dingdong.dto.OrderDTO;
 import com.izouma.dingdong.dto.UserOrderDTO;
 import com.izouma.dingdong.dto.UserOrderDTO;
 
 
 import com.izouma.dingdong.enums.MerchantStatus;
 import com.izouma.dingdong.enums.MerchantStatus;
@@ -21,6 +22,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 @RestController
 @RestController
 @RequestMapping("/orderInfo")
 @RequestMapping("/orderInfo")
@@ -74,16 +76,17 @@ public class OrderInfoController extends BaseController {
 
 
     @GetMapping("/my")
     @GetMapping("/my")
     @ApiOperation("个人订单")
     @ApiOperation("个人订单")
-    public Page<OrderInfo> my(PageQuery pageQuery) {
-        return new PageImpl<>(orderInfoService.my(SecurityUtils.getAuthenticatedUser().getId()),toPageRequest(pageQuery),pageQuery.getSize());
+    public Page<OrderDTO> my(PageQuery pageQuery) {
+        List<OrderDTO> collect = orderInfoService.my(SecurityUtils.getAuthenticatedUser().getId()).stream().map(orderInfoService::toDTO).collect(Collectors.toList());
+        return new PageImpl<>(collect, toPageRequest(pageQuery), pageQuery.getSize());
     }
     }
 
 
 
 
     @PostMapping("/list")
     @PostMapping("/list")
     @ApiOperation("/按userId查订单")
     @ApiOperation("/按userId查订单")
-    public Page<OrderInfo> list(Long id,PageQuery pageQuery) {
+    public Page<OrderInfo> list(Long id, PageQuery pageQuery) {
         //        new PageImpl<>(list,toPageRequest(pageQuery),pageQuery.getSize())
         //        new PageImpl<>(list,toPageRequest(pageQuery),pageQuery.getSize())
-        return new PageImpl<>(orderInfoService.my(id),toPageRequest(pageQuery),pageQuery.getSize());
+        return new PageImpl<>(orderInfoService.my(id), toPageRequest(pageQuery), pageQuery.getSize());
     }
     }
 
 
     @GetMapping("/received")
     @GetMapping("/received")