Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -30,6 +30,7 @@ import com.czg.order.service.OrderPaymentService;
|
||||
import com.czg.order.vo.HistoryOrderVo;
|
||||
import com.czg.order.vo.OrderDetailSmallVO;
|
||||
import com.czg.order.vo.OrderInfoVo;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.czg.service.RedisService;
|
||||
import com.czg.order.dto.BigDecimalDTO;
|
||||
@@ -128,6 +129,12 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
return orderInfoVoPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CzgResult<HistoryOrderVo> getOrderDetails(Long orderId) {
|
||||
AssertUtil.isNull(orderId, "订单id不能为空");
|
||||
return CzgResult.success(historyOrder(orderId, null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public HistoryOrderVo historyOrder(Long orderId, String tableCode) {
|
||||
if (orderId == null && StrUtil.isBlank(tableCode)) {
|
||||
@@ -142,7 +149,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
.gt(OrderInfo::getCreateTime, DateUtil.offsetDay(new Date(), -1))
|
||||
.oneAs(HistoryOrderVo.class);
|
||||
} else {
|
||||
historyOrderVo = getOneAs(new QueryWrapper().eq(OrderInfo::getId, orderId), HistoryOrderVo.class);
|
||||
historyOrderVo = getOneAs(new QueryWrapper()
|
||||
.eq(OrderInfo::getId, orderId), HistoryOrderVo.class);
|
||||
}
|
||||
if (historyOrderVo == null || historyOrderVo.getId() == null) {
|
||||
return null;
|
||||
@@ -158,7 +166,6 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
Integer placeNum = orderDetail.getPlaceNum();
|
||||
// 检查 Map 中是否已经存在该 placeNum 对应的列表
|
||||
resultMap.computeIfAbsent(placeNum.toString(), k -> new ArrayList<>()).add(orderDetail);
|
||||
|
||||
}
|
||||
historyOrderVo.setDetailMap(resultMap);
|
||||
return historyOrderVo;
|
||||
@@ -212,13 +219,13 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
@Override
|
||||
public OrderInfo checkOrderPay(CheckOrderPay param) {
|
||||
OrderInfo orderInfo = getById(param.getOrderId());
|
||||
if (!"after-pay".equals(orderInfo.getPayMode())) {
|
||||
// if (!"after-pay".equals(orderInfo.getPayMode())) {
|
||||
// if (redisService.hasKey(RedisCst.classKeyExpired.EXPIRED_ORDER + param.getOrderId())) {
|
||||
// redisService.set(RedisCst.classKeyExpired.EXPIRED_ORDER + param.getOrderId(), "", 60 * 15);
|
||||
// } else {
|
||||
// throw new ValidateException("订单已过期,请重新下单");
|
||||
// }
|
||||
}
|
||||
// }
|
||||
ShopInfo shopInfo = shopInfoService.getById(orderInfo.getShopId());
|
||||
AssertUtil.isNull(shopInfo, "生成订单失败,店铺信息不存在");
|
||||
if (param.isVipPrice() && !shopInfo.getIsMemberPrice().equals(1)) {
|
||||
@@ -380,9 +387,13 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
}
|
||||
}
|
||||
if (isAllPack) {
|
||||
orderDetail.setPackNumber(orderDetail.getNum());
|
||||
if ("weigh".equals(orderDetail.getProductType())) {
|
||||
orderDetail.setPackNumber(BigDecimal.ONE);
|
||||
} else {
|
||||
orderDetail.setPackNumber(orderDetail.getNum());
|
||||
}
|
||||
}
|
||||
packAmount.setPrice(packAmount.getPrice().add(orderDetail.getPackAmount().multiply(orderDetail.getPackNumber())));
|
||||
packAmount.setPrice(packAmount.getPrice().add(orderDetail.getPackAmount().multiply(orderDetail.getPackNumber()).setScale(2, RoundingMode.DOWN)));
|
||||
if (couponNum.compareTo(BigDecimal.ZERO) > 0) {
|
||||
if (couponNum.compareTo(orderDetail.getNum()) >= 0) {
|
||||
orderDetail.setCouponNum(orderDetail.getNum());
|
||||
@@ -658,7 +669,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
orderInfo.setSeatNum(param.getSeatNum());
|
||||
}
|
||||
orderInfo.setPlaceNum(param.getPlaceNum());
|
||||
orderInfo.setOriginAmount(BigDecimal.ZERO);
|
||||
orderInfo.setOriginAmount(param.getOriginAmount());
|
||||
orderInfo.setOrderAmount(BigDecimal.ZERO);
|
||||
orderInfo.setPackFee(orderInfo.getPackFee().add(param.getPackFee()));
|
||||
orderInfo.setRoundAmount(BigDecimal.ZERO);
|
||||
|
||||
@@ -530,6 +530,11 @@ public class PayServiceImpl implements PayService {
|
||||
if (orderDetail.getReturnAmount().compareTo(orderDetail.getPayAmount()) > 0) {
|
||||
throw new ValidateException("退单失败," + orderDetail.getProductName() + "退单金额不正确");
|
||||
}
|
||||
if (orderDetail.getNum().compareTo(orderDetail.getRefundNum().add(orderDetail.getReturnNum())) == 0) {
|
||||
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||
} else {
|
||||
orderDetail.setStatus(OrderStatusEnums.PART_REFUND.getCode());
|
||||
}
|
||||
} else {
|
||||
orderDetail.setReturnNum(orderDetail.getRefundNum().add(refNum));
|
||||
orderDetail.setPayAmount((orderDetail.getNum().subtract(orderDetail.getRefundNum()).subtract(orderDetail.getReturnNum())
|
||||
@@ -537,21 +542,15 @@ public class PayServiceImpl implements PayService {
|
||||
}
|
||||
orderDetail.setRefundNo(refPayOrderNo);
|
||||
orderDetail.setRefundRemark(orderDetail.getRefundRemark() + param.getRefundReason());
|
||||
if (orderDetail.getNum().compareTo(orderDetail.getRefundNum().add(orderDetail.getReturnNum())) == 0) {
|
||||
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||
} else {
|
||||
orderDetail.setStatus(OrderStatusEnums.PART_REFUND.getCode());
|
||||
|
||||
}
|
||||
orderDetailService.updateById(orderDetail);
|
||||
returnProMap.put(orderDetail.getProductId(), refundDetail.getNum());
|
||||
}
|
||||
long count = orderDetailService.queryChain()
|
||||
.eq(OrderDetail::getOrderId, orderInfo.getId())
|
||||
.ne(OrderDetail::getStatus, OrderStatusEnums.REFUND.getCode()).count();
|
||||
if (count > 0) {
|
||||
if (count > 0 && isPay) {
|
||||
orderInfo.setStatus(OrderStatusEnums.PART_REFUND.getCode());
|
||||
} else {
|
||||
} else if (isPay) {
|
||||
orderInfo.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||
}
|
||||
} else {
|
||||
@@ -566,11 +565,12 @@ public class PayServiceImpl implements PayService {
|
||||
returnProMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum()));
|
||||
orderDetail.setRefundNum(orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||
orderDetail.setReturnAmount(orderDetail.getPayAmount());
|
||||
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||
} else {
|
||||
returnProMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||
orderDetail.setReturnNum(orderDetail.getNum());
|
||||
orderDetail.setStatus(OrderStatusEnums.CANCELLED.getCode());
|
||||
}
|
||||
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||
}
|
||||
orderDetailService.updateBatch(orderDetails);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user