fix: 临时菜修改
This commit is contained in:
parent
d2fb6d5b98
commit
a4e98bada8
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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("折扣金额不能超过单价");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue