From 36374dd454d6e40a483842650e92c7e6d5d61885 Mon Sep 17 00:00:00 2001 From: Cauchy Date: Tue, 24 Oct 2023 17:25:44 +0800 Subject: [PATCH] bugs fix --- .../book/controller/BuyOrderController.java | 8 +++---- .../book/controller/ExpressController.java | 13 ++++++------ .../modules/book/entity/ExpressOrder.java | 4 ++++ .../service/impl/BuyOrderServiceImpl.java | 21 +++++++++++++++---- .../service/impl/ExpressFeeServiceImpl.java | 8 +++++-- .../service/impl/ExpressOrderServiceImpl.java | 2 +- .../service/impl/UserAddressServiceImpl.java | 1 + .../book/vo/response/BuyOrderResponseVo.java | 1 + .../book/vo/response/GoodsResponseVo.java | 1 + 9 files changed, 42 insertions(+), 17 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 aa248c2c..d15ca0c3 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -257,13 +257,13 @@ public class BuyOrderController { buyOrder.setProvince(vo.getProvince()); buyOrder.setCity(vo.getCity()); buyOrder.setDistrict(vo.getCounty()); - buyOrder.setAddress(vo.getDetailAddress()); + buyOrder.setAddress(userAddress.getDetailAddress()); buyOrderService.save(buyOrder); - for (BuyOrderProduct buyOrderDetail : buyOrderProductList) { - buyOrderDetail.setOrderId(buyOrder.getId()); + for (BuyOrderProduct buyOrderProduct : buyOrderProductList) { + buyOrderProduct.setOrderId(buyOrder.getId()); if (Constants.BUY_TYPE_CART.equals(buyOrder.getBuyType())) { - handleBuyCart(buyOrder, buyOrderDetail); + handleBuyCart(buyOrder, buyOrderProduct); } } buyOrderProductService.saveBatch(buyOrderProductList); diff --git a/src/main/java/com/peanut/modules/book/controller/ExpressController.java b/src/main/java/com/peanut/modules/book/controller/ExpressController.java index 952009f1..472ed012 100644 --- a/src/main/java/com/peanut/modules/book/controller/ExpressController.java +++ b/src/main/java/com/peanut/modules/book/controller/ExpressController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.peanut.common.utils.R; +import com.peanut.modules.book.entity.ExpressCompany; import com.peanut.modules.book.entity.ExpressOrder; import com.peanut.modules.book.service.ExpressCompanyService; import com.peanut.modules.book.service.ExpressOrderService; @@ -52,14 +53,11 @@ public class ExpressController { * @return R */ @RequestMapping(path = "/getPrintTemplateList", method = RequestMethod.GET) - public R getPrintTemplate(@RequestParam(value = "expressOrderSn", required = false) String expressOrderSn, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + public R getPrintTemplate(@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage) { Page expressOrderPage = new Page<>(currentPage, pageSize); QueryWrapper expressOrderQueryWrapper = new QueryWrapper<>(); - if (expressOrderSn != null) { - expressOrderQueryWrapper.eq("express_order_sn", expressOrderSn); - } + int totalDataSize = expressOrderService.count(expressOrderQueryWrapper); int totalPage = totalDataSize / pageSize + 1; Page page = expressOrderService.page(expressOrderPage, expressOrderQueryWrapper); @@ -67,7 +65,10 @@ public class ExpressController { List data = new ArrayList<>(); for (ExpressOrder expressOrder : expressOrderList) { PrintTemplateVo vo = new PrintTemplateVo(); - vo.setExpressCompanyCode(expressOrder.getExpressCompanyCode()); + QueryWrapper expressCompanyQueryWrapper = new QueryWrapper<>(); + expressCompanyQueryWrapper.eq("code", expressOrder.getExpressCompanyCode()); + ExpressCompany expressCompany = expressCompanyService.getOne(expressCompanyQueryWrapper); + vo.setExpressCompanyCode(expressCompany.getName()); vo.setPrintTemplate(expressOrder.getPrintTemplate()); vo.setExpressOrderSn(expressOrder.getExpressOrderSn()); vo.setTemplatedPrinted(vo.getTemplatedPrinted()); diff --git a/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java b/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java index afd915fd..51138439 100644 --- a/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java +++ b/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java @@ -20,6 +20,10 @@ public class ExpressOrder { * ID */ private int id; + /** + * 订单Sn + */ + private String orderSn; /** * 省份 */ 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 939041f1..25efca97 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 @@ -30,6 +30,8 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import static org.apache.poi.hemf.hemfplus.record.HemfPlusRecordType.save; + @Service("buyOrderService") public class BuyOrderServiceImpl extends ServiceImpl implements BuyOrderService { @@ -320,6 +322,7 @@ public class BuyOrderServiceImpl extends ServiceImpl impl buyOrderQueryWrapper.eq(StringUtils.isNotBlank(requestVo.getOrderStatus()), "order_status", requestVo.getOrderStatus()); buyOrderQueryWrapper.gt(requestVo.getStartTime() != null, "create_time", requestVo.getStartTime()); buyOrderQueryWrapper.lt(requestVo.getEndTime() != null, "create_time", requestVo.getStartTime()); + buyOrderQueryWrapper.orderByDesc("create_time"); Integer totalSize = list(buyOrderQueryWrapper).size(); Integer totalPage = totalSize / requestVo.getPageSize() + 1; @@ -374,6 +377,7 @@ public class BuyOrderServiceImpl extends ServiceImpl impl expressOrder.setCreateTime(new Date()); expressOrder.setTotalWeight(totalWeight); expressOrder.setCommodity(commodityList); + expressOrder.setOrderSn(buyOrder.getOrderSn()); expressOrder.setExpressCompanyCode(expressCompanyCode); expressOrder.setConsigneeName(buyOrder.getShippingUser()); expressOrder.setConsigneeMobile(buyOrder.getUserPhone()); @@ -387,7 +391,11 @@ public class BuyOrderServiceImpl extends ServiceImpl impl String printTemplate = response.getPrintTemplate(); expressOrder.setExpressOrderSn(expressOrderSn); expressOrder.setPrintTemplate(printTemplate); - expressOrderService.save(expressOrder); + int expressOrderId = expressOrderService.getBaseMapper().insert(expressOrder); + for (BuyOrderProduct buyOrderProduct : buyOrderProductList) { + buyOrderProduct.setExpressOrderId(expressOrderId); + } + buyOrderProductService.updateBatchById(buyOrderProductList); } @Override @@ -406,6 +414,7 @@ public class BuyOrderServiceImpl extends ServiceImpl impl */ private BuyOrderResponseVo setBuyOrderInfo(BuyOrder buyOrder) { BuyOrderResponseVo responseVo = new BuyOrderResponseVo(); + responseVo.setOrderId(buyOrder.getId()); Integer userId = buyOrder.getUserId(); QueryWrapper userEntityQueryWrapper = new QueryWrapper<>(); userEntityQueryWrapper.eq("id", userId); @@ -462,16 +471,20 @@ public class BuyOrderServiceImpl extends ServiceImpl impl QueryWrapper shopProductQueryWrapper = new QueryWrapper<>(); shopProductQueryWrapper.eq("product_id", buyOrderProduct.getProductId()); ShopProduct shopProduct = shopProductService.getOne(shopProductQueryWrapper); + goodsResponseVo.setBuyOrderProductId(buyOrderProduct.getId()); goodsResponseVo.setProductName(shopProduct.getProductName()); goodsResponseVo.setProductImage(shopProduct.getProductImages()); goodsResponseVo.setProductPrice(shopProduct.getPrice()); + goodsResponseVo.setQuantity(buyOrderProduct.getQuantity()); QueryWrapper expressOrderQueryWrapper = new QueryWrapper<>(); expressOrderQueryWrapper.eq("id", buyOrderProduct.getExpressOrderId()); ExpressOrder expressOrder = expressOrderService.getOne(expressOrderQueryWrapper); ExpressResponseVo expressResponseVo = new ExpressResponseVo(); - expressResponseVo.setExpressCompany(expressOrder.getExpressCompanyCode()); - expressResponseVo.setExpressOrderSn(expressOrder.getExpressOrderSn()); - expressResponseVo.setPrintTemplate(expressOrder.getPrintTemplate()); + if (expressOrder != null) { + expressResponseVo.setExpressCompany(expressOrder.getExpressCompanyCode()); + expressResponseVo.setExpressOrderSn(expressOrder.getExpressOrderSn()); + expressResponseVo.setPrintTemplate(expressOrder.getPrintTemplate()); + } goodsResponseVo.setExpressInfo(expressResponseVo); goodsResponseVoList.add(goodsResponseVo); } diff --git a/src/main/java/com/peanut/modules/book/service/impl/ExpressFeeServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ExpressFeeServiceImpl.java index 0efbd645..b689622d 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/ExpressFeeServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/ExpressFeeServiceImpl.java @@ -52,7 +52,7 @@ public class ExpressFeeServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - if(!regionCode.startsWith("11") && !regionCode.startsWith("12") && !regionCode.startsWith("31") && !regionCode.startsWith("50")){ + if (!regionCode.startsWith("11") && !regionCode.startsWith("12") && !regionCode.startsWith("31") && !regionCode.startsWith("50")) { regionCode = regionCode.substring(0, 4).concat("00"); } queryWrapper.eq("dest_code", regionCode); @@ -72,7 +72,11 @@ public class ExpressFeeServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("dest_code", regionCode); queryWrapper.eq("express_code", "YD"); diff --git a/src/main/java/com/peanut/modules/book/service/impl/ExpressOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ExpressOrderServiceImpl.java index 74e1ce29..be1103a4 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/ExpressOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/ExpressOrderServiceImpl.java @@ -43,7 +43,7 @@ public class ExpressOrderServiceImpl extends ServiceImpl countyQueryWrapper = new QueryWrapper<>(); countyQueryWrapper.eq("region_code", regionCode); diff --git a/src/main/java/com/peanut/modules/book/vo/response/BuyOrderResponseVo.java b/src/main/java/com/peanut/modules/book/vo/response/BuyOrderResponseVo.java index 56abb11b..c8380467 100644 --- a/src/main/java/com/peanut/modules/book/vo/response/BuyOrderResponseVo.java +++ b/src/main/java/com/peanut/modules/book/vo/response/BuyOrderResponseVo.java @@ -13,6 +13,7 @@ import java.util.List; */ @Data public class BuyOrderResponseVo { + private Integer orderId; /** * 订单号 */ diff --git a/src/main/java/com/peanut/modules/book/vo/response/GoodsResponseVo.java b/src/main/java/com/peanut/modules/book/vo/response/GoodsResponseVo.java index 9bf1aa05..c9c80f9e 100644 --- a/src/main/java/com/peanut/modules/book/vo/response/GoodsResponseVo.java +++ b/src/main/java/com/peanut/modules/book/vo/response/GoodsResponseVo.java @@ -11,6 +11,7 @@ import java.math.BigDecimal; */ @Data public class GoodsResponseVo { + private Integer buyOrderProductId; /** * 商品名称 */