diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserBatchSubmitOrderDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserBatchSubmitOrderDto.java index 0e6ef0c..207e821 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserBatchSubmitOrderDto.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserBatchSubmitOrderDto.java @@ -1,5 +1,6 @@ package com.qniao.dam.api.command.order.user.request; +import cn.hutool.core.collection.CollUtil; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.qniao.dam.domain.aggregate.order.entity.Order; @@ -8,9 +9,11 @@ import com.qniao.domain.Trans2DomainAssembler; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; +import java.util.Objects; @Data public class UserBatchSubmitOrderDto { @@ -19,7 +22,6 @@ public class UserBatchSubmitOrderDto { private Long miId; @ApiModelProperty("产品规格标识集合") - @NotNull(message = "产品规格标识集合不能为空") private List productSpecIds; @ApiModelProperty("活动id") @@ -28,19 +30,45 @@ public class UserBatchSubmitOrderDto { @ApiModelProperty("商品组类型 0 商品 1 活动产品") private Integer groupType; + @ApiModelProperty("订单项") + @Valid + private List itemList; + + public Order trans2Domain() { Order order = new Order(); order.setMiId(miId); order.setActivityId(activityId); order.setGroupType(groupType); List orderItemList = new ArrayList<>(); - productSpecIds.forEach(e -> { - OrderItem orderItem = new OrderItem(); - orderItem.setProductSpecId(e); - orderItem.setQuantity(1); - orderItemList.add(orderItem); - }); + if (CollUtil.isNotEmpty(orderItemList)) { + itemList.forEach(e -> { + OrderItem orderItem = new OrderItem(); + orderItem.setProductSpecId(e.productSpecId); + orderItem.setQuantity(Objects.nonNull(e.getQuantity()) ? e.quantity : 1); + orderItemList.add(orderItem); + }); + } else { + productSpecIds.forEach(e -> { + OrderItem orderItem = new OrderItem(); + orderItem.setProductSpecId(e); + orderItem.setQuantity(1); + orderItemList.add(orderItem); + }); + } order.setOrderItemList(orderItemList); return order; } + + @Data + public static class SubmitOrderItemDto { + + @ApiModelProperty("产品规格标识") + @NotNull(message = "产品规格标识不能为空") + private Long productSpecId; + + @ApiModelProperty("数量") + private Integer quantity = 1; + + } }