fix: 创建订单会员价计算有误修复
This commit is contained in:
@@ -72,6 +72,6 @@ public interface MpCashierCartService extends IService<TbCashierCart> {
|
||||
List<TbCashierCart> selectByOrderIdAndState(Integer orderId, TableConstant.OrderInfo.Status status);
|
||||
|
||||
|
||||
boolean updateMemberByOrderId(Integer orderId, boolean isMember);
|
||||
boolean updateMemberAndAmountByOrderId(Integer orderId, boolean isMember);
|
||||
}
|
||||
|
||||
|
||||
@@ -99,9 +99,10 @@ public class MpCashierCartServiceImpl extends ServiceImpl<TbCashierCartMapper, T
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateMemberByOrderId(Integer orderId, boolean isMember) {
|
||||
public boolean updateMemberAndAmountByOrderId(Integer orderId, boolean isMember) {
|
||||
return update(new LambdaUpdateWrapper<TbCashierCart>()
|
||||
.eq(TbCashierCart::getOrderId, orderId)
|
||||
.setSql(StrUtil.format("total_amount=total_number*{}", isMember ? "member_price" : "sale_price"))
|
||||
.set(TbCashierCart::getIsMember, isMember ? 1 : 0));
|
||||
}
|
||||
|
||||
|
||||
@@ -1423,7 +1423,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
priceDTO.setOriginAmount(priceDTO.getOriginAmount().add(cashierCart.getTotalAmount()));
|
||||
}
|
||||
|
||||
|
||||
TbProductSku productSku = productSkuRepository.findById(Integer.valueOf(cashierCart.getSkuId())).orElse(null);
|
||||
TbOrderDetail orderDetail = null;
|
||||
if (cashierCart.getOrderId() != null) {
|
||||
@@ -1991,8 +1990,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
|
||||
// 计算优惠券价格信息
|
||||
if (payDTO.getVipUserId() == null) {
|
||||
|
||||
payDTO.setVipUserId(Integer.valueOf(orderInfo.getMemberId()));
|
||||
payDTO.setVipUserId(orderInfo.getMemberId() != null ? Integer.valueOf(orderInfo.getMemberId()) : null);
|
||||
}
|
||||
|
||||
|
||||
@@ -2182,17 +2180,22 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
}
|
||||
|
||||
if (updateVipDTO.getType() == 0) {
|
||||
TbOrderInfo orderInfo = mpOrderInfoService.getById(orderId);
|
||||
if(TableConstant.OrderInfo.Status.UNPAID.equalsVals(orderInfo.getStatus())) {
|
||||
throw new BadRequestException("订单状态异常");
|
||||
}
|
||||
|
||||
TbShopUser shopUser = tbShopUserMapper.selectById(updateVipDTO.getVipUserId());
|
||||
if (shopUser == null) {
|
||||
throw new BadRequestException("用户信息不存在");
|
||||
}
|
||||
mpCashierCartService.updateMemberByOrderId(orderId, true);
|
||||
|
||||
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||
.eq(TbOrderInfo::getId, orderId)
|
||||
.set(TbOrderInfo::getUserId, shopUser.getUserId())
|
||||
.set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId()));
|
||||
} else {
|
||||
mpCashierCartService.updateMemberByOrderId(orderId, false);
|
||||
mpCashierCartService.updateMemberAndAmountByOrderId(orderId, false);
|
||||
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||
.eq(TbOrderInfo::getId, orderId)
|
||||
.set(TbOrderInfo::getUserId, null)
|
||||
|
||||
Reference in New Issue
Block a user