feat: 1. 添加商品会员价 2.空订单直接删除

This commit is contained in:
张松 2024-11-07 10:25:52 +08:00
parent 635ebb138f
commit 896667018a
5 changed files with 47 additions and 3 deletions

View File

@ -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);
}
}
}
}

View File

@ -47,5 +47,7 @@ public class TbOrderDetail implements Serializable {
private String note;
private BigDecimal memberPrice;
private static final long serialVersionUID = 1L;
}

View File

@ -24,5 +24,12 @@ public interface MpOrderDetailService extends IService<TbOrderDetail> {
* @return 是否成功
*/
boolean updateStateByCartIds(Integer shopId, List<Integer> cartIds, TableConstant.Status status);
/**
* 根据购物车id删除订单详情
* @param cartIds 购物车id
* @return 是否成功
*/
boolean removeByCartIds(List<Integer> cartIds);
}

View File

@ -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<Integer> 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<TbOrderDetail> 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());

View File

@ -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<MPOrderDetailMapper, T
.in(TbOrderDetail::getCartId, cartIds)
.set(TbOrderDetail::getStatus, status.getValue()));
}
@Override
public boolean removeByCartIds(List<Integer> cartIds) {
return remove(new LambdaQueryWrapper<TbOrderDetail>()
.in(TbOrderDetail::getCartId, cartIds));
}
}