多次退款累加退款金额
This commit is contained in:
parent
5ce67b4014
commit
f074f45f86
|
|
@ -0,0 +1,25 @@
|
||||||
|
package cn.ysk.cashier.mybatis.service;
|
||||||
|
|
||||||
|
import cn.ysk.cashier.enums.OrderStatusEnums;
|
||||||
|
import cn.ysk.cashier.pojo.order.TbOrderDetail;
|
||||||
|
import cn.ysk.cashier.pojo.order.TbOrderInfo;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (TbShopPermission)表服务接口
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:08:48
|
||||||
|
*/
|
||||||
|
public interface MpOrderInfoService extends IService<TbOrderInfo> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据原始订单查询退款订单
|
||||||
|
* @param orderId 原始订单id
|
||||||
|
* @return 对应的退款订单
|
||||||
|
*/
|
||||||
|
TbOrderInfo selectReturnOrderByOrderId(Integer orderId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package cn.ysk.cashier.mybatis.service.impl;
|
||||||
|
|
||||||
|
import cn.ysk.cashier.mybatis.mapper.TbCashierCartMapper;
|
||||||
|
import cn.ysk.cashier.mybatis.mapper.TbOrderInfoMapper;
|
||||||
|
import cn.ysk.cashier.mybatis.service.MpCashierCartService;
|
||||||
|
import cn.ysk.cashier.mybatis.service.MpOrderInfoService;
|
||||||
|
import cn.ysk.cashier.pojo.order.TbCashierCart;
|
||||||
|
import cn.ysk.cashier.pojo.order.TbOrderInfo;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (TbShopPermission)表服务实现类
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:08:49
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MpOrderInfoServiceImpl extends ServiceImpl<TbOrderInfoMapper, TbOrderInfo> implements MpOrderInfoService {
|
||||||
|
@Override
|
||||||
|
public TbOrderInfo selectReturnOrderByOrderId(Integer orderId) {
|
||||||
|
return getOne(new LambdaQueryWrapper<TbOrderInfo>()
|
||||||
|
.eq(TbOrderInfo::getSource, orderId)
|
||||||
|
.eq(TbOrderInfo::getOrderType, "return"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -18,6 +18,7 @@ import cn.ysk.cashier.mapper.shop.TbShopTableMapper;
|
||||||
import cn.ysk.cashier.mybatis.mapper.*;
|
import cn.ysk.cashier.mybatis.mapper.*;
|
||||||
import cn.ysk.cashier.mybatis.service.MpCashierCartService;
|
import cn.ysk.cashier.mybatis.service.MpCashierCartService;
|
||||||
import cn.ysk.cashier.mybatis.service.MpOrderDetailService;
|
import cn.ysk.cashier.mybatis.service.MpOrderDetailService;
|
||||||
|
import cn.ysk.cashier.mybatis.service.MpOrderInfoService;
|
||||||
import cn.ysk.cashier.mybatis.service.MpShopTableService;
|
import cn.ysk.cashier.mybatis.service.MpShopTableService;
|
||||||
import cn.ysk.cashier.pojo.TbShopPayType;
|
import cn.ysk.cashier.pojo.TbShopPayType;
|
||||||
import cn.ysk.cashier.pojo.order.TbCashierCart;
|
import cn.ysk.cashier.pojo.order.TbCashierCart;
|
||||||
|
|
@ -114,6 +115,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
private final MpMerchantThirdApplyMapper mpMerchantThirdApplyMapper;
|
private final MpMerchantThirdApplyMapper mpMerchantThirdApplyMapper;
|
||||||
private final PayService payService;
|
private final PayService payService;
|
||||||
private final TbOrderInfoService orderInfoService;
|
private final TbOrderInfoService orderInfoService;
|
||||||
|
private final MpOrderInfoService mpOrderInfoService;
|
||||||
|
|
||||||
private TbOrderInfo getCurrentOrder(ShopEatTypeInfoDTO eatTypeInfoDTO) {
|
private TbOrderInfo getCurrentOrder(ShopEatTypeInfoDTO eatTypeInfoDTO) {
|
||||||
// 获取当前台桌最新订单,先付款模式不获取
|
// 获取当前台桌最新订单,先付款模式不获取
|
||||||
|
|
@ -2048,20 +2050,29 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
mpOrderDetailService.saveBatch(remainOrderDetailList);
|
mpOrderDetailService.saveBatch(remainOrderDetailList);
|
||||||
}
|
}
|
||||||
|
|
||||||
String orderNo = generateOrderNumber(isOnline ? "OLRO" : "RO");
|
TbOrderInfo returnOrder = mpOrderInfoService.selectReturnOrderByOrderId(returnOrderDTO.getOrderId());
|
||||||
TbOrderInfo returnOrder = BeanUtil.copyProperties(oldOrderInfo, TbOrderInfo.class);
|
if (returnOrder == null) {
|
||||||
returnOrder.setId(null);
|
String orderNo = generateOrderNumber(isOnline ? "OLRO" : "RO");
|
||||||
returnOrder.setOrderNo(orderNo);
|
returnOrder = BeanUtil.copyProperties(oldOrderInfo, TbOrderInfo.class);
|
||||||
returnOrder.setRefundAmount(returnAmount);
|
returnOrder.setId(null);
|
||||||
returnOrder.setOrderType("return");
|
returnOrder.setOrderNo(orderNo);
|
||||||
returnOrder.setStatus("refunding");
|
returnOrder.setRefundAmount(returnAmount);
|
||||||
returnOrder.setUpdatedAt(null);
|
returnOrder.setOrderType("return");
|
||||||
returnOrder.setSystemTime(DateUtil.current());
|
returnOrder.setStatus("refunding");
|
||||||
returnOrder.setCreatedAt(DateUtil.current());
|
returnOrder.setUpdatedAt(null);
|
||||||
returnOrder.setPayOrderNo(null);
|
returnOrder.setSystemTime(DateUtil.current());
|
||||||
returnOrder.setSource(oldOrderInfo.getId());
|
returnOrder.setCreatedAt(DateUtil.current());
|
||||||
returnOrder.setRefundRemark(returnOrderDTO.getNote());
|
returnOrder.setPayOrderNo(null);
|
||||||
orderInfoMapper.insert(returnOrder);
|
returnOrder.setSource(oldOrderInfo.getId());
|
||||||
|
returnOrder.setRefundRemark(returnOrderDTO.getNote());
|
||||||
|
orderInfoMapper.insert(returnOrder);
|
||||||
|
}else {
|
||||||
|
returnOrder.setUpdatedAt(DateUtil.current());
|
||||||
|
returnOrder.setRefundRemark(returnOrderDTO.getNote());
|
||||||
|
returnOrder.setRefundAmount(returnOrder.getRefundAmount().add(returnAmount));
|
||||||
|
orderInfoMapper.updateById(returnOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
updateStockAndRecord(detailList);
|
updateStockAndRecord(detailList);
|
||||||
mpOrderDetailService.updateBatchById(detailList);
|
mpOrderDetailService.updateBatchById(detailList);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue