|
@@ -411,9 +411,29 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
private OmsOrderOperateHistoryMapper omsOrderOperateHistoryMapper;
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public void confirmReceiveOrder(Long orderId) {
|
|
|
// redis 用户信息
|
|
|
UmsMember member = memberService.getCurrentMember();
|
|
|
+ //更新订单
|
|
|
+ updateOrder(orderId, member);
|
|
|
+ //插入历史
|
|
|
+ insertOrderOperateHistory(orderId, member);
|
|
|
+ //更新商品销量
|
|
|
+ updteProduct(orderId);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void insertOrderOperateHistory(Long orderId, UmsMember member) {
|
|
|
+ OmsOrderOperateHistory record = new OmsOrderOperateHistory();
|
|
|
+ record.setCreateTime(new Date());
|
|
|
+ record.setOrderId(orderId);
|
|
|
+ record.setOperateMan(member.getNickname());
|
|
|
+ record.setOrderStatus(4);
|
|
|
+ record.setNote("确认收货!");
|
|
|
+ omsOrderOperateHistoryMapper.insertSelective(record);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateOrder(Long orderId, UmsMember member) {
|
|
|
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
|
|
|
if (!member.getId().equals(order.getMemberId())) {
|
|
|
Asserts.fail("不能确认他人订单!");
|
|
@@ -425,15 +445,51 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
order.setConfirmStatus(1);
|
|
|
order.setReceiveTime(new Date());
|
|
|
orderMapper.updateByPrimaryKey(order);
|
|
|
- OmsOrderOperateHistory record = new OmsOrderOperateHistory();
|
|
|
- record.setCreateTime(new Date());
|
|
|
- record.setOrderId(orderId);
|
|
|
- record.setOperateMan(member.getNickname());
|
|
|
- record.setOrderStatus(4);
|
|
|
- record.setNote("确认收货!");
|
|
|
- omsOrderOperateHistoryMapper.insertSelective(record);
|
|
|
}
|
|
|
|
|
|
+ private void updteProduct(Long orderId) {
|
|
|
+ OmsOrderItemExample example = new OmsOrderItemExample();
|
|
|
+ example.createCriteria().andOrderIdEqualTo(orderId);
|
|
|
+ List<OmsOrderItem> omsOrderItems = orderItemMapper.selectByExample(example);
|
|
|
+ for (OmsOrderItem omsOrderItem : omsOrderItems) {
|
|
|
+ //商品id
|
|
|
+ Long productId = omsOrderItem.getProductId();
|
|
|
+ //销量
|
|
|
+ Integer productQuantity = omsOrderItem.getProductQuantity();
|
|
|
+ PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(productId);
|
|
|
+ Integer sale = pmsProduct.getSale();
|
|
|
+ //等于空
|
|
|
+ if (StringUtils.isEmpty(sale)) {
|
|
|
+ pmsProduct.setSale(productQuantity);
|
|
|
+ } else {
|
|
|
+ Integer sum = sale + productQuantity;
|
|
|
+ pmsProduct.setSale(sum);
|
|
|
+ }
|
|
|
+ pmsProductMapper.updateByPrimaryKeySelective(pmsProduct);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+// public void merge(List<OmsOrderItem> list) {
|
|
|
+// List<OmsOrderItem> result = list.stream()
|
|
|
+// // 表示id为key, 接着如果有重复的,那么从BillsNums对象o1与o2中筛选出一个,这里选择o1,
|
|
|
+// // 并把id重复,需要将nums和sums与o1进行合并的o2, 赋值给o1,最后返回o1
|
|
|
+// .collect(Collectors.toMap(OmsOrderItem::getId, a -> a, (o1, o2) -> {
|
|
|
+// o1.setProductQuantity(o1.getProductQuantity() + o1.getProductQuantity());
|
|
|
+// return o1;
|
|
|
+// })).values().stream().collect(Collectors.toList());
|
|
|
+//
|
|
|
+//
|
|
|
+// Map<Long, OmsOrderItem> appleMap = result.stream().collect(Collectors.toMap(OmsOrderItem::getId, a -> a, (k1, k2) -> k1));
|
|
|
+// //收集到的商品id
|
|
|
+// List<Long> collect = result.stream().map(x -> {
|
|
|
+// Long productId = x.getProductId();
|
|
|
+// return productId;
|
|
|
+// }).collect(Collectors.toList());
|
|
|
+// PmsProductExample example = new PmsProductExample();
|
|
|
+// example.createCriteria().andIdIn(collect);
|
|
|
+// List<PmsProduct> pmsProducts = pmsProductMapper.selectByExample(example);
|
|
|
+// }
|
|
|
+
|
|
|
@Override
|
|
|
public CommonPage<OmsOrderDetail> list(Integer status, Integer pageNum, Integer pageSize) {
|
|
|
if (status == -1) {
|