diff --git a/xdclass-order-service/src/main/java/net/jieyuu/mapper/ProductOrderItemMapper.java b/xdclass-order-service/src/main/java/net/jieyuu/mapper/ProductOrderItemMapper.java
index 98a1f6f..ee5fa73 100644
--- a/xdclass-order-service/src/main/java/net/jieyuu/mapper/ProductOrderItemMapper.java
+++ b/xdclass-order-service/src/main/java/net/jieyuu/mapper/ProductOrderItemMapper.java
@@ -2,10 +2,13 @@ package net.jieyuu.mapper;
import net.jieyuu.model.ProductOrderItemDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
- * Mapper 接口
+ * Mapper 接口
*
*
* @author jieyuu
@@ -13,4 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface ProductOrderItemMapper extends BaseMapper {
+ /**
+ * 批量插入
+ *
+ * @param orderItemList
+ */
+ void insertBatch(@Param("orderItemList") List orderItemList);
}
diff --git a/xdclass-order-service/src/main/java/net/jieyuu/model/ProductOrderDO.java b/xdclass-order-service/src/main/java/net/jieyuu/model/ProductOrderDO.java
index c679d57..2515709 100644
--- a/xdclass-order-service/src/main/java/net/jieyuu/model/ProductOrderDO.java
+++ b/xdclass-order-service/src/main/java/net/jieyuu/model/ProductOrderDO.java
@@ -70,7 +70,7 @@ public class ProductOrderDO implements Serializable {
/**
* 用户id
*/
- private Integer userId;
+ private Long userId;
/**
* 0表示未删除,1表示已经删除
diff --git a/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java b/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java
index 5e848d6..88b07bb 100644
--- a/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java
+++ b/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java
@@ -1,19 +1,21 @@
package net.jieyuu.service.impl;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
-import net.jieyuu.enums.BizCodeEnum;
-import net.jieyuu.enums.CouponStateEnum;
+import net.jieyuu.enums.*;
import net.jieyuu.exception.BizException;
import net.jieyuu.feign.CouponFeignService;
import net.jieyuu.feign.ProductFeignService;
import net.jieyuu.feign.UserFeignService;
import net.jieyuu.interceptor.LoginInterceptor;
+import net.jieyuu.mapper.ProductOrderItemMapper;
import net.jieyuu.model.LoginUser;
import net.jieyuu.model.OrderItemVO;
import net.jieyuu.model.ProductOrderDO;
import net.jieyuu.mapper.ProductOrderMapper;
+import net.jieyuu.model.ProductOrderItemDO;
import net.jieyuu.request.ConfirmOrderRequest;
import net.jieyuu.request.LockCouponRecordRequest;
import net.jieyuu.request.LockProductRequest;
@@ -29,6 +31,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -56,6 +59,9 @@ public class ProductOrderServiceImpl extends ServiceImpl orderItemList) {
+
+ List orderItemDOList = orderItemList.stream().map(obj -> {
+ ProductOrderItemDO itemDO = new ProductOrderItemDO();
+ itemDO.setBuyNum(obj.getBuyNum());
+
+ itemDO.setProductId(obj.getProductId());
+ itemDO.setProductName(obj.getProductTitle());
+ itemDO.setProductImg(obj.getProductImg());
+
+ itemDO.setOutTradeNo(orderOutTradeNo);
+ itemDO.setCreateTime(new Date());
+ // 单价
+ itemDO.setAmount(obj.getAmount());
+ // 总价
+ itemDO.setTotalAmount(obj.getTotalAmount());
+ itemDO.setProductOrderId(orderId);
+
+ return itemDO;
+ }).collect(Collectors.toList());
+
+
+ productOrderItemMapper.insertBatch(orderItemDOList);
+
+
+ }
+
+ /**
+ * 创建订单
+ *
+ * @param orderRequest
+ * @param loginUser
+ * @param orderOutTradeNo
+ * @param addressVO
+ * @return
+ */
+ private ProductOrderDO saveProductOrder(ConfirmOrderRequest orderRequest, LoginUser loginUser, String orderOutTradeNo, ProductOrderAddressVO addressVO) {
+ ProductOrderDO productOrderDO = new ProductOrderDO();
+ productOrderDO.setUserId(loginUser.getId());
+ productOrderDO.setHeadImg(loginUser.getHeadImg());
+ productOrderDO.setNickname(loginUser.getName());
+
+
+ productOrderDO.setOutTradeNo(orderOutTradeNo);
+ productOrderDO.setDel(0);
+ productOrderDO.setOrderType(ProductOrderTypeEnum.DAILY.name());
+
+ //实际支付的价格
+ productOrderDO.setPayAmount(orderRequest.getRealPayAmount());
+ productOrderDO.setTotalAmount(orderRequest.getTotalAmount());
+ productOrderDO.setState(ProductOrderStateEnum.NEW.name());
+ //
+ productOrderDO.setPayType(ProductOrderPayTypeEnum.valueOf(orderRequest.getPayType()).name());
+
+ // 收货地址
+ productOrderDO.setReceiverAddress(JSON.toJSONString(addressVO));
+
+ // 插入数据库
+ productOrderMapper.insert(productOrderDO);
+
+ return productOrderDO;
+
+ }
+
/**
* 锁定商品库存
*
diff --git a/xdclass-order-service/src/main/resources/mapper/ProductOrderItemMapper.xml b/xdclass-order-service/src/main/resources/mapper/ProductOrderItemMapper.xml
index fa511ee..7eef4cf 100644
--- a/xdclass-order-service/src/main/resources/mapper/ProductOrderItemMapper.xml
+++ b/xdclass-order-service/src/main/resources/mapper/ProductOrderItemMapper.xml
@@ -21,4 +21,28 @@
id, product_order_id, out_trade_no, product_id, product_name, product_img, buy_num, create_time, total_amount, amount
+
+
+ id, product_order_id, out_trade_no, product_id, product_name, product_img, buy_num, create_time, total_amount, amount
+
+
+
+ insert into product_order_item
+ ()
+ values
+
+ (
+ #{item.productOrderId}
+ #{item.outTradeNo}
+ #{item.productId}
+ #{item.productName}
+ #{item.productImg}
+ #{item.buyNum}
+ #{item.createTime}
+ #{item.totalAmount}
+ #{item.amount}
+ )
+
+
+