From 896667018a04af41db652706b3358ae6144edb47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Thu, 7 Nov 2024 10:25:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=201.=20=E6=B7=BB=E5=8A=A0=E5=95=86?= =?UTF-8?q?=E5=93=81=E4=BC=9A=E5=91=98=E4=BB=B7=202.=E7=A9=BA=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=9B=B4=E6=8E=A5=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/entity/TbCashierCart.java | 20 +++++++++++++++++++ .../cashierservice/entity/TbOrderDetail.java | 2 ++ .../service/MpOrderDetailService.java | 7 +++++++ .../cashierservice/service/OrderService.java | 14 ++++++++++--- .../impl/MpOrderDetailServiceImpl.java | 7 +++++++ 5 files changed, 47 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java index b106978..6443842 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java @@ -61,6 +61,8 @@ public class TbCashierCart implements Serializable { private String useType; private Integer placeNum; private String platformType; + private BigDecimal memberPrice; + private Integer isMember; @TableField(exist = false) private TbProductSpec tbProductSpec; @@ -69,4 +71,22 @@ public class TbCashierCart implements Serializable { private String selectSpec=""; private static final long serialVersionUID = 1L; + + /** + * 根据是否会员充值价格 + */ + public void resetTotalAmount() { + if ("false".equals(isPack)) { + packFee = BigDecimal.ZERO; + } + if ("true".equals(isGift)) { + totalAmount = packFee; + }else { + if (isMember != null && isMember == 1) { + totalAmount = BigDecimal.valueOf(totalNumber).multiply(memberPrice).add(packFee); + }else { + totalAmount = BigDecimal.valueOf(totalNumber).multiply(salePrice).add(packFee); + } + } + } } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java index 00238d5..a37a3d0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java @@ -47,5 +47,7 @@ public class TbOrderDetail implements Serializable { private String note; + private BigDecimal memberPrice; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/MpOrderDetailService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/MpOrderDetailService.java index 2b7f1b3..e24df73 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/MpOrderDetailService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/MpOrderDetailService.java @@ -24,5 +24,12 @@ public interface MpOrderDetailService extends IService { * @return 是否成功 */ boolean updateStateByCartIds(Integer shopId, List cartIds, TableConstant.Status status); + + /** + * 根据购物车id删除订单详情 + * @param cartIds 购物车id + * @return 是否成功 + */ + boolean removeByCartIds(List cartIds); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 533c6c5..6867980 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -354,6 +354,8 @@ public class OrderService { cashierCart.setSalePrice(skuWithBLOBs.getSalePrice()); cashierCart.setSkuId(skuWithBLOBs.getId().toString()); cashierCart.setSkuName(skuWithBLOBs.getSpecSnap()); + cashierCart.setMemberPrice(skuWithBLOBs.getMemberPrice() != null && skuWithBLOBs.getMemberPrice().compareTo(BigDecimal.ZERO) > 0 ? skuWithBLOBs.getMemberPrice() : skuWithBLOBs.getSalePrice()); + cashierCart.setIsMember(0); } cashierCart.setShopId(shopId.toString()); cashierCart.setTradeDay(DateUtils.getDay()); @@ -536,10 +538,13 @@ public class OrderService { // 检查购物车商品是否已经全部退款 if (!returnCashierCarts.isEmpty() && returnCashierCarts.size() == list.size()) { List cartIds = returnCashierCarts.stream().map(TbCashierCart::getId).collect(Collectors.toList()); - mpCashierCartService.updateStateByIds(Integer.valueOf(shopId), cartIds, TableConstant.Status.CLOSED); - mpOrderDetailService.updateStateByCartIds(Integer.valueOf(shopId), cartIds, TableConstant.Status.CLOSED); + mpCashierCartService.removeByIds(cartIds); +// mpCashierCartService.updateStateByIds(Integer.valueOf(shopId), cartIds, TableConstant.Status.CLOSED); +// mpOrderDetailService.updateStateByCartIds(Integer.valueOf(shopId), cartIds, TableConstant.Status.CLOSED); + mpOrderDetailService.removeByCartIds(cartIds); if (StrUtil.isNotBlank(orderId)) { - mpOrderInfoService.updateStateById(Integer.valueOf(shopId), Integer.valueOf(orderId), TableConstant.Status.CANCELLED); + mpOrderInfoService.removeById(orderId); +// mpOrderInfoService.updateStateById(Integer.valueOf(shopId), Integer.valueOf(orderId), TableConstant.Status.CANCELLED); } String finalMasterId = masterId; @@ -835,6 +840,8 @@ public class OrderService { ArrayList addOrderDetailList = new ArrayList<>(); for (TbCashierCart cashierCart : list) { + cashierCart.setIsMember(orderVo.getVipUserId() == null ? 0: 1); + cashierCart.resetTotalAmount(); // 设置下单次数 if (cashierCart.getPlaceNum() == null) { cashierCart.setPlaceNum(currentPlaceNum); @@ -893,6 +900,7 @@ public class OrderService { saleAmount = saleAmount.add(shopInfo.getTableFee()); } + orderDetail.setMemberPrice(cashierCart.getMemberPrice()); orderDetail.setCreateTime(new Date()); orderDetail.setNum(cashierCart.getNumber()); orderDetail.setPrice(cashierCart.getSalePrice()); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/MpOrderDetailServiceImpl.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/MpOrderDetailServiceImpl.java index e5d8d11..a3cd624 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/MpOrderDetailServiceImpl.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/MpOrderDetailServiceImpl.java @@ -1,5 +1,6 @@ package com.chaozhanggui.system.cashierservice.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -37,5 +38,11 @@ public class MpOrderDetailServiceImpl extends ServiceImpl cartIds) { + return remove(new LambdaQueryWrapper() + .in(TbOrderDetail::getCartId, cartIds)); + } }