From ddf3f19408fb311734218aaaa5edb49c5134b1eb Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 08 一月 2025 21:14:36 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 35d4d3e..7265e26 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -231,10 +231,9 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void writeOff(String code,Integer shopId) {
+    public void writeOff(String id,Integer shopId) {
         LoginUser loginUserApplet = tokenService.getLoginUserApplet();
-        Order order = orderMapper.selectOne(new LambdaQueryWrapper<Order>()
-                .eq(Order::getId, code));
+        Order order = orderMapper.selectById(id);
         boolean check = check(order, shopId, loginUserApplet.getUserid());
         if (!check){
             throw new ServiceException("订单不存在");
@@ -303,8 +302,10 @@
         for (OrderPageListVo orderPageListVo : list) {
             Long appUserId = orderPageListVo.getAppUserId();
             AppUser appUser = appUserClient.getAppUserById(appUserId);
-            orderPageListVo.setUserName(appUser.getName());
-            orderPageListVo.setPhone(appUser.getPhone());
+            if(null != appUser){
+                orderPageListVo.setUserName(appUser.getName());
+                orderPageListVo.setPhone(appUser.getPhone());
+            }
             RefundPass one = refundPassService.getOne(new LambdaQueryWrapper<RefundPass>().eq(RefundPass::getOrderId, orderPageListVo.getId()).eq(RefundPass::getDelFlag, 0).last(" order by create_time desc limit 0, 1"));
             orderPageListVo.setRefundPassId(null != one ? one.getId().toString() : null);
         }
@@ -330,7 +331,7 @@
         if(!Arrays.asList(1, 2, 3).contains(order.getOrderStatus())){
             return R.fail("订单取消失败");
         }
-        if(LocalDateTime.now().isAfter(order.getAfterSaleTime())){
+        if(null != order.getAfterSaleTime() && LocalDateTime.now().isAfter(order.getAfterSaleTime())){
             return R.fail("订单取消失败");
         }
         order.setOrderStatus(5);
@@ -457,8 +458,10 @@
                     //余额退款
                     OrderBalancePayment orderBalancePayment = orderBalancePaymentService.getOne(new LambdaQueryWrapper<OrderBalancePayment>().eq(OrderBalancePayment::getOrderId, order.getId()));
                     BigDecimal balance = appUser.getBalance();
-                    appUser.setTotalRedPacketAmount(appUser.getTotalRedPacketAmount().add(orderBalancePayment.getRedPacketAmount()).setScale(2, RoundingMode.HALF_EVEN));
-                    appUser.setTotalDistributionAmount(appUser.getTotalDistributionAmount().add(orderBalancePayment.getDistributionAmount()).setScale(2, RoundingMode.HALF_EVEN));
+                    if(null != orderBalancePayment){
+                        appUser.setTotalRedPacketAmount(appUser.getTotalRedPacketAmount().add(orderBalancePayment.getRedPacketAmount()).setScale(2, RoundingMode.HALF_EVEN));
+                        appUser.setTotalDistributionAmount(appUser.getTotalDistributionAmount().add(orderBalancePayment.getDistributionAmount()).setScale(2, RoundingMode.HALF_EVEN));
+                    }
                     appUser.setBalance(balance.add(expressAmount).setScale(2, RoundingMode.HALF_EVEN));
                     //构建账户余额流水明细
                     BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
@@ -733,8 +736,10 @@
         orderInfo.setOrderStatus(order.getOrderStatus());
         orderInfo.setCreateTime(order.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
         AppUser appUser = appUserClient.getAppUserById(order.getAppUserId());
-        orderInfo.setUserName(appUser.getName());
-        orderInfo.setPhone(appUser.getPhone());
+        if(null != appUser){
+            orderInfo.setUserName(appUser.getName());
+            orderInfo.setPhone(appUser.getPhone());
+        }
         orderInfo.setOrderType(order.getOrderType() == 1 ? "服务" : (StringUtils.isNotEmpty(order.getExpressJson()) ? "单品-快递配送" : "单品-自提"));
         Shop shop = shopClient.getShopById(order.getShopId()).getData();
         if(null != shop){

--
Gitblit v1.7.1