order服务拆分
This commit is contained in:
@@ -5,9 +5,10 @@ import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.service.market.mapper.OrderInfoMapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@DubboService
|
||||
@Primary
|
||||
public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo> implements OrderInfoService {
|
||||
}
|
||||
|
||||
@@ -1,143 +1,141 @@
|
||||
//package com.czg.service.order.mapper;
|
||||
//
|
||||
//import com.czg.account.vo.HandoverCategoryListVo;
|
||||
//import com.czg.account.vo.HandoverProductListVo;
|
||||
//import com.czg.order.entity.OrderInfo;
|
||||
//import com.mybatisflex.core.BaseMapper;
|
||||
//import org.apache.ibatis.annotations.Param;
|
||||
//
|
||||
//import java.math.BigDecimal;
|
||||
//import java.util.List;
|
||||
//
|
||||
///**
|
||||
// * 订单表 映射层。
|
||||
// *
|
||||
// * @author ww
|
||||
// * @since 2025-02-13
|
||||
// */
|
||||
//public interface OrderInfoCustomMapper extends BaseMapper<OrderInfo> {
|
||||
//
|
||||
// /**
|
||||
// * 交班现金支付统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 现金支付总额
|
||||
// */
|
||||
// BigDecimal getHandoverCashAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班微信支付统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 现金支付总额
|
||||
// */
|
||||
// BigDecimal getHandoverWechatAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班支付宝支付统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 支付宝支付总额
|
||||
// */
|
||||
// BigDecimal getHandoverAlipayAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班VIP支付统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return VIP支付总额
|
||||
// */
|
||||
// BigDecimal getHandoverVipPayAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班VIP充值统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return VIP充值总额
|
||||
// */
|
||||
// BigDecimal getHandoverVipChargeAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班快捷支付统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 快捷支付总额
|
||||
// */
|
||||
// BigDecimal getHandoverQuickPayAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班退款统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 退款总额
|
||||
// */
|
||||
// BigDecimal getHandoverRefundAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班挂账统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 挂账总额
|
||||
// */
|
||||
// BigDecimal getHandoverCreditAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班营业额统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 营业额
|
||||
// */
|
||||
// BigDecimal getHandoverTotalAmount(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班订单数统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 交班订单数
|
||||
// */
|
||||
// int getHandoverOrderNum(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班售出商品明细
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 交班售出商品明细
|
||||
// */
|
||||
// List<HandoverProductListVo> getHandoverDetailList(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// /**
|
||||
// * 交班售出商品分类统计
|
||||
// *
|
||||
// * @param shopId 店铺id
|
||||
// * @param loginTime 上岗时间
|
||||
// * @param handoverTime 交班时间
|
||||
// * @return 售出商品分类统计
|
||||
// */
|
||||
// List<HandoverCategoryListVo> getHandoverCategoryList(Long shopId, String loginTime, String handoverTime);
|
||||
//
|
||||
// int decrMoney(@Param("id") Long id, @Param("amount") BigDecimal amount);
|
||||
//
|
||||
// int updatePayOrderId(@Param("orderId") Long orderId, @Param("paymentId") Long paymentId, @Param("payType") String payType, @Param("remark") String remark);
|
||||
//}
|
||||
package com.czg.service.order.mapper;
|
||||
|
||||
import com.czg.account.vo.HandoverCategoryListVo;
|
||||
import com.czg.account.vo.HandoverProductListVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 订单表 映射层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-02-13
|
||||
*/
|
||||
public interface OrderInfoCustomMapper{
|
||||
|
||||
/**
|
||||
* 交班现金支付统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 现金支付总额
|
||||
*/
|
||||
BigDecimal getHandoverCashAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班微信支付统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 现金支付总额
|
||||
*/
|
||||
BigDecimal getHandoverWechatAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班支付宝支付统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 支付宝支付总额
|
||||
*/
|
||||
BigDecimal getHandoverAlipayAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班VIP支付统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return VIP支付总额
|
||||
*/
|
||||
BigDecimal getHandoverVipPayAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班VIP充值统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return VIP充值总额
|
||||
*/
|
||||
BigDecimal getHandoverVipChargeAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班快捷支付统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 快捷支付总额
|
||||
*/
|
||||
BigDecimal getHandoverQuickPayAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班退款统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 退款总额
|
||||
*/
|
||||
BigDecimal getHandoverRefundAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班挂账统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 挂账总额
|
||||
*/
|
||||
BigDecimal getHandoverCreditAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班营业额统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 营业额
|
||||
*/
|
||||
BigDecimal getHandoverTotalAmount(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班订单数统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 交班订单数
|
||||
*/
|
||||
int getHandoverOrderNum(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班售出商品明细
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 交班售出商品明细
|
||||
*/
|
||||
List<HandoverProductListVo> getHandoverDetailList(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
/**
|
||||
* 交班售出商品分类统计
|
||||
*
|
||||
* @param shopId 店铺id
|
||||
* @param loginTime 上岗时间
|
||||
* @param handoverTime 交班时间
|
||||
* @return 售出商品分类统计
|
||||
*/
|
||||
List<HandoverCategoryListVo> getHandoverCategoryList(Long shopId, String loginTime, String handoverTime);
|
||||
|
||||
int decrMoney(@Param("id") Long id, @Param("amount") BigDecimal amount);
|
||||
|
||||
int updatePayOrderId(@Param("orderId") Long orderId, @Param("paymentId") Long paymentId, @Param("payType") String payType, @Param("remark") String remark);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -33,6 +34,7 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order
|
||||
public void updateOrderDetailStatus(Long orderId,String status) {
|
||||
OrderDetail orderDetail = new OrderDetail();
|
||||
orderDetail.setStatus(status);
|
||||
orderDetail.setOrderTime(LocalDateTime.now());
|
||||
update(orderDetail, QueryWrapper.create()
|
||||
.eq(OrderDetail::getOrderId,orderId)
|
||||
.eq(OrderDetail::getStatus,"wait-pay")
|
||||
|
||||
@@ -45,24 +45,20 @@ import com.czg.product.service.ProductService;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.czg.service.RedisService;
|
||||
import com.czg.service.market.mapper.OrderInfoMapper;
|
||||
import com.czg.service.market.service.impl.OrderInfoServiceImpl;
|
||||
import com.czg.service.order.enums.OrderStatusEnums;
|
||||
import com.czg.service.order.mapper.OrderInfoCustomMapper;
|
||||
import com.czg.service.order.print.PrinterHandler;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.czg.utils.CzgStrUtils;
|
||||
import com.czg.utils.PageUtil;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.core.update.UpdateChain;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.support.TransactionSynchronization;
|
||||
@@ -87,8 +83,11 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements OrderInfoCustomService {
|
||||
|
||||
public class OrderInfoCustomServiceImpl implements OrderInfoCustomService {
|
||||
@Resource
|
||||
private OrderInfoCustomMapper orderInfoCustomMapper;
|
||||
@Resource
|
||||
private OrderInfoService orderInfoService;
|
||||
@Lazy
|
||||
@Resource
|
||||
private PrinterHandler printerHandler;
|
||||
@@ -176,7 +175,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
.le(OrderInfo::getCreateTime, CzgStrUtils.getStrOrNull(param.getEndTime()))
|
||||
.in(OrderInfo::getId, like)
|
||||
.orderBy(OrderInfo::getId).desc();
|
||||
Page<OrderInfoVo> orderInfoVoPage = pageAs(PageUtil.buildPage(), queryWrapper, OrderInfoVo.class);
|
||||
Page<OrderInfoVo> orderInfoVoPage = orderInfoService.pageAs(PageUtil.buildPage(), queryWrapper, OrderInfoVo.class);
|
||||
orderInfoVoPage.getRecords().parallelStream().forEach(s -> {
|
||||
List<OrderDetailSmallVO> orderDetails = orderDetailService.listAs(
|
||||
QueryWrapper.create().eq(OrderDetail::getOrderId, s.getId()).eq(OrderDetail::getShopId, s.getShopId()), OrderDetailSmallVO.class);
|
||||
@@ -194,7 +193,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
|
||||
@Override
|
||||
public CzgResult<HistoryOrderPrintVo> getOrderByIdPrint(Long orderId) {
|
||||
HistoryOrderPrintVo historyOrderVo = getOneAs(new QueryWrapper()
|
||||
HistoryOrderPrintVo historyOrderVo = orderInfoService.getOneAs(new QueryWrapper()
|
||||
.eq(OrderInfo::getId, orderId), HistoryOrderPrintVo.class);
|
||||
AssertUtil.isNull(historyOrderVo, "订单不存在");
|
||||
List<OrderDetailPrintVo> orderDetails = orderDetailService.getOrderDetailPrint(orderId);
|
||||
@@ -211,11 +210,11 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
resultMap.computeIfAbsent(placeNum.toString(), k -> new ArrayList<>()).add(orderDetail);
|
||||
}
|
||||
historyOrderVo.setDetailMap(resultMap);
|
||||
long count = queryChain()
|
||||
long count = orderInfoService.count(QueryWrapper.create()
|
||||
.eq(OrderInfo::getTradeDay, historyOrderVo.getTradeDay())
|
||||
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
|
||||
.eq(OrderInfo::getShopId, historyOrderVo.getShopId())
|
||||
.le(OrderInfo::getCreateTime, historyOrderVo.getCreateTime()).count();
|
||||
.le(OrderInfo::getCreateTime, historyOrderVo.getCreateTime()));
|
||||
historyOrderVo.setOrderNum(count);
|
||||
return CzgResult.success(historyOrderVo);
|
||||
}
|
||||
@@ -230,15 +229,13 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
}
|
||||
HistoryOrderVo historyOrderVo;
|
||||
if (orderId == null) {
|
||||
historyOrderVo = queryChain()
|
||||
.select()
|
||||
historyOrderVo = orderInfoService.getOneAs(QueryWrapper.create()
|
||||
.eq(OrderInfo::getShopId, StpKit.USER.getShopId())
|
||||
.eq(OrderInfo::getTableCode, tableCode)
|
||||
.eq(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode())
|
||||
.gt(OrderInfo::getCreateTime, DateUtil.offsetDay(new Date(), -1))
|
||||
.oneAs(HistoryOrderVo.class);
|
||||
.gt(OrderInfo::getCreateTime, DateUtil.offsetDay(new Date(), -1)), HistoryOrderVo.class);
|
||||
} else {
|
||||
historyOrderVo = getOneAs(new QueryWrapper()
|
||||
historyOrderVo = orderInfoService.getOneAs(new QueryWrapper()
|
||||
.eq(OrderInfo::getId, orderId), HistoryOrderVo.class);
|
||||
}
|
||||
if (historyOrderVo == null || historyOrderVo.getId() == null) {
|
||||
@@ -323,7 +320,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
@Override
|
||||
public OrderInfo checkOrderPay(CheckOrderPay param) throws OrderValidateException, OrderCancelException, CzgException {
|
||||
AssertUtil.isNull(param.getOrderId(), "支付失败,订单id不能为空");
|
||||
OrderInfo orderInfo = getById(param.getOrderId());
|
||||
OrderInfo orderInfo = orderInfoService.getById(param.getOrderId());
|
||||
if (!orderInfo.getStatus().equals(OrderStatusEnums.UNPAID.getCode())) {
|
||||
throw new OrderCancelException("生成支付订单失败,订单不可支付");
|
||||
}
|
||||
@@ -333,10 +330,10 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
} else {
|
||||
if (!orderInfo.getStatus().equals(OrderStatusEnums.CANCELLED.getCode())) {
|
||||
ThreadUtil.execAsync(() -> {
|
||||
updateChain()
|
||||
.set(OrderInfo::getStatus, OrderStatusEnums.CANCELLED.getCode())
|
||||
.eq(OrderInfo::getId, param.getOrderId())
|
||||
.update();
|
||||
OrderInfo orderInfoUpdate = new OrderInfo();
|
||||
orderInfoUpdate.setId(orderInfo.getId());
|
||||
orderInfoUpdate.setStatus(OrderStatusEnums.CANCELLED.getCode());
|
||||
orderInfoService.updateById(orderInfoUpdate);
|
||||
rabbitPublisher.sendOrderCancelMsg(orderInfo.getId().toString());
|
||||
});
|
||||
}
|
||||
@@ -550,15 +547,13 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
if (param.getTargetOrderId() == null && StrUtil.isBlank(param.getTargetTableCode())) {
|
||||
throw new CzgException("转台失败,请选择目标台桌后转台");
|
||||
}
|
||||
OrderInfo sourceOrder = getById(param.getSourceOrderId());
|
||||
OrderInfo sourceOrder = orderInfoService.getById(param.getSourceOrderId());
|
||||
if (sourceOrder == null || !sourceOrder.getStatus().equals(OrderStatusEnums.UNPAID.getCode())) {
|
||||
throw new CzgException("转台失败,无可转订单");
|
||||
}
|
||||
OrderInfo targetOrder = queryChain()
|
||||
.eq(OrderInfo::getId, param.getTargetOrderId())
|
||||
OrderInfo targetOrder = orderInfoService.getOne(QueryWrapper.create().eq(OrderInfo::getId, param.getTargetOrderId())
|
||||
.eq(OrderInfo::getTableCode, param.getTargetTableCode())
|
||||
.eq(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode())
|
||||
.one();
|
||||
.eq(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode()));
|
||||
if (targetOrder == null) {
|
||||
OrderInfoAddDTO addDTO = new OrderInfoAddDTO();
|
||||
addDTO.setShopId(sourceOrder.getShopId());
|
||||
@@ -576,7 +571,10 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
} else {
|
||||
targetOrder.setPlaceNum(targetOrder.getPlaceNum() + 1);
|
||||
//下单次数+1
|
||||
updateChain().set(OrderInfo::getPlaceNum, targetOrder.getPlaceNum() + 1).eq(OrderInfo::getId, targetOrder.getId()).update();
|
||||
OrderInfo updateTargetOrder = new OrderInfo();
|
||||
updateTargetOrder.setId(targetOrder.getId());
|
||||
updateTargetOrder.setPlaceNum(targetOrder.getPlaceNum() + 1);
|
||||
orderInfoService.updateById(updateTargetOrder);
|
||||
}
|
||||
if (CollUtil.isEmpty(param.getDetailIds())) {
|
||||
long count = orderDetailService.queryChain().eq(OrderDetail::getOrderId, sourceOrder.getId()).count();
|
||||
@@ -1047,7 +1045,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
if ("TRADE_SUCCESS".equals(czgCallBackDto.getState())) {
|
||||
payment.setPayStatus("success");
|
||||
if ("order".equals(payment.getPayType())) {
|
||||
OrderInfo orderInfo = getById(payment.getSourceId());
|
||||
OrderInfo orderInfo = orderInfoService.getById(payment.getSourceId());
|
||||
if (orderInfo == null) {
|
||||
log.error("订单支付回调失败,订单不存在,支付记录Id,{}", payment.getId());
|
||||
return;
|
||||
@@ -1079,7 +1077,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
bizEnum = ShopUserFlowBizEnum.CASH_IN;
|
||||
}
|
||||
if (isFree) {
|
||||
orderInfo = getOne(new QueryWrapper().eq(OrderInfo::getId, payment.getRelatedId()));
|
||||
orderInfo = orderInfoService.getOne(new QueryWrapper().eq(OrderInfo::getId, payment.getRelatedId()));
|
||||
if (orderInfo == null) {
|
||||
log.error("霸王餐支付,订单不存在,支付记录Id,{}", payment.getId());
|
||||
} else {
|
||||
@@ -1098,7 +1096,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
orderInfo1.setPayAmount(BigDecimal.ZERO);
|
||||
orderInfo1.setPaidTime(LocalDateTime.now());
|
||||
orderInfo1.setPayType(PayEnums.FREE_PAY.getValue());
|
||||
updateById(orderInfo1);
|
||||
orderInfoService.updateById(orderInfo1);
|
||||
orderDetailService.updateOrderDetailStatus(orderInfo.getId(), OrderStatusEnums.DONE.getCode());
|
||||
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
||||
}
|
||||
@@ -1106,16 +1104,17 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
shopRechargeService.recharge(payment.getShopId(), payment.getSourceId(), payment.getRelatedId(),
|
||||
BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN), payment.getId(), payment.getPayType(), bizEnum);
|
||||
//充值并支付 ↓
|
||||
orderInfo = getOne(new QueryWrapper()
|
||||
orderInfo = orderInfoService.getOne(new QueryWrapper()
|
||||
.eq(OrderInfo::getPayOrderId, payment.getId())
|
||||
.eq(OrderInfo::getPayType, PayEnums.VIP_PAY.getValue()));
|
||||
if (orderInfo != null) {
|
||||
updateChain().eq(OrderInfo::getId, orderInfo.getId())
|
||||
.set(OrderInfo::getPayType, PayEnums.VIP_PAY.getValue())
|
||||
.set(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
|
||||
.set(OrderInfo::getPaidTime, LocalDateTime.now())
|
||||
.set(OrderInfo::getPayAmount, orderInfo.getOrderAmount())
|
||||
.update();
|
||||
OrderInfo upOrderInfo = new OrderInfo()
|
||||
.setId(orderInfo.getId())
|
||||
.setPayType(PayEnums.VIP_PAY.getValue())
|
||||
.setPaidTime(LocalDateTime.now())
|
||||
.setPayAmount(orderInfo.getOrderAmount())
|
||||
.setStatus(OrderStatusEnums.DONE.getCode());
|
||||
orderInfoService.updateById(upOrderInfo);
|
||||
orderDetailService.updateOrderDetailStatus(orderInfo.getId(), OrderStatusEnums.DONE.getCode());
|
||||
ShopUserMoneyEditDTO shopUserMoneyEditDTO = new ShopUserMoneyEditDTO()
|
||||
.setId(shopUser.getId())
|
||||
@@ -1190,10 +1189,9 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
payment.setPayStatus("fail");
|
||||
if ("refund".equals(payment.getPayType())) {
|
||||
//TODO 订单退款失败 暂不考虑回滚 填充退款原因
|
||||
updateChain()
|
||||
.set(OrderInfo::getRefundRemark, czgCallBackDto.getRefundReason())
|
||||
.eq(OrderInfo::getId, payment.getSourceId())
|
||||
.update();
|
||||
orderInfoService.updateById(new OrderInfo()
|
||||
.setId(payment.getSourceId())
|
||||
.setRefundRemark(czgCallBackDto.getRefundReason()));
|
||||
} else if ("memberRefund".equals(payment.getPayType())) {
|
||||
//TODO 会员退款 暂不考虑回滚(钱 赠送金额 赠送的券) 填充退款原因
|
||||
flowService
|
||||
@@ -1224,24 +1222,24 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
*/
|
||||
@Override
|
||||
public void upOrderInfo(OrderInfo orderInfo, BigDecimal payAmount, LocalDateTime payTime, Long payOrderId, PayEnums payType) {
|
||||
UpdateChain<OrderInfo> updateChain = updateChain()
|
||||
.set(OrderInfo::getPayAmount, payAmount)
|
||||
.set(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
|
||||
.set(OrderInfo::getPaidTime, payTime)
|
||||
.set(OrderInfo::getRemark, orderInfo.getRemark())
|
||||
.where(OrderInfo::getId).eq(orderInfo.getId());
|
||||
OrderInfo upOrderInfo = new OrderInfo()
|
||||
.setId(orderInfo.getId())
|
||||
.setPayAmount(payAmount)
|
||||
.setPaidTime(payTime)
|
||||
.setRemark(orderInfo.getRemark())
|
||||
.setStatus(OrderStatusEnums.DONE.getCode());
|
||||
if (payOrderId != null) {
|
||||
updateChain.set(OrderInfo::getPayOrderId, payOrderId);
|
||||
upOrderInfo.setPayOrderId(payOrderId);
|
||||
orderInfo.setPayOrderId(payOrderId);
|
||||
}
|
||||
if (orderInfo.getCreditBuyerId() != null) {
|
||||
updateChain.set(OrderInfo::getCreditBuyerId, orderInfo.getCreditBuyerId());
|
||||
upOrderInfo.setCreditBuyerId(orderInfo.getCreditBuyerId());
|
||||
}
|
||||
if (ObjectUtil.isNotNull(payType)) {
|
||||
updateChain.set(OrderInfo::getPayType, payType.getValue());
|
||||
upOrderInfo.setPayType(payType.getValue());
|
||||
orderInfo.setPayType(payType.getValue());
|
||||
}
|
||||
boolean update = updateChain.update();
|
||||
boolean update = orderInfoService.updateById(upOrderInfo);
|
||||
if (update) {
|
||||
orderInfo.setPayAmount(payAmount);
|
||||
orderInfo.setStatus(OrderStatusEnums.DONE.getCode());
|
||||
@@ -1339,12 +1337,9 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
@Override
|
||||
@Transactional
|
||||
public void expired(Long orderId) {
|
||||
OrderInfo orderInfo = getById(orderId);
|
||||
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
||||
if (orderInfo.getStatus().equals(OrderStatusEnums.UNPAID.getCode())) {
|
||||
updateChain().set(OrderInfo::getStatus, OrderStatusEnums.CANCELLED.getCode())
|
||||
.where(OrderInfo::getId).eq(orderId)
|
||||
.update();
|
||||
|
||||
orderInfoService.updateById(new OrderInfo().setId(orderId).setStatus(OrderStatusEnums.CANCELLED.getCode()));
|
||||
if (StrUtil.isNotBlank(orderInfo.getTableCode())) {
|
||||
ShopTable table = shopTableService.getOneByTableCode(orderInfo.getShopId(), orderInfo.getTableCode());
|
||||
if (table != null) {
|
||||
@@ -1391,7 +1386,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
private OrderInfo initOrderInfo(OrderInfoAddDTO param, ShopInfo shopInfo, ShopTable table) throws CzgException {
|
||||
OrderInfo orderInfo = new OrderInfo();
|
||||
if (param.getOrderId() != null) {
|
||||
orderInfo = getById(param.getOrderId());
|
||||
orderInfo = orderInfoService.getById(param.getOrderId());
|
||||
if (!OrderStatusEnums.UNPAID.getCode().equals(orderInfo.getStatus())) {
|
||||
throw new CzgException("生成订单失败,订单已结束,请重新下单");
|
||||
}
|
||||
@@ -1440,7 +1435,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
orderInfo.setPackFee(orderInfo.getPackFee().add(param.getPackFee()));
|
||||
orderInfo.setRoundAmount(BigDecimal.ZERO);
|
||||
orderInfo.setPointsNum(0);
|
||||
saveOrUpdate(orderInfo);
|
||||
orderInfoService.saveOrUpdate(orderInfo);
|
||||
return orderInfo;
|
||||
}
|
||||
|
||||
@@ -1510,7 +1505,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
}
|
||||
}
|
||||
}
|
||||
saveOrUpdate(orderInfo);
|
||||
orderInfoService.saveOrUpdate(orderInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1562,7 +1557,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
|
||||
@Override
|
||||
public Boolean printOrder(Long shopId, OrderInfoPrintDTO orderInfoPrintDTO) {
|
||||
OrderInfo orderInfo = getOne(new QueryWrapper().eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getId, orderInfoPrintDTO.getId()));
|
||||
OrderInfo orderInfo = orderInfoService.getOne(new QueryWrapper().eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getId, orderInfoPrintDTO.getId()));
|
||||
if (orderInfo == null) {
|
||||
throw new CzgException("订单信息不存在");
|
||||
}
|
||||
@@ -1584,7 +1579,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean removeOrderDetail(Long shopId, Long orderId, Long detailId) {
|
||||
OrderInfo orderInfo = getOne(new QueryWrapper().eq(OrderInfo::getId, orderId).eq(OrderInfo::getShopId, shopId));
|
||||
OrderInfo orderInfo = orderInfoService.getOne(new QueryWrapper().eq(OrderInfo::getId, orderId).eq(OrderInfo::getShopId, shopId));
|
||||
if (orderInfo == null) {
|
||||
throw new CzgException("订单不存在");
|
||||
}
|
||||
@@ -1598,7 +1593,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
throw new CzgException("不处于待支付或订单详情不存在");
|
||||
}
|
||||
|
||||
int i = mapper.decrMoney(orderInfo.getId(), orderDetail.getPayAmount().add(orderDetail.getPackAmount()));
|
||||
int i = orderInfoCustomMapper.decrMoney(orderInfo.getId(), orderDetail.getPayAmount().add(orderDetail.getPackAmount()));
|
||||
if (i > 0) {
|
||||
return orderDetailService.removeById(orderDetail.getId());
|
||||
}
|
||||
@@ -1608,7 +1603,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean cancelledOrder(Long shopId, Long orderId) throws OrderCancelException {
|
||||
OrderInfo orderInfo = getById(orderId);
|
||||
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
||||
if (orderInfo == null) {
|
||||
// throw new OrderCancelException("订单不存在");
|
||||
return true;
|
||||
@@ -1617,11 +1612,8 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
// throw new OrderCancelException("订单不可取消");
|
||||
return true;
|
||||
}
|
||||
updateChain()
|
||||
.set(OrderInfo::getStatus, OrderStatusEnums.CANCELLED.getCode())
|
||||
.eq(OrderInfo::getShopId, shopId)
|
||||
.eq(OrderInfo::getId, orderId)
|
||||
.update();
|
||||
orderInfoService.updateById(new OrderInfo().setId(orderId)
|
||||
.setStatus(OrderStatusEnums.CANCELLED.getCode()));
|
||||
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
||||
rabbitPublisher.sendOrderCancelMsg(orderInfo.getId().toString());
|
||||
orderDetailService.updateOrderDetailStatus(orderId, OrderStatusEnums.CANCELLED.getCode());
|
||||
@@ -1647,7 +1639,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean cancelledPlaceOrder(Long shopId, Long orderId, Integer placeNum) {
|
||||
OrderInfo orderInfo = getById(orderId);
|
||||
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
||||
if (orderInfo == null) {
|
||||
// throw new OrderCancelException("订单不存在");
|
||||
return true;
|
||||
@@ -1657,11 +1649,8 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
return true;
|
||||
}
|
||||
if (orderInfo.getPlaceNum().equals(1)) {
|
||||
updateChain()
|
||||
.set(OrderInfo::getStatus, OrderStatusEnums.CANCELLED.getCode())
|
||||
.eq(OrderInfo::getShopId, shopId)
|
||||
.eq(OrderInfo::getId, orderId)
|
||||
.update();
|
||||
orderInfoService.updateById(new OrderInfo().setId(orderId)
|
||||
.setStatus(OrderStatusEnums.CANCELLED.getCode()));
|
||||
rabbitPublisher.sendOrderCancelMsg(orderInfo.getId().toString());
|
||||
return true;
|
||||
}
|
||||
@@ -1680,11 +1669,9 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
}
|
||||
List<OrderDetail> list = orderDetailService.queryChain().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getShopId, shopId).list();
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
updateChain()
|
||||
.set(OrderInfo::getStatus, OrderStatusEnums.CANCELLED.getCode())
|
||||
.set(OrderInfo::getOriginAmount, BigDecimal.ZERO)
|
||||
.eq(OrderInfo::getShopId, shopId)
|
||||
.eq(OrderInfo::getId, orderId);
|
||||
orderInfoService.updateById(new OrderInfo().setId(orderId)
|
||||
.setStatus(OrderStatusEnums.CANCELLED.getCode())
|
||||
.setOriginAmount(BigDecimal.ZERO));
|
||||
return true;
|
||||
} else {
|
||||
BigDecimal totalAmount = BigDecimal.ZERO;
|
||||
@@ -1712,11 +1699,9 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
.update();
|
||||
}
|
||||
}
|
||||
updateChain().eq(OrderInfo::getId, orderId)
|
||||
.eq(OrderInfo::getShopId, shopId)
|
||||
.set(OrderInfo::getOriginAmount, totalAmount)
|
||||
.set(OrderInfo::getPlaceNum, orderInfo.getPlaceNum() - 1)
|
||||
.update();
|
||||
orderInfoService.updateById(new OrderInfo().setId(orderId)
|
||||
.setOriginAmount(totalAmount)
|
||||
.setPlaceNum(orderInfo.getPlaceNum() - 1));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1724,7 +1709,7 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updatePayOrderId(Long orderId, Long paymentId, String payType, String remark) {
|
||||
mapper.updatePayOrderId(orderId, paymentId, payType, remark);
|
||||
orderInfoCustomMapper.updatePayOrderId(orderId, paymentId, payType, remark);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1767,12 +1752,12 @@ public class OrderInfoCustomServiceImpl extends OrderInfoServiceImpl implements
|
||||
orderDetailService.updateChain().set(OrderDetail::getSubStatus, TableValueConstant.OrderDetail.SubStatus.READY_TO_SERVE.getCode())
|
||||
.eq(OrderDetail::getId, detailStatusDTO.getOrderDetailId()).update();
|
||||
// 上菜
|
||||
}else {
|
||||
} else {
|
||||
if (detailStatusDTO.getOrderId() != null) {
|
||||
orderDetailService.updateChain().eq(OrderDetail::getSubStatus, TableValueConstant.OrderDetail.SubStatus.READY_TO_SERVE.getCode())
|
||||
.set(OrderDetail::getSubStatus, TableValueConstant.OrderDetail.SubStatus.SENT_OUT.getCode())
|
||||
.eq(OrderDetail::getOrderId, detailStatusDTO.getOrderId()).update();
|
||||
}else {
|
||||
} else {
|
||||
orderDetailService.updateChain().eq(OrderDetail::getSubStatus, TableValueConstant.OrderDetail.SubStatus.READY_TO_SERVE.getCode())
|
||||
.set(OrderDetail::getSubStatus, TableValueConstant.OrderDetail.SubStatus.SENT_OUT.getCode())
|
||||
.eq(OrderDetail::getId, detailStatusDTO.getOrderDetailId()).update();
|
||||
|
||||
@@ -94,7 +94,9 @@ public class PayServiceImpl implements PayService {
|
||||
@Resource
|
||||
private CzgPayService czgPayService;
|
||||
@Resource
|
||||
private OrderInfoCustomServiceImpl orderInfoService;
|
||||
private OrderInfoCustomService orderInfoCustomService;
|
||||
@Resource
|
||||
private OrderInfoService orderInfoService;
|
||||
@Resource
|
||||
private OrderDetailService orderDetailService;
|
||||
@Resource
|
||||
@@ -121,7 +123,7 @@ public class PayServiceImpl implements PayService {
|
||||
private final BigDecimal MONEY_RATE = new BigDecimal("100");
|
||||
|
||||
private OrderInfo checkPay(CheckOrderPay checkOrderPay) {
|
||||
OrderInfo orderInfo = orderInfoService.checkOrderPay(checkOrderPay);
|
||||
OrderInfo orderInfo = orderInfoCustomService.checkOrderPay(checkOrderPay);
|
||||
if (orderInfo.getOrderAmount().compareTo(BigDecimal.ZERO) == 0) {
|
||||
//发送打票信息
|
||||
//orderId_0_0 订单ID_先付后付(1先付0后付)_订单状态 0未完成 1完成
|
||||
@@ -151,7 +153,7 @@ public class PayServiceImpl implements PayService {
|
||||
}
|
||||
CheckOrderPay checkOrderPay = payParam.getCheckOrderPay();
|
||||
// CheckOrderPay checkOrderPay = BeanUtil.copyProperties(payParam, CheckOrderPay.class);
|
||||
OrderInfo orderInfo = orderInfoService.checkOrderPay(checkOrderPay.setFreeDine(true).setWithCoupon(freeConfig.getWithCoupon()).setWithPoints(freeConfig.getWithPoints()));
|
||||
OrderInfo orderInfo = orderInfoCustomService.checkOrderPay(checkOrderPay.setFreeDine(true).setWithCoupon(freeConfig.getWithCoupon()).setWithPoints(freeConfig.getWithPoints()));
|
||||
payParam.setAmount(orderInfo.getOrderAmount().multiply(BigDecimal.valueOf(freeConfig.getRechargeTimes())));
|
||||
return true;
|
||||
}
|
||||
@@ -165,7 +167,7 @@ public class PayServiceImpl implements PayService {
|
||||
AssertUtil.isNull(payParam.getCreditBuyerId(), "请选择挂账人后支付");
|
||||
OrderInfo orderInfo = checkPay(payParam.getCheckOrderPay());
|
||||
orderInfo.setCreditBuyerId(payParam.getCreditBuyerId());
|
||||
orderInfoService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||
orderInfoCustomService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||
LocalDateTime.now(), null, PayEnums.CREDIT_PAY);
|
||||
//挂账后续逻辑
|
||||
buyerOrderService.save(payParam.getCreditBuyerId().toString(), orderInfo.getId());
|
||||
@@ -176,7 +178,7 @@ public class PayServiceImpl implements PayService {
|
||||
@Transactional(noRollbackFor = PaySuccessException.class)
|
||||
public CzgResult<Object> cashPayOrder(OrderPayParamDTO payParam) {
|
||||
OrderInfo orderInfo = checkPay(payParam.getCheckOrderPay());
|
||||
orderInfoService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||
orderInfoCustomService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||
LocalDateTime.now(), null, PayEnums.CASH_PAY);
|
||||
return CzgResult.success();
|
||||
}
|
||||
@@ -247,7 +249,7 @@ public class PayServiceImpl implements PayService {
|
||||
memberConfigService.deliver(shopUser, TableValueConstant.MemberExpFlow.Type.COST, orderInfo.getOrderAmount(), null, orderInfo.getId());
|
||||
|
||||
Long flowId = shopUserService.updateMoney(shopUserMoneyEditDTO);
|
||||
orderInfoService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||
orderInfoCustomService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||
LocalDateTime.now(), flowId, PayEnums.VIP_PAY);
|
||||
|
||||
|
||||
@@ -327,7 +329,7 @@ public class PayServiceImpl implements PayService {
|
||||
if (payParam.getCheckOrderPay().getOrderAmount() == null || payParam.getCheckOrderPay().getOrderAmount().compareTo(BigDecimal.ZERO) <= 0) {
|
||||
throw new CzgException("支付金额不合法");
|
||||
}
|
||||
orderInfo = orderInfoService.createPayOrder(payParam.getShopId(), payParam.getCheckOrderPay().getOrderAmount(),
|
||||
orderInfo = orderInfoCustomService.createPayOrder(payParam.getShopId(), payParam.getCheckOrderPay().getOrderAmount(),
|
||||
payParam.getCheckOrderPay().getRemark());
|
||||
} else {
|
||||
orderInfo = orderInfoService.getById(payParam.getCheckOrderPay().getOrderId());
|
||||
@@ -403,7 +405,7 @@ public class PayServiceImpl implements PayService {
|
||||
CzgResult<Map<String, Object>> mapCzgResult = microPay(payParam.getShopId(), new CzgMicroPayReq(payOrderNo, orderInfo.getOrderAmount().multiply(MONEY_RATE).longValue(),
|
||||
"点餐支付", payParam.getAuthCode(), payParam.getBuyerRemark(), ""));
|
||||
if (mapCzgResult.getCode() == 200) {
|
||||
orderInfoService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||
orderInfoCustomService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||
LocalDateTime.now(), paymentId, PayEnums.BACK_SCAN);
|
||||
} else {
|
||||
upOrderPayInfo(orderInfo.getId(), PayEnums.BACK_SCAN, paymentId,
|
||||
@@ -860,7 +862,7 @@ public class PayServiceImpl implements PayService {
|
||||
if (paymentId == null) {
|
||||
throw new CzgException("未获取到支付记录");
|
||||
}
|
||||
orderInfoService.updatePayOrderId(orderId, paymentId, payType.getValue(), remark);
|
||||
orderInfoCustomService.updatePayOrderId(orderId, paymentId, payType.getValue(), remark);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user