diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/oms/controller/OmsOrderController.java b/mallplus-admin/src/main/java/com/zscat/mallplus/oms/controller/OmsOrderController.java index ea8f847..eb431b9 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/oms/controller/OmsOrderController.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/oms/controller/OmsOrderController.java @@ -175,7 +175,17 @@ public class OmsOrderController { } return new CommonResult().failed(); } - + @SysLog(MODULE = "oms", REMARK = "新批量发货") + @ApiOperation("批量发货") + @RequestMapping(value = "/update/deliveryNew", method = RequestMethod.POST) + @ResponseBody + public Object deliveryNew(@RequestBody List deliveryParamList) { + int count = IOmsOrderService.deliveryNew(deliveryParamList); + if (count > 0) { + return new CommonResult().success(count); + } + return new CommonResult().failed(); + } @SysLog(MODULE = "oms", REMARK = "批量发货") @ApiOperation("批量发货") @RequestMapping(value = "/delivery", method = RequestMethod.POST) diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/oms/service/IOmsOrderService.java b/mallplus-admin/src/main/java/com/zscat/mallplus/oms/service/IOmsOrderService.java index 88bd260..75c12e3 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/oms/service/IOmsOrderService.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/oms/service/IOmsOrderService.java @@ -44,7 +44,11 @@ public interface IOmsOrderService extends IService { */ @Transactional int delivery(List deliveryParamList); - + /** + * 新批量发货 + */ + @Transactional + int deliveryNew(List deliveryParamList); /** * 批量关闭订单 */ diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/oms/service/impl/OmsOrderServiceImpl.java b/mallplus-admin/src/main/java/com/zscat/mallplus/oms/service/impl/OmsOrderServiceImpl.java index ede5d37..01f5f8a 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/oms/service/impl/OmsOrderServiceImpl.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/oms/service/impl/OmsOrderServiceImpl.java @@ -78,7 +78,35 @@ public class OmsOrderServiceImpl extends ServiceImpl i sendPushMsg(deliveryParamList); return count; } - + @Override + public int deliveryNew(List deliveryParamList) { + //根据订单查询地址 + for(OmsOrderDeliveryParam omsOrderDeliveryParam:deliveryParamList){ + String orderId=String.valueOf(omsOrderDeliveryParam.getOrderId()); + OmsOrder address=orderMapper.getAddressById(orderId); + omsOrderDeliveryParam.setDeliveryCompany(address.getReceiverDetailAddress()); + omsOrderDeliveryParam.setDeliverySn("到店自取"); + } + //批量发货 + int count = orderMapper.deliveryNew(deliveryParamList); + if (count > 0) { + //添加操作记录 + List operateHistoryList = deliveryParamList.stream() + .map(omsOrderDeliveryParam -> { + OmsOrderOperateHistory history = new OmsOrderOperateHistory(); + history.setOrderId(omsOrderDeliveryParam.getOrderId()); + history.setCreateTime(new Date()); + history.setOperateMan("后台管理员"); + history.setPreStatus(OrderStatus.TO_DELIVER.getValue()); + history.setOrderStatus(OrderStatus.DELIVERED.getValue()); + history.setNote("完成发货"); + return history; + }).collect(Collectors.toList()); + orderOperateHistoryDao.saveBatch(operateHistoryList); + } + sendPushMsg(deliveryParamList); + return count; + } private void sendPushMsg(List deliveryParamList) { for (OmsOrderDeliveryParam param : deliveryParamList) { OmsOrder omsOrder = baseMapper.selectById(param.getOrderId()); diff --git a/mallplus-mbg/src/main/java/com/zscat/mallplus/oms/mapper/OmsOrderMapper.java b/mallplus-mbg/src/main/java/com/zscat/mallplus/oms/mapper/OmsOrderMapper.java index 230d321..098efe6 100644 --- a/mallplus-mbg/src/main/java/com/zscat/mallplus/oms/mapper/OmsOrderMapper.java +++ b/mallplus-mbg/src/main/java/com/zscat/mallplus/oms/mapper/OmsOrderMapper.java @@ -51,7 +51,14 @@ public interface OmsOrderMapper extends BaseMapper { * 批量发货 */ int delivery(@Param("list") List deliveryParamList); - + /** + * 批量发货 + */ + int deliveryNew(@Param("list") List deliveryParamList); + /** + * 根据订单查询详细地址 + */ + OmsOrder getAddressById(String orderId); /** * 根据会员分组订单 * diff --git a/mallplus-mbg/src/main/resources/mapper/oms/OmsOrderDao.xml b/mallplus-mbg/src/main/resources/mapper/oms/OmsOrderDao.xml index 6d88b84..4448e42 100644 --- a/mallplus-mbg/src/main/resources/mapper/oms/OmsOrderDao.xml +++ b/mallplus-mbg/src/main/resources/mapper/oms/OmsOrderDao.xml @@ -229,6 +229,43 @@ AND `status` = 2 + + UPDATE oms_order + SET + delivery_sn = CASE id + + WHEN #{item.orderId} THEN #{item.deliverySn} + + END, + delivery_company = CASE id + + WHEN #{item.orderId} THEN #{item.deliveryCompany} + + END, + delivery_time = CASE id + + WHEN #{item.orderId} THEN now() + + END, + `status` = CASE id + + WHEN #{item.orderId} THEN 3 + + END + WHERE + id IN + + #{item.orderId} + + AND `status` = 2 + + + + UPDATE pms_sku_stock SET