|
@@ -1,13 +1,16 @@
|
|
|
package com.sd.business.service.order.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.ruoyi.common.constant.StatusConstant;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import com.sd.business.entity.department.po.Department;
|
|
|
import com.sd.business.entity.order.dto.OrderInfoDto;
|
|
|
import com.sd.business.entity.order.dto.OrderSelectDto;
|
|
|
+import com.sd.business.entity.order.dto.OrderSkuDto;
|
|
|
import com.sd.business.entity.order.po.OrderInfo;
|
|
|
import com.sd.business.entity.order.po.OrderOperatingLog;
|
|
|
import com.sd.business.entity.order.po.OrderSku;
|
|
@@ -27,7 +30,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.Collections;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -121,13 +126,56 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void add(OrderInfoDto orderDto) {
|
|
|
+ orderDto.setSource(1);
|
|
|
+ orderDto.setCode("PI" + new Date().getTime());
|
|
|
+ orderDto.setDeliveryTime(DateUtil.offsetDay(new Date(), 1));
|
|
|
+ orderDto.setSettlementStatus(1);
|
|
|
+ orderDto.setTaxRate(new BigDecimal("10.00"));
|
|
|
+ orderDto.setTag("0");
|
|
|
this.save(orderDto);
|
|
|
+
|
|
|
+ List<OrderSkuDto> orderSkuList = orderDto.getOrderSkuList();
|
|
|
+ List<OrderSku> tempOrderSkuList = orderSkuList.stream()
|
|
|
+ .peek(item -> item.setOrderId(orderDto.getId()))
|
|
|
+ .peek(item -> item.setStockPreparationStatus(StatusConstant.NO))
|
|
|
+ .map(item -> (OrderSku) item)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ orderSkuService.saveBatch(tempOrderSkuList);
|
|
|
+
|
|
|
+ List<OrderSkuBom> orderSkuBomList = orderSkuList.stream()
|
|
|
+ .peek(item -> item.setOrderId(orderDto.getId()))
|
|
|
+ .flatMap(orderSku -> orderSku.getOrderSkuBomList()
|
|
|
+ .stream().peek(orderSkuBom -> orderSkuBom.setOrderSkuId(orderSku.getId())))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ orderSkuBomService.saveBatch(orderSkuBomList);
|
|
|
+
|
|
|
+ OrderOperatingLog orderOperatingLog = new OrderOperatingLog();
|
|
|
+ orderOperatingLog.setType(10);
|
|
|
+ orderOperatingLog.setOrderId(orderDto.getId());
|
|
|
+ orderOperatingLog.setOrderCode(orderDto.getCode());
|
|
|
+ orderOperatingLogService.save(orderOperatingLog);
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void edit(OrderInfoDto orderDto) {
|
|
|
this.updateById(orderDto);
|
|
|
+
|
|
|
+ List<OrderSkuDto> orderSkuList = orderDto.getOrderSkuList();
|
|
|
+ List<OrderSku> tempOrderSkuList = orderSkuList.stream()
|
|
|
+ .peek(item -> item.setOrderId(orderDto.getId()))
|
|
|
+ .peek(item -> item.setStockPreparationStatus(StatusConstant.NO))
|
|
|
+ .map(item -> (OrderSku) item)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ orderSkuService.saveOrUpdateBatch(tempOrderSkuList);
|
|
|
+
|
|
|
+ List<OrderSkuBom> orderSkuBomList = orderSkuList.stream()
|
|
|
+ .peek(item -> item.setOrderId(orderDto.getId()))
|
|
|
+ .flatMap(orderSku -> orderSku.getOrderSkuBomList()
|
|
|
+ .stream().peek(orderSkuBom -> orderSkuBom.setOrderSkuId(orderSku.getId())))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ orderSkuBomService.saveOrUpdateBatch(orderSkuBomList);
|
|
|
+
|
|
|
OrderOperatingLog orderOperatingLog = new OrderOperatingLog();
|
|
|
orderOperatingLog.setType(orderDto.getUpdateType());
|
|
|
orderOperatingLog.setOrderId(orderDto.getId());
|