浏览代码

完成确认订单接口

wangzhijun 5 天之前
父节点
当前提交
c6f61ccbaf

+ 15 - 6
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/ProductOrderInfoServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ylx.common.constant.MassageConstants;
@@ -581,10 +582,11 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
             throw new ServiceException("订单状态异常,仅待收货状态可确认收货");
         }
 
+        LocalDateTime now = LocalDateTime.now();
+
         // 4. 修改订单信息
         ProductOrderInfo updateInfo = new ProductOrderInfo();
         updateInfo.setId(productOrderInfo.getId());
-        LocalDateTime now = LocalDateTime.now();
         updateInfo.setOrderStatus(ProductOrderStatusEnum.RECEIVED.getCode());
         updateInfo.setReceiveTime(now);
         updateInfo.setUpdateTime(now);
@@ -593,12 +595,19 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
             throw new ServiceException("订单状态变更失败");
         }
 
-        // 5. 修改用户售后单
-        LambdaQueryWrapper<AfterSaleOrder> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(AfterSaleOrder::getOrderId, productOrderInfo.getId());
-//        this.afterSaleOrderService.updateById()
+        // 5. 修改售后单
+        LambdaUpdateWrapper<AfterSaleOrder> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(AfterSaleOrder::getOrderId, productOrderInfo.getId())
+                .eq(AfterSaleOrder::getOpenId, loginUser.getCOpenid())
+                .ne(AfterSaleOrder::getAfterSaleStatus, AfterSaleStatusEnum.CANCELLED.getCode())
+                .set(AfterSaleOrder::getAfterSaleStatus, AfterSaleStatusEnum.COMPLETED.getCode())
+                .set(AfterSaleOrder::getUpdateTime, now);
+
+        boolean afterSaleUpdateResult = this.afterSaleOrderService.update(updateWrapper);
+        if (!afterSaleUpdateResult) {
+            throw new ServiceException("售后单状态变更失败");
+        }
 
-        // 6. TODO 积分增加
     }
 
     @Override