fix: 临时菜修改

This commit is contained in:
张松 2024-11-26 15:29:34 +08:00
parent d2fb6d5b98
commit a4e98bada8
2 changed files with 32 additions and 52 deletions

View File

@ -252,8 +252,6 @@ public class TbPlaceController {
/**
* 美团核销
* @param checkDTO
* @return
*/
@PostMapping("checkCoupon")
public ResponseEntity<Object> checkCoupon(@Validated @RequestBody ThirdCouponCheckDTO checkDTO) {

View File

@ -636,51 +636,33 @@ public class TbShopTableServiceImpl implements TbShopTableService {
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);
//
TbCashierCart 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);
if (StrUtil.isNotBlank(temporaryDishesDTO.getTableId())) {
setRedisTableCartInfo(temporaryDishesDTO.getTableId(), temporaryDishesDTO.getShopId().toString(), Collections.singletonList(tbCashierCart), true);
@ -2118,14 +2100,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
return productDiscount;
}
private void updateOrderDetailCanReturn(List<TbOrderDetail> orderDetailList, TbOrderInfo orderInfo) {
private void updateOrderDetailCanReturn(List<TbOrderDetail> orderDetailList, TbOrderInfo orderInfo) {
orderDetailList = orderDetailList.stream().filter(item -> TableConstant.OrderInfo.Status.UNPAID.equalsVals(item.getStatus())).collect(Collectors.toList());
BigDecimal totalAmount = BigDecimal.ZERO;
BigDecimal lastAmount = BigDecimal.ZERO;
BigDecimal lastReturnAmount = BigDecimal.ZERO;
BigDecimal orderAmount = orderInfo.getOrderAmount();
for (TbOrderDetail orderDetail : orderDetailList) {
totalAmount = totalAmount.add(orderDetail.getPriceAmount());
totalAmount = totalAmount.add(orderDetail.getPriceAmount());
}
for (TbOrderDetail item : orderDetailList) {
if (StrUtil.isNotBlank(orderInfo.getCouponInfoList()) || orderInfo.getPointsNum() != null) {
@ -2134,7 +2116,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
lastReturnAmount = canReturnAmount;
lastAmount = item.getPriceAmount();
item.setCanReturnAmount(canReturnAmount);
}else {
} else {
item.setCanReturnAmount(item.getPriceAmount());
}
}
@ -2323,7 +2305,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
case "deposit":
orderInfo = tbPayServiceImpl.memberAccountPay("", String.valueOf(payDTO.getShopId()), payDTO.getCode(), orderInfo, finalAmount);
break;
// 团购券支付
// 团购券支付
case "partyCoupon":
if (payDTO.getNum() == null || payDTO.getNum() < 1) {
throw new BadRequestException("团购券核销数量有误");
@ -2879,7 +2861,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (remainNum.compareTo(BigDecimal.ZERO) <= 0) {
returnAmount = orderDetail.getPriceAmount();
packAMount = orderDetail.getPackAmount();
}else {
} else {
currentDetailAMount = orderDetail.getPriceAmount()
.divide(orderDetail.getNum(), 8, RoundingMode.HALF_UP)
.multiply(returnNum).setScale(2, RoundingMode.HALF_UP);
@ -3175,7 +3157,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (cashierCart.getSalePrice().subtract(updatePriceDTO.getSaleAmount()).compareTo(BigDecimal.ZERO) < 0) {
throw new BadRequestException("折扣金额不能超过单价");
}
}else {
} else {
if (cashierCart.getMemberPrice().subtract(updatePriceDTO.getSaleAmount()).compareTo(BigDecimal.ZERO) < 0) {
throw new BadRequestException("折扣金额不能超过单价");
}