|
|
|
@ -29,7 +29,7 @@ import com.yami.shop.dao.OrderMapper;
|
|
|
|
import com.yami.shop.dao.ProductMapper;
|
|
|
|
import com.yami.shop.dao.ProductMapper;
|
|
|
|
import com.yami.shop.dao.SkuMapper;
|
|
|
|
import com.yami.shop.dao.SkuMapper;
|
|
|
|
import com.yami.shop.service.OrderService;
|
|
|
|
import com.yami.shop.service.OrderService;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import lombok.AllArgsConstructor;
|
|
|
|
import org.springframework.cache.annotation.CacheEvict;
|
|
|
|
import org.springframework.cache.annotation.CacheEvict;
|
|
|
|
import org.springframework.cache.annotation.CachePut;
|
|
|
|
import org.springframework.cache.annotation.CachePut;
|
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
|
@ -44,23 +44,18 @@ import java.util.stream.Collectors;
|
|
|
|
* @author lgh on 2018/09/15.
|
|
|
|
* @author lgh on 2018/09/15.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Service
|
|
|
|
@Service
|
|
|
|
|
|
|
|
@AllArgsConstructor
|
|
|
|
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
|
|
|
|
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private final OrderMapper orderMapper;
|
|
|
|
private OrderMapper orderMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private final SkuMapper skuMapper;
|
|
|
|
private SkuMapper skuMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private final OrderItemMapper orderItemMapper;
|
|
|
|
private OrderItemMapper orderItemMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private final ProductMapper productMapper;
|
|
|
|
private ProductMapper productMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final ApplicationEventPublisher eventPublisher;
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private ApplicationEventPublisher eventPublisher;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Order getOrderByOrderNumber(String orderNumber) {
|
|
|
|
public Order getOrderByOrderNumber(String orderNumber) {
|
|
|
|
@ -92,12 +87,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
eventPublisher.publishEvent(new SubmitOrderEvent(mergerOrder, orderList));
|
|
|
|
eventPublisher.publishEvent(new SubmitOrderEvent(mergerOrder, orderList));
|
|
|
|
|
|
|
|
|
|
|
|
// 插入订单
|
|
|
|
// 插入订单
|
|
|
|
orderList.forEach(order -> orderMapper.insert(order));
|
|
|
|
saveBatch(orderList);
|
|
|
|
List<OrderItem> orderItems = orderList.stream().flatMap(order -> order.getOrderItems().stream()).collect(Collectors.toList());
|
|
|
|
List<OrderItem> orderItems = orderList.stream().flatMap(order -> order.getOrderItems().stream()).collect(Collectors.toList());
|
|
|
|
// 插入订单项,返回主键
|
|
|
|
// 插入订单项,返回主键
|
|
|
|
orderItemMapper.insertBatch(orderItems);
|
|
|
|
orderItemMapper.insertBatch(orderItems);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return orderList;
|
|
|
|
return orderList;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -106,14 +99,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
public void delivery(Order order) {
|
|
|
|
public void delivery(Order order) {
|
|
|
|
orderMapper.updateById(order);
|
|
|
|
orderMapper.updateById(order);
|
|
|
|
// 发送用户发货通知
|
|
|
|
|
|
|
|
Map<String, String> params = new HashMap<>(16);
|
|
|
|
|
|
|
|
params.put("orderNumber", order.getOrderNumber());
|
|
|
|
|
|
|
|
// Delivery delivery = deliveryMapper.selectById(order.getDvyId());
|
|
|
|
|
|
|
|
// params.put("dvyName", delivery.getDvyName());
|
|
|
|
|
|
|
|
// params.put("dvyFlowId", order.getDvyFlowId());
|
|
|
|
|
|
|
|
// smsLogService.sendSms(SmsType.NOTIFY_DVY, order.getUserId(), order.getMobile(), params);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
@ -136,13 +121,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Map<Long, Integer> prodCollect = new HashMap<>(16);
|
|
|
|
Map<Long, Integer> prodCollect = new HashMap<>(16);
|
|
|
|
|
|
|
|
Map<Long, Integer> skuCollect = new HashMap<>(16);
|
|
|
|
|
|
|
|
|
|
|
|
allOrderItems.stream().collect(Collectors.groupingBy(OrderItem::getProdId)).forEach((prodId, orderItems) -> {
|
|
|
|
allOrderItems.stream().collect(Collectors.groupingBy(OrderItem::getProdId)).forEach((prodId, orderItems) -> {
|
|
|
|
int prodTotalNum = orderItems.stream().mapToInt(OrderItem::getProdCount).sum();
|
|
|
|
int prodTotalNum = orderItems.stream().mapToInt(OrderItem::getProdCount).sum();
|
|
|
|
prodCollect.put(prodId, prodTotalNum);
|
|
|
|
prodCollect.put(prodId, prodTotalNum);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
productMapper.returnStock(prodCollect);
|
|
|
|
productMapper.returnStock(prodCollect);
|
|
|
|
|
|
|
|
|
|
|
|
Map<Long, Integer> skuCollect = new HashMap<>(16);
|
|
|
|
|
|
|
|
allOrderItems.stream().collect(Collectors.groupingBy(OrderItem::getSkuId)).forEach((skuId, orderItems) -> {
|
|
|
|
allOrderItems.stream().collect(Collectors.groupingBy(OrderItem::getSkuId)).forEach((skuId, orderItems) -> {
|
|
|
|
int prodTotalNum = orderItems.stream().mapToInt(OrderItem::getProdCount).sum();
|
|
|
|
int prodTotalNum = orderItems.stream().mapToInt(OrderItem::getProdCount).sum();
|
|
|
|
skuCollect.put(skuId, prodTotalNum);
|
|
|
|
skuCollect.put(skuId, prodTotalNum);
|
|
|
|
@ -157,7 +143,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
for (Order order : orders) {
|
|
|
|
for (Order order : orders) {
|
|
|
|
eventPublisher.publishEvent(new ReceiptOrderEvent(order));
|
|
|
|
eventPublisher.publishEvent(new ReceiptOrderEvent(order));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
|