fix: 切换会员修改
This commit is contained in:
parent
4922d2d576
commit
2e5e7f2158
|
|
@ -7,6 +7,7 @@ import cn.ysk.cashier.pojo.order.TbFullOrderDetail;
|
||||||
import cn.ysk.cashier.pojo.order.TbOrderDetail;
|
import cn.ysk.cashier.pojo.order.TbOrderDetail;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -63,5 +64,19 @@ public interface MpOrderDetailService extends IService<TbOrderDetail> {
|
||||||
* @param orderId 订单id
|
* @param orderId 订单id
|
||||||
*/
|
*/
|
||||||
boolean updateStatusByOrderId(TableConstant.OrderInfo.Status status, Integer orderId);
|
boolean updateStatusByOrderId(TableConstant.OrderInfo.Status status, Integer orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据购物车id修改detail价格
|
||||||
|
* @param cartId 购物车id
|
||||||
|
* @param totalAmount 总价格
|
||||||
|
*/
|
||||||
|
boolean updatePriceByCartId(Integer cartId, BigDecimal saleAmount, BigDecimal totalAmount);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据会员id修改detail信息
|
||||||
|
* @param orderId 订单id
|
||||||
|
* @param isMember 会员id
|
||||||
|
*/
|
||||||
|
boolean updateMemberByOrderId(Integer orderId, boolean isMember);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -72,5 +73,20 @@ public class MpOrderDetailServiceImpl extends ServiceImpl<TbOrderDetailMapper, T
|
||||||
.eq(TbOrderDetail::getOrderId, orderId)
|
.eq(TbOrderDetail::getOrderId, orderId)
|
||||||
.set(TbOrderDetail::getStatus, status.getValue()));
|
.set(TbOrderDetail::getStatus, status.getValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updatePriceByCartId(Integer cartId, BigDecimal saleAmount, BigDecimal totalAmount) {
|
||||||
|
return update(new LambdaUpdateWrapper<TbOrderDetail>()
|
||||||
|
.eq(TbOrderDetail::getCartId, cartId)
|
||||||
|
.set(TbOrderDetail::getPrice, saleAmount)
|
||||||
|
.set(TbOrderDetail::getPriceAmount, totalAmount));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateMemberByOrderId(Integer orderId, boolean isMember) {
|
||||||
|
return update(new LambdaUpdateWrapper<TbOrderDetail>()
|
||||||
|
.eq(TbOrderDetail::getOrderId, orderId)
|
||||||
|
.set(TbOrderDetail::getIsMember, isMember ? 1 : 0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1210,9 +1210,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
public TbOrderInfo createOrder(CreateOrderDTO createOrderDTO, boolean byOrderId) {
|
public TbOrderInfo createOrder(CreateOrderDTO createOrderDTO, boolean byOrderId) {
|
||||||
createOrderDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(createOrderDTO.getUseType()) ? null : createOrderDTO.getTableId());
|
createOrderDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(createOrderDTO.getUseType()) ? null : createOrderDTO.getTableId());
|
||||||
return Utils.runFunAndCheckKey(() -> {
|
return Utils.runFunAndCheckKey(() -> {
|
||||||
TbShopInfo shopInfo = shopInfoRepository.findById(createOrderDTO.getShopId()).orElse(null);
|
|
||||||
if (shopInfo == null) throw new BadRequestException("店铺信息不存在");
|
|
||||||
|
|
||||||
TbShopUser shopUser = null;
|
TbShopUser shopUser = null;
|
||||||
if (createOrderDTO.getVipUserId() != null) {
|
if (createOrderDTO.getVipUserId() != null) {
|
||||||
shopUser = tbShopUserMapper.selectById(createOrderDTO.getVipUserId());
|
shopUser = tbShopUserMapper.selectById(createOrderDTO.getVipUserId());
|
||||||
|
|
@ -1243,7 +1240,8 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// 创建订单详情
|
// 创建订单详情
|
||||||
OrderPriceDTO detailPriceDTO = createOrderDetailWithCoupon(cartInfoDTO.getCashierCarts(), orderInfo, createOrderDTO.getShopId(), true, shopEatTypeInfoDTO);
|
OrderPriceDTO detailPriceDTO = createOrderDetailWithCoupon(cartInfoDTO.getCashierCarts(), orderInfo,
|
||||||
|
createOrderDTO.getShopId(), true, shopEatTypeInfoDTO);
|
||||||
|
|
||||||
// 是否是第一次创建订单
|
// 是否是第一次创建订单
|
||||||
orderInfo = createOrderWithAction(createOrderDTO, detailPriceDTO, shopEatTypeInfoDTO,
|
orderInfo = createOrderWithAction(createOrderDTO, detailPriceDTO, shopEatTypeInfoDTO,
|
||||||
|
|
@ -2392,10 +2390,11 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
@Transactional
|
@Transactional
|
||||||
public Object updateVip(UpdateVipDTO updateVipDTO) {
|
public Object updateVip(UpdateVipDTO updateVipDTO) {
|
||||||
Integer orderId = updateVipDTO.getOrderId();
|
Integer orderId = updateVipDTO.getOrderId();
|
||||||
|
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(updateVipDTO.getShopId(), updateVipDTO.getTableId());
|
||||||
if (orderId == null) {
|
if (orderId == null) {
|
||||||
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(updateVipDTO.getShopId(), updateVipDTO.getTableId());
|
|
||||||
List<TbCashierCart> tbCashierCarts = mpCashierCartService.selectByShopEatType(shopEatTypeInfoDTO, updateVipDTO.getMasterId());
|
List<TbCashierCart> tbCashierCarts = mpCashierCartService.selectByShopEatType(shopEatTypeInfoDTO, updateVipDTO.getMasterId());
|
||||||
for (TbCashierCart item : tbCashierCarts) {
|
for (TbCashierCart item : tbCashierCarts) {
|
||||||
|
item.setIsMember(!shopEatTypeInfoDTO.isMemberPrice() ? 0 : updateVipDTO.getType() == 0 ? 1 : 0);
|
||||||
if (item.getOrderId() != null) {
|
if (item.getOrderId() != null) {
|
||||||
orderId = item.getOrderId();
|
orderId = item.getOrderId();
|
||||||
}
|
}
|
||||||
|
|
@ -2423,20 +2422,26 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
throw new BadRequestException("用户信息不存在");
|
throw new BadRequestException("用户信息不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
if (orderId != null) {
|
||||||
.eq(TbOrderInfo::getId, orderId)
|
mpOrderDetailService.updateMemberByOrderId(orderId, shopEatTypeInfoDTO.isMemberPrice());
|
||||||
.set(TbOrderInfo::getUserId, shopUser.getUserId())
|
orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||||
.set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId()));
|
.eq(TbOrderInfo::getId, orderId)
|
||||||
|
.set(TbOrderInfo::getUserId, shopUser.getUserId())
|
||||||
|
.set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId()));
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
mpCashierCartService.updateMemberAndAmountByOrderId(orderId, false);
|
if (orderId != null) {
|
||||||
orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
mpOrderDetailService.updateMemberByOrderId(orderId, false);
|
||||||
.eq(TbOrderInfo::getId, orderId)
|
mpCashierCartService.updateMemberAndAmountByOrderId(orderId, false);
|
||||||
.set(TbOrderInfo::getUserId, null)
|
orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||||
.set(TbOrderInfo::getMemberId, null));
|
.eq(TbOrderInfo::getId, orderId)
|
||||||
|
.set(TbOrderInfo::getUserId, null)
|
||||||
|
.set(TbOrderInfo::getMemberId, null));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (dto != null) {
|
if (dto != null) {
|
||||||
dto.setVipUserId(updateVipDTO.getVipUserId());
|
dto.setVipUserId(updateVipDTO.getType() == 0 ? updateVipDTO.getVipUserId() : null);
|
||||||
return createOrder(dto, true);
|
return createOrder(dto, true);
|
||||||
}
|
}
|
||||||
return "哈哈哈";
|
return "哈哈哈";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue