From 322eb453927bf5a12566619269bee9f1cb2a856d Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 29 Mar 2024 13:10:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E8=B4=A7=E6=B7=BB=E5=8A=A0=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=97=B6=E8=BF=94=E5=9B=9E=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/controller/BuyOrderController.java | 4 +- .../modules/book/service/BuyOrderService.java | 3 +- .../service/impl/BuyOrderServiceImpl.java | 66 +++++++++---------- 3 files changed, 34 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index 94cd1812..19c82de4 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -722,9 +722,7 @@ public class BuyOrderController { @RequestMapping(value = "/delivery", method = RequestMethod.POST) public R delivery(@RequestParam("expressCompanyCode") String expressCompanyCode, @RequestBody List buyOrderProductId) throws Exception { - buyOrderService.delivery(expressCompanyCode, buyOrderProductId); - return R.ok(); - + return buyOrderService.delivery(expressCompanyCode, buyOrderProductId); } @RequestMapping("/mytest") diff --git a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java index 931e0955..7c531139 100644 --- a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java @@ -3,6 +3,7 @@ package com.peanut.modules.book.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.PageUtils; +import com.peanut.common.utils.R; import com.peanut.modules.common.entity.BuyOrder; import com.peanut.modules.book.to.UserOrderDto; import com.peanut.modules.book.vo.UserOrderVo; @@ -49,7 +50,7 @@ public interface BuyOrderService extends IService { * @param expressCompanyCode 快递公司代码 * @param buyOrderDetailId 订单详情 ID 列表 */ - void delivery(String expressCompanyCode, List buyOrderDetailId); + R delivery(String expressCompanyCode, List buyOrderDetailId); Page getUserOrderList(UserOrderDto userOrderDto); diff --git a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java index 3070495d..a2719688 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java @@ -12,6 +12,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.peanut.common.utils.ExcludeEmptyQueryWrapper; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; +import com.peanut.common.utils.R; import com.peanut.config.Constants; import com.peanut.modules.common.dao.BuyOrderDao; import com.peanut.modules.common.dao.BuyOrderProductDao; @@ -490,7 +491,7 @@ public class BuyOrderServiceImpl extends ServiceImpl impl } @Override - public void delivery(String expressCompanyCode, List buyOrderProductId) { + public R delivery(String expressCompanyCode, List buyOrderProductId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("id", buyOrderProductId); List buyOrderProductList = buyOrderProductService.list(queryWrapper); @@ -518,16 +519,9 @@ public class BuyOrderServiceImpl extends ServiceImpl impl commodityList.add(commodity); ln++; } - - - // 获取用户地址 Integer orderId = buyOrderProductList.get(0).getOrderId(); - BuyOrder buyOrder = getById(orderId); - -// System.out.println(buyOrder); - QueryWrapper countyQueryWrapper = new QueryWrapper<>(); countyQueryWrapper.eq("county_name", buyOrder.getDistrict()); List counties = countyService.getBaseMapper().selectList(countyQueryWrapper); @@ -536,11 +530,8 @@ public class BuyOrderServiceImpl extends ServiceImpl impl countyQueryWrapper.eq("city_id",one.getCityId()); } County county = countyService.getOne(countyQueryWrapper); - - // 计算快递费用 BigDecimal expressFee = expressFeeService.calculateExpressFee(expressCompanyCode, totalWeight, county.getRegionCode()); - ExpressOrder expressOrder = new ExpressOrder(); expressOrder.setExpressFee(expressFee); expressOrder.setCreateTime(new Date()); @@ -557,34 +548,39 @@ public class BuyOrderServiceImpl extends ServiceImpl impl expressOrder.setRemark(remark); // 生成快递面单 ExpressOrderResponseVo response = expressOrderService.placeExpressOrder(expressOrder); - String expressOrderSn = response.getOrder().getLogisticCode(); + if(response.isSuccess()){ + String expressOrderSn = response.getOrder().getLogisticCode(); // String printTemplate = response.getPrintTemplate(); - String printTemplate = pushHtmlToOss(response.getPrintTemplate(),expressOrderSn+".html"); + String printTemplate = pushHtmlToOss(response.getPrintTemplate(),expressOrderSn+".html"); - expressOrder.setExpressOrderSn(expressOrderSn); - expressOrder.setPrintTemplate(printTemplate); - expressOrderDao.insert(expressOrder); - int expressOrderId = expressOrder.getId(); - for (BuyOrderProduct buyOrderProduct : buyOrderProductList) { - buyOrderProduct.setExpressOrderId(expressOrderId); - buyOrderProduct.setShipped(1); - } - buyOrderProductService.updateBatchById(buyOrderProductList); - - //更改订单状态 - QueryWrapper buyOrderQueryWrapper = new QueryWrapper<>(); - buyOrderQueryWrapper.in("order_id", buyOrderIdList); - List buyOrderList = list(buyOrderQueryWrapper); - for (BuyOrder buyorder : buyOrderList) { - QueryWrapper buyOrderProductQueryWrapper = new QueryWrapper<>(); - buyOrderProductQueryWrapper.eq("order_id", buyorder.getOrderId()); - buyOrderProductQueryWrapper.eq("express_order_id", 0); - int count = buyOrderProductService.count(buyOrderProductQueryWrapper); - if (count == 0) { - buyorder.setOrderStatus(Constants.ORDER_STATUS_SHIPPED); + expressOrder.setExpressOrderSn(expressOrderSn); + expressOrder.setPrintTemplate(printTemplate); + expressOrderDao.insert(expressOrder); + int expressOrderId = expressOrder.getId(); + for (BuyOrderProduct buyOrderProduct : buyOrderProductList) { + buyOrderProduct.setExpressOrderId(expressOrderId); + buyOrderProduct.setShipped(1); } + buyOrderProductService.updateBatchById(buyOrderProductList); + + //更改订单状态 + QueryWrapper buyOrderQueryWrapper = new QueryWrapper<>(); + buyOrderQueryWrapper.in("order_id", buyOrderIdList); + List buyOrderList = list(buyOrderQueryWrapper); + for (BuyOrder buyorder : buyOrderList) { + QueryWrapper buyOrderProductQueryWrapper = new QueryWrapper<>(); + buyOrderProductQueryWrapper.eq("order_id", buyorder.getOrderId()); + buyOrderProductQueryWrapper.eq("express_order_id", 0); + int count = buyOrderProductService.count(buyOrderProductQueryWrapper); + if (count == 0) { + buyorder.setOrderStatus(Constants.ORDER_STATUS_SHIPPED); + } + } + updateBatchById(buyOrderList); + return R.ok(); + }else { + return R.error(response.getReason()); } - updateBatchById(buyOrderList); } public String mytest() throws IOException {