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") @PostMapping("checkCoupon")
public ResponseEntity<Object> checkCoupon(@Validated @RequestBody ThirdCouponCheckDTO checkDTO) { public ResponseEntity<Object> checkCoupon(@Validated @RequestBody ThirdCouponCheckDTO checkDTO) {

View File

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