|
|
|
@ -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<Long> productSpecIds; |
|
|
|
|
|
|
|
@ApiModelProperty("活动id") |
|
|
|
@ -28,19 +30,45 @@ public class UserBatchSubmitOrderDto { |
|
|
|
@ApiModelProperty("商品组类型 0 商品 1 活动产品") |
|
|
|
private Integer groupType; |
|
|
|
|
|
|
|
@ApiModelProperty("订单项") |
|
|
|
@Valid |
|
|
|
private List<SubmitOrderItemDto> itemList; |
|
|
|
|
|
|
|
|
|
|
|
public Order trans2Domain() { |
|
|
|
Order order = new Order(); |
|
|
|
order.setMiId(miId); |
|
|
|
order.setActivityId(activityId); |
|
|
|
order.setGroupType(groupType); |
|
|
|
List<OrderItem> 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; |
|
|
|
|
|
|
|
} |
|
|
|
} |