新客立减修改
This commit is contained in:
parent
017cf6656b
commit
46faa2cf16
|
|
@ -122,48 +122,53 @@ public class MkShopConsumeDiscountRecordServiceImpl extends ServiceImpl<MkShopCo
|
||||||
log.info("新客立减仅限新用户使用");
|
log.info("新客立减仅限新用户使用");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
MkConsumeDiscountVO consumeDiscountVO = canUse(shopId, userId);
|
try {
|
||||||
|
MkConsumeDiscountVO consumeDiscountVO = canUse(shopId, userId);
|
||||||
|
|
||||||
DateTime now = DateUtil.date();
|
DateTime now = DateUtil.date();
|
||||||
|
|
||||||
if (!now.isAfterOrEquals(DateUtil.date(consumeDiscountVO.getStartTime())) || !now.isBeforeOrEquals(DateUtil.date(consumeDiscountVO.getEndTime()))) {
|
if (!now.isAfterOrEquals(DateUtil.date(consumeDiscountVO.getStartTime())) || !now.isBeforeOrEquals(DateUtil.date(consumeDiscountVO.getEndTime()))) {
|
||||||
log.info("此时间段未开启新客立减");
|
log.info("此时间段未开启新客立减");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
MkShopConsumeDiscountRecord shopConsumeDiscountRecord = new MkShopConsumeDiscountRecord();
|
MkShopConsumeDiscountRecord shopConsumeDiscountRecord = new MkShopConsumeDiscountRecord();
|
||||||
shopConsumeDiscountRecord.setShopId(shopId);
|
shopConsumeDiscountRecord.setShopId(shopId);
|
||||||
shopConsumeDiscountRecord.setShopUserId(shopUser.getId());
|
shopConsumeDiscountRecord.setShopUserId(shopUser.getId());
|
||||||
shopConsumeDiscountRecord.setOrderId(orderId);
|
shopConsumeDiscountRecord.setOrderId(orderId);
|
||||||
shopConsumeDiscountRecord.setConsumeDiscountId(consumeDiscountVO.getId());
|
shopConsumeDiscountRecord.setConsumeDiscountId(consumeDiscountVO.getId());
|
||||||
|
|
||||||
// 固定金额
|
// 固定金额
|
||||||
if (TableValueConstant.ConsumeDiscount.DiscountType.FIXED.getCode().equals(consumeDiscountVO.getDiscountType())) {
|
if (TableValueConstant.ConsumeDiscount.DiscountType.FIXED.getCode().equals(consumeDiscountVO.getDiscountType())) {
|
||||||
shopConsumeDiscountRecord.setAmount(consumeDiscountVO.getDiscountAmount());
|
shopConsumeDiscountRecord.setAmount(consumeDiscountVO.getDiscountAmount());
|
||||||
save(shopConsumeDiscountRecord);
|
|
||||||
return shopConsumeDiscountRecord;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 随机金额(概率加起来是100)
|
|
||||||
List<MkConsumeDiscountRandom> randomList = consumeDiscountVO.getRandomDiscountList();
|
|
||||||
if (randomList == null || randomList.isEmpty()) {
|
|
||||||
throw new ApiNotPrintException("随机立减配置错误");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 生成 1~100 的随机数
|
|
||||||
int rand = new Random().nextInt(100) + 1;
|
|
||||||
int current = 0;
|
|
||||||
|
|
||||||
for (MkConsumeDiscountRandom item : randomList) {
|
|
||||||
int prob = item.getProbability().intValue();
|
|
||||||
current += prob;
|
|
||||||
if (rand <= current) {
|
|
||||||
shopConsumeDiscountRecord.setAmount(item.getAmount());
|
|
||||||
save(shopConsumeDiscountRecord);
|
save(shopConsumeDiscountRecord);
|
||||||
return shopConsumeDiscountRecord;
|
return shopConsumeDiscountRecord;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
throw new ApiNotPrintException("随机立减计算失败");
|
// 随机金额(概率加起来是100)
|
||||||
|
List<MkConsumeDiscountRandom> randomList = consumeDiscountVO.getRandomDiscountList();
|
||||||
|
if (randomList == null || randomList.isEmpty()) {
|
||||||
|
throw new ApiNotPrintException("随机立减配置错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成 1~100 的随机数
|
||||||
|
int rand = new Random().nextInt(100) + 1;
|
||||||
|
int current = 0;
|
||||||
|
|
||||||
|
for (MkConsumeDiscountRandom item : randomList) {
|
||||||
|
int prob = item.getProbability().intValue();
|
||||||
|
current += prob;
|
||||||
|
if (rand <= current) {
|
||||||
|
shopConsumeDiscountRecord.setAmount(item.getAmount());
|
||||||
|
save(shopConsumeDiscountRecord);
|
||||||
|
return shopConsumeDiscountRecord;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new ApiNotPrintException("随机立减计算失败");
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.info(e.getMessage());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue