订单支持多次退款

This commit is contained in:
2024-10-23 10:22:40 +08:00
parent c2e481cd15
commit 47735d6f4b
5 changed files with 86 additions and 12 deletions

View File

@@ -1,8 +1,12 @@
package cn.ysk.cashier.mybatis.service;
import cn.ysk.cashier.dto.shoptable.ReturnOrderDTO;
import cn.ysk.cashier.enums.OrderStatusEnums;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* (TbShopPermission)表服务接口
*
@@ -11,5 +15,14 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface MpOrderDetailService extends IService<TbOrderDetail> {
/**
* 根据orderId和id修改detail状态
* @param oldOrderStatusEnums 原始订单状态
* @param orderStatusEnums 状态
* @param orderId 订单id
* @param orderDetails detailIds
* @return 影响数量
*/
boolean updateStatusByOrderIdAndIds(OrderStatusEnums oldOrderStatusEnums, OrderStatusEnums orderStatusEnums, Integer orderId, List<Integer> orderDetails);
}

View File

@@ -1,11 +1,16 @@
package cn.ysk.cashier.mybatis.service.impl;
import cn.ysk.cashier.dto.shoptable.ReturnOrderDTO;
import cn.ysk.cashier.enums.OrderStatusEnums;
import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper;
import cn.ysk.cashier.mybatis.service.MpOrderDetailService;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* (TbShopPermission)表服务实现类
*
@@ -14,6 +19,16 @@ import org.springframework.stereotype.Service;
*/
@Service
public class MpOrderDetailServiceImpl extends ServiceImpl<TbOrderDetailMapper, TbOrderDetail> implements MpOrderDetailService {
@Override
public boolean updateStatusByOrderIdAndIds(OrderStatusEnums oldOrderStatusEnums, OrderStatusEnums orderStatusEnums, Integer orderId, List<Integer> orderDetails) {
LambdaUpdateWrapper<TbOrderDetail> wrapper = new LambdaUpdateWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderId)
.in(TbOrderDetail::getId, orderDetails)
.set(TbOrderDetail::getStatus, orderStatusEnums.getValue());
if (oldOrderStatusEnums != null) {
wrapper.eq(TbOrderDetail::getStatus, oldOrderStatusEnums.getValue());
}
return update(wrapper);
}
}