wangming 1 deň pred
rodič
commit
2327d68f40

+ 73 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/po/SMOrderItemPo.java

@@ -0,0 +1,73 @@
+package com.yami.shop.bean.po;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class SMOrderItemPo implements Serializable {
+
+    private static final long serialVersionUID = 7307405761190788407L;
+
+    /**
+     * 订单orderNumber
+     */
+    private String orderNumber;
+
+    /**
+     * 产品ID
+     */
+    private Long prodId;
+
+    /**
+     * 产品SkuID
+     */
+    private Long skuId;
+
+    /**
+     * 购物车产品个数
+     */
+    private Integer prodCount;
+
+    /**
+     * 产品名称
+     */
+    private String prodName;
+
+    /**
+     * sku名称
+     */
+    private String skuName;
+
+    /**
+     * 产品主图片路径
+     */
+    private String pic;
+
+    /**
+     * 产品价格
+     */
+    private Double price;
+
+    /**
+     * 商品总金额
+     */
+    private Double productTotalAmount;
+
+    /**
+     * 购物时间
+     */
+    private Date recTime;
+
+    /**
+     * 使用积分
+     */
+    private Integer useScore;
+
+    /**
+     * 订单确认收货获取的积分
+     */
+    private Integer gainScore;
+
+}

+ 57 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/po/SMOrderPo.java

@@ -0,0 +1,57 @@
+package com.yami.shop.bean.po;
+
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class SMOrderPo implements Serializable {
+
+    private static final long serialVersionUID = 6222259729062826852L;
+
+    /**
+     * 订购流水号
+     */
+    private String orderNumber;
+
+    /**
+     * 总值
+     */
+    private Double total;
+
+    /**
+     * 实际总值
+     */
+    private Double actualTotal;
+
+    private Integer payType;
+
+    /**
+     * 用户备注
+     */
+    private String remarks;
+
+    /**
+     * 配送类型(1:快递 2:自提 3:及时配送)
+     */
+    private Integer dvyType;
+
+    /**
+     * 订单运费
+     */
+    private Double freightAmount;
+
+    /**
+     * 付款时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date payTime;
+
+    private Long offsetPoints;
+
+    private List<SMOrderItemPo> orderItems;
+
+}

+ 18 - 0
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/SMOrderController.java

@@ -1,13 +1,22 @@
 package com.yami.shop.platform.controller;
 
+import com.yami.shop.bean.po.SMOrderItemPo;
+import com.yami.shop.bean.po.SMOrderPo;
+import com.yami.shop.common.exception.GlobalException;
+import com.yami.shop.common.util.R;
 import com.yami.shop.service.OrderItemService;
 import com.yami.shop.service.OrderService;
 import com.yami.shop.service.hb.IHBOrderService;
+import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.log4j.Log4j2;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @RestController
 @RequestMapping("/sm/order")
 @AllArgsConstructor
@@ -18,5 +27,14 @@ public class SMOrderController {
     private final OrderItemService orderItemService;
     private final IHBOrderService hbOrderService;
 
+    @PostMapping("/addSMOrder")
+    @ApiOperation(value = "addSMOrder")
+    public R<?> addSMOrder(@RequestBody SMOrderPo orderPo) {
+        if (orderPo.getOrderItems() == null){
+            throw new GlobalException("订单项不能为空");
+        }
+        orderService.addSMOrder(orderPo);
+        return R.SUCCESS();
+    }
 
 }

+ 3 - 0
yami-shop-service/src/main/java/com/yami/shop/service/OrderService.java

@@ -18,6 +18,7 @@ import com.yami.shop.bean.app.dto.OrderCountData;
 import com.yami.shop.bean.app.dto.ShopCartOrderMergerDto;
 import com.yami.shop.bean.model.*;
 import com.yami.shop.bean.param.*;
+import com.yami.shop.bean.po.SMOrderPo;
 import com.yami.shop.bean.vo.OrderCountVo;
 import com.yami.shop.common.util.PageParam;
 import com.yami.shop.common.util.R;
@@ -214,4 +215,6 @@ public interface OrderService extends IService<Order> {
      * @param subOrderNumber 删除临时子订单参数
      */
     void deleteTempSubOrder(String subOrderNumber);
+
+    void addSMOrder(SMOrderPo orderPo);
 }

+ 57 - 1
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -40,6 +40,8 @@ import com.yami.shop.bean.event.SubmitOrderEvent;
 import com.yami.shop.bean.event.SubmitScoreOrderEvent;
 import com.yami.shop.bean.model.*;
 import com.yami.shop.bean.param.*;
+import com.yami.shop.bean.po.SMOrderItemPo;
+import com.yami.shop.bean.po.SMOrderPo;
 import com.yami.shop.bean.vo.ExportContext;
 import com.yami.shop.bean.vo.OrderCountVo;
 import com.yami.shop.common.config.Constant;
@@ -60,7 +62,10 @@ import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.streaming.SXSSFSheet;
 import org.apache.poi.xssf.streaming.SXSSFWorkbook;
 import org.springframework.beans.BeanUtils;
@@ -2494,6 +2499,57 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         log.info("删除临时子订单成功,子订单号:{},父订单号:{}", subOrderNumber, parentOrderNumber);
     }
 
+    @Override
+    public void addSMOrder(SMOrderPo orderPo) {
+        Order order = new Order();
+        order.setShopId(0L);
+        order.setChannelId(0L);
+        order.setUserId("");
+        order.setOrderNumber(orderPo.getOrderNumber());
+        order.setTotal(orderPo.getTotal());
+        order.setActualTotal(orderPo.getActualTotal());
+        order.setPayType(orderPo.getPayType());
+        order.setRemarks(orderPo.getRemarks());
+        order.setHbOrderStatus(10);
+        order.setHbLogisticStatus(0);
+        order.setDvyType(orderPo.getDvyType());
+        order.setFreightAmount(orderPo.getFreightAmount());
+        order.setCreateTime(new Date());
+        order.setUpdateTime(new Date());
+        order.setPayTime(orderPo.getPayTime());
+        order.setIsPayed(1);
+        order.setDeleteStatus(0);
+        order.setOrderType(4);
+        order.setCommSts(0);
+        order.setOffsetPoints(orderPo.getOffsetPoints());
+        List<SMOrderItemPo> orderItems = orderPo.getOrderItems();
+        List<String> list = orderItems.stream().map(SMOrderItemPo::getSkuName).collect(Collectors.toList());
+        order.setProdName(String.join(",",list));
+        order.setProductNums(orderItems.stream().map(SMOrderItemPo::getProdCount).reduce(0, Integer::sum));
+        orderMapper.insert(order);
+        orderItems.forEach(c->{
+            OrderItem item = new OrderItem();
+            item.setShopId(0L);
+            item.setOrderNumber(order.getOrderNumber());
+            item.setProdId(c.getProdId());
+            item.setSkuId(c.getSkuId());
+            item.setProdCount(c.getProdCount());
+            item.setProdName(c.getProdName());
+            item.setSkuName(c.getSkuName());
+            item.setPic(c.getPic());
+            item.setPrice(c.getPrice());
+            item.setUserId("");
+            item.setProductTotalAmount(c.getProductTotalAmount());
+            item.setRecTime(c.getRecTime());
+            item.setCommSts(0);
+            item.setBasketDate(new Date());
+            item.setUseScore(c.getUseScore());
+            item.setGainScore(c.getGainScore());
+            orderItemService.save(item);
+        });
+
+    }
+
     /**
      * 为手动拆单的子订单分配积分和金额
      */