fix: 合并test退款修改

This commit is contained in:
张松
2024-11-22 11:47:12 +08:00
parent bf30e897c6
commit 2ac2c6be44
4 changed files with 58 additions and 79 deletions

View File

@@ -24,5 +24,5 @@ public class UpdateCartDTO {
private String note;
private Boolean isPack;
private Boolean isGift;
private Boolean isPrint = true;
}

View File

@@ -131,8 +131,12 @@ public class TbOrderDetail implements Serializable {
private BigDecimal memberPrice;
private Integer userCouponId;
private Integer isMember;
private Integer isTemporary;
private Boolean isPrint;
private String useCouponInfo;
public void copy(TbOrderDetail source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
}

View File

@@ -537,7 +537,6 @@ public class TbProductServiceImpl implements TbProductService {
}
}
product.setIsDel(0);
product.setIsDelete(0);
product.setIsFreeFreight(1);
product.setStatus(1);
product.setUpdatedAt(Instant.now().toEpochMilli());
@@ -770,7 +769,6 @@ public class TbProductServiceImpl implements TbProductService {
queryWrapper.eq("is_del", 0)
.in("type_enum", "sku", "normal")
.eq("shop_id", shopId)
.eq("is_delete", 0)
.eq("status", 1)
.eq("is_pause_sale", 0);

View File

@@ -627,58 +627,59 @@ public class TbShopTableServiceImpl implements TbShopTableService {
@Override
public TbCashierCart addTemporaryDishes(AddTemporaryDishesDTO temporaryDishesDTO) {
temporaryDishesDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(temporaryDishesDTO.getUseType()) ? null : temporaryDishesDTO.getTableId());
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(temporaryDishesDTO.getShopId(), temporaryDishesDTO.getTableId(), temporaryDishesDTO.getUseType());
TbCashierCart tbCashierCart = mpCashierCartService.selectOneCartByShopEatType(shopEatTypeInfoDTO, temporaryDishesDTO.getMasterId(), null, null, false, true);
// 首次加入
if (tbCashierCart == null) {
tbCashierCart = new TbCashierCart();
tbCashierCart.setUseType(shopEatTypeInfoDTO.getUseType());
tbCashierCart.setCreatedAt(System.currentTimeMillis());
tbCashierCart.setIsSku("0");
if (StrUtil.isNotBlank(shopEatTypeInfoDTO.getTableId())) {
tbCashierCart.setTableId(shopEatTypeInfoDTO.getTableId());
}
tbCashierCart.setName(temporaryDishesDTO.getName());
tbCashierCart.setSalePrice(temporaryDishesDTO.getPrice());
tbCashierCart.setMasterId(temporaryDishesDTO.getMasterId());
tbCashierCart.setShopId(String.valueOf(temporaryDishesDTO.getShopId()));
tbCashierCart.setTradeDay(DateUtils.getDay());
tbCashierCart.setStatus("create");
tbCashierCart.setIsPack("false");
tbCashierCart.setIsGift("false");
tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice()));
tbCashierCart.setPackFee(BigDecimal.ZERO);
tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum());
tbCashierCart.setNumber(temporaryDishesDTO.getNum());
tbCashierCart.setCategoryId(String.valueOf(temporaryDishesDTO.getCategoryId()));
tbCashierCart.setNote(temporaryDishesDTO.getNote());
tbCashierCart.setPlatformType(OrderPlatformTypeEnum.PC.getValue());
tbCashierCart.setIsMember(shopEatTypeInfoDTO.isMemberPrice() && temporaryDishesDTO.getVipUserId() != null ? 1 : 0);
tbCashierCart.setIsTemporary(1);
tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
cashierCartRepository.save(tbCashierCart);
} else {
tbCashierCart.setIsMember(temporaryDishesDTO.getVipUserId() == null ? 0 : 1);
tbCashierCart.setNote(temporaryDishesDTO.getNote());
tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice()));
tbCashierCart.setPackFee(BigDecimal.ZERO);
tbCashierCart.setIsPack("false");
tbCashierCart.setIsGift("false");
tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum());
tbCashierCart.setNumber(temporaryDishesDTO.getNum());
tbCashierCart.setUpdatedAt(DateUtil.current());
tbCashierCart.setIsTemporary(1);
tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
cashierCartMapper.updateById(tbCashierCart);
}
if (StrUtil.isNotBlank(temporaryDishesDTO.getTableId())) {
setRedisTableCartInfo(temporaryDishesDTO.getTableId(), temporaryDishesDTO.getShopId().toString(), Collections.singletonList(tbCashierCart), true);
}
return tbCashierCart;
// temporaryDishesDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(temporaryDishesDTO.getUseType()) ? null : temporaryDishesDTO.getTableId());
// ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(temporaryDishesDTO.getShopId(), temporaryDishesDTO.getTableId(), temporaryDishesDTO.getUseType());
//
// TbCashierCart tbCashierCart = mpCashierCartService.selectOneCartByShopEatType(shopEatTypeInfoDTO, temporaryDishesDTO.getMasterId(), null, null, false, true);
// // 首次加入
// if (tbCashierCart == null) {
// tbCashierCart = new TbCashierCart();
// tbCashierCart.setUseType(shopEatTypeInfoDTO.getUseType());
// tbCashierCart.setCreatedAt(System.currentTimeMillis());
// tbCashierCart.setIsSku("0");
// if (StrUtil.isNotBlank(shopEatTypeInfoDTO.getTableId())) {
// tbCashierCart.setTableId(shopEatTypeInfoDTO.getTableId());
// }
// tbCashierCart.setName(temporaryDishesDTO.getName());
// tbCashierCart.setSalePrice(temporaryDishesDTO.getPrice());
// tbCashierCart.setMasterId(temporaryDishesDTO.getMasterId());
// tbCashierCart.setShopId(String.valueOf(temporaryDishesDTO.getShopId()));
// tbCashierCart.setTradeDay(DateUtils.getDay());
// tbCashierCart.setStatus("create");
// tbCashierCart.setIsPack("false");
// tbCashierCart.setIsGift("false");
// tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice()));
// tbCashierCart.setPackFee(BigDecimal.ZERO);
// tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum());
// tbCashierCart.setNumber(temporaryDishesDTO.getNum());
// tbCashierCart.setCategoryId(String.valueOf(temporaryDishesDTO.getCategoryId()));
// tbCashierCart.setNote(temporaryDishesDTO.getNote());
// tbCashierCart.setPlatformType(OrderPlatformTypeEnum.PC.getValue());
// tbCashierCart.setIsMember(shopEatTypeInfoDTO.isMemberPrice() && temporaryDishesDTO.getVipUserId() != null ? 1 : 0);
// tbCashierCart.setIsTemporary(1);
// tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
// cashierCartRepository.save(tbCashierCart);
//
// } else {
// tbCashierCart.setIsMember(temporaryDishesDTO.getVipUserId() == null ? 0 : 1);
// tbCashierCart.setNote(temporaryDishesDTO.getNote());
// tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice()));
// tbCashierCart.setPackFee(BigDecimal.ZERO);
// tbCashierCart.setIsPack("false");
// tbCashierCart.setIsGift("false");
// tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum());
// tbCashierCart.setNumber(temporaryDishesDTO.getNum());
// tbCashierCart.setUpdatedAt(DateUtil.current());
// tbCashierCart.setIsTemporary(1);
// tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
// cashierCartMapper.updateById(tbCashierCart);
// }
//
// if (StrUtil.isNotBlank(temporaryDishesDTO.getTableId())) {
// setRedisTableCartInfo(temporaryDishesDTO.getTableId(), temporaryDishesDTO.getShopId().toString(), Collections.singletonList(tbCashierCart), true);
// }
// return tbCashierCart;
return null;
}
private void setRedisTableCartInfo(String tableId, String shopId, List<TbCashierCart> tbCashierCartList, boolean isAdd) {
@@ -1639,7 +1640,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderDetail.setIsMember(cashierCart.getIsMember());
orderDetail.setIsPrint(cashierCart.getIsPrint());
orderDetail.setUseCouponInfo(cashierCart.getUseCouponInfo());
priceDTO.getOrderDetailList().add(orderDetail);
}
return priceDTO;
@@ -3062,30 +3062,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
}
@Override
public TbCashierCart updatePrice(UpdatePriceDTO updatePriceDTO) {
TbCashierCart cashierCart = mpCashierCartService.selectByShopIdAndId(updatePriceDTO.getShopId(), updatePriceDTO.getCartId(), TableConstant.OrderInfo.Status.CREATE);
if (cashierCart == null) {
throw new BadRequestException("购物车商品不存在");
}
if (updatePriceDTO.getSaleAmount().compareTo(cashierCart.getDiscountSaleAmount()) == 0) {
return cashierCart;
}
BigDecimal newTotalPrice = updatePriceDTO.getSaleAmount().multiply(cashierCart.getTotalNumber()).add(cashierCart.getPackFee());
BigDecimal oldAmount = cashierCart.getTotalAmount();
cashierCart.setTotalAmount(newTotalPrice);
cashierCart.setUpdatedAt(DateUtil.current());
cashierCart.setDiscountSaleNote(updatePriceDTO.getNote());
cashierCart.setDiscountSaleAmount(updatePriceDTO.getSaleAmount());
mpCashierCartService.updateById(cashierCart);
// 更新订单和detail价格
if (cashierCart.getOrderId() != null) {
mpOrderDetailService.updatePriceByCartId(cashierCart.getId(), updatePriceDTO.getSaleAmount(), newTotalPrice);
mpOrderInfoService.incrAmount(cashierCart.getOrderId(), newTotalPrice.subtract(oldAmount));
}
return cashierCart;
}
}