|
@@ -9,6 +9,7 @@ import org.dromara.backstage.api.domain.vo.RemoteDiscountVo;
|
|
|
import org.dromara.backstage.api.domain.vo.RemoteLimitedVo;
|
|
import org.dromara.backstage.api.domain.vo.RemoteLimitedVo;
|
|
|
import org.dromara.backstage.api.domain.vo.RemoteQuotaVo;
|
|
import org.dromara.backstage.api.domain.vo.RemoteQuotaVo;
|
|
|
import org.dromara.common.core.constant.CacheNames;
|
|
import org.dromara.common.core.constant.CacheNames;
|
|
|
|
|
+import org.dromara.common.json.utils.JsonUtils;
|
|
|
import org.dromara.common.redis.utils.RedisUtils;
|
|
import org.dromara.common.redis.utils.RedisUtils;
|
|
|
import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
|
|
import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
|
|
|
import org.dromara.server.common.util.CardDateUtils;
|
|
import org.dromara.server.common.util.CardDateUtils;
|
|
@@ -133,13 +134,14 @@ public class CardConsumeValidationContext {
|
|
|
context.lastPayTime = CardDateUtils.toLocalDateTime(bo.getConsumeDate());
|
|
context.lastPayTime = CardDateUtils.toLocalDateTime(bo.getConsumeDate());
|
|
|
|
|
|
|
|
// 从缓存获取卡片限制数据
|
|
// 从缓存获取卡片限制数据
|
|
|
- context.cardLimitedVo = RedisUtils.getCacheMapValue(CacheNames.T_XF_CARD_LIMITED, String.valueOf(userCardVo.getCardNo()));
|
|
|
|
|
|
|
+ String strCardNo = String.valueOf(userCardVo.getCardNo());
|
|
|
|
|
+ context.cardLimitedVo = JsonUtils.parseObject(RedisUtils.getCacheMapValue(CacheNames.T_XF_CARD_LIMITED, strCardNo).toString(), XfCardLimitedVo.class);
|
|
|
// 如果缓存中没有则初始化为当天当餐
|
|
// 如果缓存中没有则初始化为当天当餐
|
|
|
if (ObjectUtil.isEmpty(context.cardLimitedVo)) {
|
|
if (ObjectUtil.isEmpty(context.cardLimitedVo)) {
|
|
|
context.cardLimitedVo = initXfCardLimited(context.cardNo, context.consumeDate, context.lastMeal);
|
|
context.cardLimitedVo = initXfCardLimited(context.cardNo, context.consumeDate, context.lastMeal);
|
|
|
}
|
|
}
|
|
|
LocalDateTime lastPayLimitLocalDt = CardDateUtils.toLocalDateTime(context.cardLimitedVo.getLastPay());
|
|
LocalDateTime lastPayLimitLocalDt = CardDateUtils.toLocalDateTime(context.cardLimitedVo.getLastPay());
|
|
|
- log.info("limit-last-pay:{},consumeDate:{}", context.cardLimitedVo.getLastPay(), context.lastPayTime.toLocalDate());
|
|
|
|
|
|
|
+ log.info("limit-last-pay:{},consumeDate:{}", lastPayLimitLocalDt.toLocalDate(), context.lastPayTime.toLocalDate());
|
|
|
if (!lastPayLimitLocalDt.toLocalDate().isEqual(context.lastPayTime.toLocalDate())) {
|
|
if (!lastPayLimitLocalDt.toLocalDate().isEqual(context.lastPayTime.toLocalDate())) {
|
|
|
// 如果和消费时间不是同天,初始化为当天
|
|
// 如果和消费时间不是同天,初始化为当天
|
|
|
initCardDayLimitedData(context.cardLimitedVo, Long.valueOf(context.lastMeal), context.consumeDate);
|
|
initCardDayLimitedData(context.cardLimitedVo, Long.valueOf(context.lastMeal), context.consumeDate);
|