From 48cc9d9483785dd32323c6111c1140b8cd440b68 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Mon, 27 Mar 2023 18:15:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E6=89=B9=E9=87=8F=E5=8F=91=E8=B4=A7?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/controller/OmsOrderController.java | 12 +++++- .../oms/service/IOmsOrderService.java | 6 ++- .../oms/service/impl/OmsOrderServiceImpl.java | 30 ++++++++++++++- .../mallplus/oms/mapper/OmsOrderMapper.java | 9 ++++- .../main/resources/mapper/oms/OmsOrderDao.xml | 37 +++++++++++++++++++ 5 files changed, 90 insertions(+), 4 deletions(-) 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 16eb93a..ab9926d 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 950a3d1..7c7d045 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 @@ -76,7 +76,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 7faae13..35e0a6f 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 afe71d2..01900cf 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