From 968e374ed1c2ef0595b277fc44067fb61e063a41 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 04 七月 2025 17:33:57 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 88 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 78 insertions(+), 10 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 6d9e8e8..41499eb 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -184,7 +184,7 @@ if(shop!=null&&shop.getShopStatus()!=1){ throw new ServiceException(AppErrorConstant.SHOP_CLOSED); } - Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData(); +// Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData(); // 初始化订单对象 AppSureOrderVo appSureOrderVo = new AppSureOrderVo(); // 初始化订单商品列表 @@ -268,15 +268,20 @@ appShopGoodsGetDto.setGoodsId(goods.getGoodsId()); appShopGoodsGetDto.setShopId(appSureOrderDto.getShopId()); ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData(); + //商户是否定制价格 if (shopGoods != null) { goodsPrice = shopGoods.getSalesPrice(); - } else { + } + //是否绑定经销商 + if(shop.getBelongShopId()!=null &&shop.getShopType()==2){ //经销商定制价格 - appShopGoodsGetDto.setGoodsId(goods.getGoodsId()); - appShopGoodsGetDto.setShopId(belongShop.getShopId()); - shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData(); + AppShopGoodsGetDto shopGoodsGetDto=new AppShopGoodsGetDto(); + shopGoodsGetDto.setGoodsId(goods.getGoodsId()); + shopGoodsGetDto.setShopId(shop.getBelongShopId()); + Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData(); + shopGoods = remoteGoodsService.getShopGoods(shopGoodsGetDto).getData(); if (1 == belongShop.getModifyPricePermission() && null != shopGoods) { - goodsPrice = shopGoods.getSalesPrice(); + goodsPrice=shopGoods.getSalesPrice(); } } appSureOrderGoodsVo.setGoodsPrice(goodsPrice); @@ -461,7 +466,9 @@ ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData(); if (shopGoods != null) { goodsPrice = shopGoods.getSalesPrice(); - } else { + } + //是否绑定经销商 + if(shop.getBelongShopId()!=null &&shop.getShopType()==2){ //经销商定制价格 Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData(); appShopGoodsGetDto = new AppShopGoodsGetDto(); @@ -577,6 +584,10 @@ //使用优惠券 StringJoiner memberCouponSJ = new StringJoiner(","); List<String> goodsNameList = new ArrayList<>(); + Shop shop = remoteShopService.getShop(appPlaceOrderDto.getShopId()).getData(); + if(shop!=null&&shop.getShopStatus()!=1){ + throw new ServiceException(AppErrorConstant.SHOP_CLOSED); + } // 遍历购买的商品列表 for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) { appSureOrderGoodsVo = new AppSureOrderGoodsVo(); @@ -610,9 +621,10 @@ if (shopGoods != null) { goodsPrice = shopGoods.getSalesPrice(); serviceNum = shopGoods.getServiceNum(); - } else { + } + //是否绑定经销商 + if(shop.getBelongShopId()!=null &&shop.getShopType()==2){ //经销商定制价格 - Shop shop = remoteShopService.getShop(appPlaceOrderDto.getShopId()).getData(); Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData(); appShopGoodsGetDto = new AppShopGoodsGetDto(); appShopGoodsGetDto.setGoodsId(goods.getGoodsId()); @@ -1584,7 +1596,7 @@ List<TLotteryEvent> collect = data.stream().filter(s -> s.getPayMoney().compareTo(order.getPayMoney()) >= 0).collect(Collectors.toList()); appPlaceOrderVo.setLotteryDraw(collect.size() > 0); if (collect.size() > 0) { - appPlaceOrderVo.setLotteryEventId(collect.get(0).getEventId()); + appPlaceOrderVo.setLotteryEventId(collect.get(0).getId()); } } else { appPlaceOrderVo.setLotteryDraw(false); @@ -6709,4 +6721,60 @@ } return new ArrayList<>(); } + /** + * 后台取消订单 + * 订单状态变为已取消 不退款 + * @param dto + */ + @Override + public R cancelOrderBySys(CancelOrderDTO dto) { + Order order = this.getById(dto.getOrderId()); + // 订单状态-1.删除 0.已取消 1.待支付 2.待核销 3.已完成 + if(null == order || order.getDelFlag() == -1){ + return R.fail("订单不存在"); + } + + if (order.getOrderStatus() == 0) { + return R.fail(AppErrorConstant.CANCEL_CANCEL_ORDER); + } else if (order.getOrderStatus() == 1) { + //删除待支付超时取消延时任务 + redisService.deleteObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId()); + remoteConfigService.deleteDelayTask(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+"-"+order.getOrderId()); + order.setOrderStatus(0); + order.setCancelTime(new Date()); + this.saveOrUpdate(order); + } else if (order.getOrderStatus() == 2) { + // 2.待核销 + order.setOrderStatus(0); + order.setCancelTime(new Date()); + this.saveOrUpdate(order); + } else { + return R.fail(AppErrorConstant.CANCEL_ERROR_ORDER); + } + return R.ok(); + } + + @Override + public R refundOrderBySys(CancelOrderDTO dto) { + Order order = this.getById(dto.getOrderId()); + // 订单状态-1.删除 0.已取消 1.待支付 2.待核销 3.已完成 + if(null == order || order.getDelFlag() == -1){ + return R.fail("订单不存在"); + } + if (order.getOrderStatus() == 0) { + return R.fail(AppErrorConstant.CANCEL_CANCEL_ORDER); + }else if (order.getOrderStatus() == 1) { + //删除待支付超时取消延时任务 + redisService.deleteObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId()); + remoteConfigService.deleteDelayTask(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+"-"+ order.getOrderId()); + this.autoCancelOrder( order.getOrderId()); + } else if (order.getOrderStatus() == 2) { + // 2.待核销 -> 订单退款 + this.refundOrder( order.getOrderId()); + } else { + return R.fail("已核销订单不能退款"); + } + return R.ok(); + + } } -- Gitblit v1.7.1