Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -1722,4 +1722,31 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
mapper.updatePayOrderId(orderId, paymentId, payType, remark);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOrderDetailStatus(Long orderDetailId) {
|
||||
OrderDetail orderDetail = orderDetailService.getById(orderDetailId);
|
||||
if (orderDetail == null) {
|
||||
log.warn("订单详情不存在");
|
||||
}
|
||||
|
||||
if (!orderDetail.getSubStatus().equals(TableValueConstant.OrderDetail.SubStatus.READY_TO_SERVE.getCode())
|
||||
&& !orderDetail.getSubStatus().equals(TableValueConstant.OrderDetail.SubStatus.SENT_OUT.getCode())) {
|
||||
log.warn("订单详情状态不正确");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
switch (EnumUtil.fromString(TableValueConstant.OrderDetail.SubStatus.class, orderDetail.getSubStatus())) {
|
||||
case TableValueConstant.OrderDetail.SubStatus.READY_TO_SERVE:
|
||||
orderDetail.setSubStatus(TableValueConstant.OrderDetail.SubStatus.SENT_OUT.getCode());
|
||||
break;
|
||||
case TableValueConstant.OrderDetail.SubStatus.SENT_OUT:
|
||||
orderDetail.setSubStatus(TableValueConstant.OrderDetail.SubStatus.DELIVERED.getCode());
|
||||
|
||||
}
|
||||
orderDetailService.updateById(orderDetail);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,5 +99,27 @@ public class FunUtil {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 防抖函数:在指定秒数内相同 Key 的任务只会执行一次
|
||||
* @param key 防抖使用的 Redis Key
|
||||
* @param seconds 防抖时间(秒)
|
||||
* @param task 要执行的业务逻辑
|
||||
* @return true 执行了任务;false 在防抖期内被拦截
|
||||
*/
|
||||
public boolean debounce(String key, long seconds, Runnable task) {
|
||||
try {
|
||||
Boolean success = redisTemplate.opsForValue().setIfAbsent(
|
||||
key, "1", seconds, TimeUnit.SECONDS
|
||||
);
|
||||
|
||||
if (Boolean.TRUE.equals(success)) {
|
||||
task.run();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} catch (Exception e) {
|
||||
log.error("防抖函数执行失败 key={} err={}", key, e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user