Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
82d7389092
@ -25,6 +25,11 @@ public enum PromotionTypeEnum {
|
|||||||
*/
|
*/
|
||||||
public static final PromotionTypeEnum[] haveStockPromotion = new PromotionTypeEnum[]{PINTUAN, SECKILL, KANJIA, POINTS_GOODS};
|
public static final PromotionTypeEnum[] haveStockPromotion = new PromotionTypeEnum[]{PINTUAN, SECKILL, KANJIA, POINTS_GOODS};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有独立促销库存的活动类型
|
||||||
|
*/
|
||||||
|
public static final PromotionTypeEnum[] haveIndependanceStockPromotion = new PromotionTypeEnum[]{SECKILL};
|
||||||
|
|
||||||
private final String description;
|
private final String description;
|
||||||
|
|
||||||
PromotionTypeEnum(String description) {
|
PromotionTypeEnum(String description) {
|
||||||
|
@ -138,17 +138,18 @@ public class DistributionCashServiceImpl extends ServiceImpl<DistributionCashMap
|
|||||||
distribution.setCanRebate(CurrencyUtil.add(distribution.getCanRebate(), distributorCash.getPrice()));
|
distribution.setCanRebate(CurrencyUtil.add(distribution.getCanRebate(), distributorCash.getPrice()));
|
||||||
distributorCash.setDistributionCashStatus(WithdrawStatusEnum.FAIL_AUDITING.name());
|
distributorCash.setDistributionCashStatus(WithdrawStatusEnum.FAIL_AUDITING.name());
|
||||||
}
|
}
|
||||||
|
distribution.setCommissionFrozen(CurrencyUtil.sub(distribution.getCommissionFrozen(), distributorCash.getPrice()));
|
||||||
//分销员金额相关处理
|
//分销员金额相关处理
|
||||||
distributionService.updateById(distribution);
|
distributionService.updateById(distribution);
|
||||||
//修改分销提现申请
|
//修改分销提现申请
|
||||||
boolean bool = this.updateById(distributorCash);
|
boolean bool = this.updateById(distributorCash);
|
||||||
if (bool) {
|
//if (bool) {
|
||||||
//组织会员提现审核消息
|
// //组织会员提现审核消息
|
||||||
memberWithdrawalMessage.setMemberId(distribution.getMemberId());
|
// memberWithdrawalMessage.setMemberId(distribution.getMemberId());
|
||||||
memberWithdrawalMessage.setPrice(distributorCash.getPrice());
|
// memberWithdrawalMessage.setPrice(distributorCash.getPrice());
|
||||||
String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_WITHDRAWAL.name();
|
// String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_WITHDRAWAL.name();
|
||||||
rocketMQTemplate.asyncSend(destination, memberWithdrawalMessage, RocketmqSendCallbackBuilder.commonCallback());
|
// rocketMQTemplate.asyncSend(destination, memberWithdrawalMessage, RocketmqSendCallbackBuilder.commonCallback());
|
||||||
}
|
//}
|
||||||
return distributorCash;
|
return distributorCash;
|
||||||
}
|
}
|
||||||
throw new ServiceException(ResultCode.DISTRIBUTION_NOT_EXIST);
|
throw new ServiceException(ResultCode.DISTRIBUTION_NOT_EXIST);
|
||||||
|
@ -172,6 +172,13 @@ public class OrderItem extends BaseEntity {
|
|||||||
return isRefund;
|
return isRefund;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double getRefundPrice() {
|
||||||
|
if (refundPrice == null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return refundPrice;
|
||||||
|
}
|
||||||
|
|
||||||
public PriceDetailDTO getPriceDetailDTO() {
|
public PriceDetailDTO getPriceDetailDTO() {
|
||||||
return JSONUtil.toBean(priceDetail, PriceDetailDTO.class);
|
return JSONUtil.toBean(priceDetail, PriceDetailDTO.class);
|
||||||
}
|
}
|
||||||
|
@ -271,6 +271,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
queryWrapper.eq(Order::getPromotionId, pintuanId);
|
queryWrapper.eq(Order::getPromotionId, pintuanId);
|
||||||
queryWrapper.nested(i -> i.eq(Order::getPayStatus, PayStatusEnum.PAID.name()).or(j -> j.eq(Order::getOrderStatus,
|
queryWrapper.nested(i -> i.eq(Order::getPayStatus, PayStatusEnum.PAID.name()).or(j -> j.eq(Order::getOrderStatus,
|
||||||
OrderStatusEnum.PAID.name())));
|
OrderStatusEnum.PAID.name())));
|
||||||
|
queryWrapper.ne(Order::getOrderStatus, OrderStatusEnum.CANCELLED.name());
|
||||||
return this.list(queryWrapper);
|
return this.list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -302,7 +303,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
Order order = OperationalJudgment.judgment(this.getBySn(orderSn));
|
Order order = OperationalJudgment.judgment(this.getBySn(orderSn));
|
||||||
//如果订单促销类型不为空&&订单是拼团订单,并且订单未成团,则抛出异常
|
//如果订单促销类型不为空&&订单是拼团订单,并且订单未成团,则抛出异常
|
||||||
if (OrderPromotionTypeEnum.PINTUAN.name().equals(order.getOrderPromotionType())
|
if (OrderPromotionTypeEnum.PINTUAN.name().equals(order.getOrderPromotionType())
|
||||||
&& !CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.UNDELIVERED.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
&& !CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.UNDELIVERED.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
||||||
throw new ServiceException(ResultCode.ORDER_CAN_NOT_CANCEL);
|
throw new ServiceException(ResultCode.ORDER_CAN_NOT_CANCEL);
|
||||||
}
|
}
|
||||||
if (CharSequenceUtil.equalsAny(order.getOrderStatus(),
|
if (CharSequenceUtil.equalsAny(order.getOrderStatus(),
|
||||||
@ -1011,6 +1012,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
//拼团sn=开团订单sn 或者 参团订单的开团订单sn
|
//拼团sn=开团订单sn 或者 参团订单的开团订单sn
|
||||||
queryWrapper.and(i -> i.eq(Order::getSn, parentOrderSn)
|
queryWrapper.and(i -> i.eq(Order::getSn, parentOrderSn)
|
||||||
.or(j -> j.eq(Order::getParentOrderSn, parentOrderSn)));
|
.or(j -> j.eq(Order::getParentOrderSn, parentOrderSn)));
|
||||||
|
queryWrapper.ne(Order::getOrderStatus, OrderStatusEnum.CANCELLED.name());
|
||||||
//参团后的订单数(人数)
|
//参团后的订单数(人数)
|
||||||
return this.list(queryWrapper);
|
return this.list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
@ -195,10 +195,10 @@ public class PromotionGoodsServiceImpl extends ServiceImpl<PromotionGoodsMapper,
|
|||||||
@Override
|
@Override
|
||||||
public Integer getPromotionGoodsStock(PromotionTypeEnum typeEnum, String promotionId, String skuId) {
|
public Integer getPromotionGoodsStock(PromotionTypeEnum typeEnum, String promotionId, String skuId) {
|
||||||
String promotionStockKey = PromotionGoodsService.getPromotionGoodsStockCacheKey(typeEnum, promotionId, skuId);
|
String promotionStockKey = PromotionGoodsService.getPromotionGoodsStockCacheKey(typeEnum, promotionId, skuId);
|
||||||
String promotionGoodsStock = stringRedisTemplate.opsForValue().get(promotionStockKey);
|
Object promotionGoodsStock = cache.get(promotionStockKey);
|
||||||
|
|
||||||
//库存如果不为空,则直接返回
|
//库存如果不为空,则直接返回
|
||||||
if (promotionGoodsStock != null && CharSequenceUtil.isNotEmpty(promotionGoodsStock)) {
|
if (promotionGoodsStock != null) {
|
||||||
return Convert.toInt(promotionGoodsStock);
|
return Convert.toInt(promotionGoodsStock);
|
||||||
}
|
}
|
||||||
//如果为空
|
//如果为空
|
||||||
@ -213,7 +213,7 @@ public class PromotionGoodsServiceImpl extends ServiceImpl<PromotionGoodsMapper,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
//否则写入新的促销商品库存
|
//否则写入新的促销商品库存
|
||||||
stringRedisTemplate.opsForValue().set(promotionStockKey, promotionGoods.getQuantity().toString());
|
cache.put(promotionStockKey, promotionGoods.getQuantity());
|
||||||
return promotionGoods.getQuantity();
|
return promotionGoods.getQuantity();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -269,7 +269,7 @@ public class PromotionGoodsServiceImpl extends ServiceImpl<PromotionGoodsMapper,
|
|||||||
updateWrapper.set(PromotionGoods::getQuantity, promotionGoods.getQuantity()).set(PromotionGoods::getNum, promotionGoods.getNum());
|
updateWrapper.set(PromotionGoods::getQuantity, promotionGoods.getQuantity()).set(PromotionGoods::getNum, promotionGoods.getNum());
|
||||||
|
|
||||||
this.update(updateWrapper);
|
this.update(updateWrapper);
|
||||||
stringRedisTemplate.opsForValue().set(promotionStockKey, promotionGoods.getQuantity().toString());
|
cache.put(promotionStockKey, promotionGoods.getQuantity());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,12 +277,14 @@ public class PromotionGoodsServiceImpl extends ServiceImpl<PromotionGoodsMapper,
|
|||||||
@SystemLogPoint(description = "更新促销活动商品库存", customerLog = "'操作的skuId:['+#skuId+'],修改后的库存:['+#quantity+']'")
|
@SystemLogPoint(description = "更新促销活动商品库存", customerLog = "'操作的skuId:['+#skuId+'],修改后的库存:['+#quantity+']'")
|
||||||
public void updatePromotionGoodsStock(String skuId, Integer quantity) {
|
public void updatePromotionGoodsStock(String skuId, Integer quantity) {
|
||||||
LambdaQueryWrapper<PromotionGoods> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PromotionGoods> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.notIn(PromotionGoods::getPromotionType, Arrays.stream(PromotionTypeEnum.haveIndependanceStockPromotion).map(Enum::name).collect(Collectors.toList()));
|
||||||
queryWrapper.eq(PromotionGoods::getSkuId, skuId);
|
queryWrapper.eq(PromotionGoods::getSkuId, skuId);
|
||||||
this.list(queryWrapper).forEach(promotionGoods -> {
|
this.list(queryWrapper).forEach(promotionGoods -> {
|
||||||
String promotionStockKey = PromotionGoodsService.getPromotionGoodsStockCacheKey(PromotionTypeEnum.valueOf(promotionGoods.getPromotionType()), promotionGoods.getPromotionId(), promotionGoods.getSkuId());
|
String promotionStockKey = PromotionGoodsService.getPromotionGoodsStockCacheKey(PromotionTypeEnum.valueOf(promotionGoods.getPromotionType()), promotionGoods.getPromotionId(), promotionGoods.getSkuId());
|
||||||
cache.remove(promotionStockKey);
|
cache.remove(promotionStockKey);
|
||||||
});
|
});
|
||||||
LambdaUpdateWrapper<PromotionGoods> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<PromotionGoods> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.notIn(PromotionGoods::getPromotionType, Arrays.stream(PromotionTypeEnum.haveIndependanceStockPromotion).map(Enum::name).collect(Collectors.toList()));
|
||||||
updateWrapper.eq(PromotionGoods::getSkuId, skuId);
|
updateWrapper.eq(PromotionGoods::getSkuId, skuId);
|
||||||
updateWrapper.set(PromotionGoods::getQuantity, quantity);
|
updateWrapper.set(PromotionGoods::getQuantity, quantity);
|
||||||
this.update(updateWrapper);
|
this.update(updateWrapper);
|
||||||
|
@ -393,15 +393,6 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
|
|||||||
goodsVO.setGoodsImage(goodsSku.getThumbnail());
|
goodsVO.setGoodsImage(goodsSku.getThumbnail());
|
||||||
goodsVO.setGoodsId(goodsSku.getGoodsId());
|
goodsVO.setGoodsId(goodsSku.getGoodsId());
|
||||||
goodsVO.setGoodsName(goodsSku.getGoodsName());
|
goodsVO.setGoodsName(goodsSku.getGoodsName());
|
||||||
String promotionGoodsStockCacheKey = PromotionGoodsService.getPromotionGoodsStockCacheKey(
|
|
||||||
PromotionTypeEnum.SECKILL,
|
|
||||||
seckillId, seckillApply.getSkuId());
|
|
||||||
Object quantity = cache.get(promotionGoodsStockCacheKey);
|
|
||||||
if (quantity != null) {
|
|
||||||
goodsVO.setQuantity((Integer) quantity);
|
|
||||||
} else {
|
|
||||||
cache.put(promotionGoodsStockCacheKey, seckillApply.getQuantity());
|
|
||||||
}
|
|
||||||
seckillGoodsVoS.add(goodsVO);
|
seckillGoodsVoS.add(goodsVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,10 +15,20 @@ public enum WithdrawStatusEnum {
|
|||||||
* 审核成功即提现成功
|
* 审核成功即提现成功
|
||||||
*/
|
*/
|
||||||
VIA_AUDITING("审核通过"),
|
VIA_AUDITING("审核通过"),
|
||||||
|
/**
|
||||||
|
* 分销提现
|
||||||
|
* 审核成功即提现成功
|
||||||
|
*/
|
||||||
|
D_VIA_AUDITING("分销提现审核通过"),
|
||||||
/**
|
/**
|
||||||
* 审核未通过
|
* 审核未通过
|
||||||
*/
|
*/
|
||||||
FAIL_AUDITING("审核未通过"),
|
FAIL_AUDITING("审核未通过"),
|
||||||
|
/**
|
||||||
|
* 分销提现
|
||||||
|
* 审核未通过
|
||||||
|
*/
|
||||||
|
D_FAIL_AUDITING("分销提现审核未通过"),
|
||||||
/**
|
/**
|
||||||
* 提现成功
|
* 提现成功
|
||||||
*/
|
*/
|
||||||
|
@ -23,6 +23,10 @@ public enum MemberTagsEnum {
|
|||||||
* 会员提现
|
* 会员提现
|
||||||
*/
|
*/
|
||||||
MEMBER_WITHDRAWAL("会员提现"),
|
MEMBER_WITHDRAWAL("会员提现"),
|
||||||
|
/**
|
||||||
|
* 会员提现
|
||||||
|
*/
|
||||||
|
DISTRIBUTION_WITHDRAWAL("分销提现"),
|
||||||
/**
|
/**
|
||||||
* 会员信息更改
|
* 会员信息更改
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user