perf:下单优化

This commit is contained in:
xiang
2026-01-20 22:17:15 +08:00
parent 8514eac031
commit 0d2ae54678
3 changed files with 22 additions and 10 deletions

View File

@@ -12,6 +12,7 @@ import com.xiang.app.modules.jntyzx.manage.IOrderCreateInfoManage;
import com.xiang.app.modules.jntyzx.service.IJntyzxHttpService; import com.xiang.app.modules.jntyzx.service.IJntyzxHttpService;
import com.xiang.app.modules.jntyzx.service.IJtOrderService; import com.xiang.app.modules.jntyzx.service.IJtOrderService;
import com.xiang.xmc.service.cache.service.IRedisService; import com.xiang.xmc.service.cache.service.IRedisService;
import com.xiang.xservice.basic.exception.BusinessException;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -74,10 +75,12 @@ public class OrderInfoServiceImpl implements IJtOrderService {
} else { } else {
dingTalkFactory.sendMsg("用户" + userTokenInfoDO.getName() + "预订场地号:" + venueInfoDOS.get(0).getPlaceName() + "结果返回:" + JSON.toJSONString(orderResp)); dingTalkFactory.sendMsg("用户" + userTokenInfoDO.getName() + "预订场地号:" + venueInfoDOS.get(0).getPlaceName() + "结果返回:" + JSON.toJSONString(orderResp));
if (orderResp.getMessage().contains("锁卡")) { if (orderResp.getMessage().contains("锁卡")) {
return true; log.info("有锁卡风险,不在请求,用户:{}", userTokenInfoDO.getName());
throw new BusinessException("即将锁卡,不再请求");
} }
if (orderResp.getMessage().contains("限制")) { if (orderResp.getMessage().contains("限制")) {
return true; log.info("改会员卡被限制,不在请求,用户:{}", userTokenInfoDO.getName());
throw new BusinessException("会员卡被限制,不在请求");
} }
return false; return false;
} }

View File

@@ -72,6 +72,8 @@ public class UserTokenInfoServiceImpl implements IUserTokenInfoService {
return true; return true;
} }
userTokenInfoDOS.parallelStream().forEach(this::healthDeclaration); userTokenInfoDOS.parallelStream().forEach(this::healthDeclaration);
// 信息更新
userTokenInfoDOS = userTokenInfoManage.list();
userTokenInfoDOS.parallelStream().forEach(this::queryMemberCardInfo); userTokenInfoDOS.parallelStream().forEach(this::queryMemberCardInfo);
return true; return true;
} }

View File

@@ -48,16 +48,23 @@ public class JtVenueSubscribeTask {
log.info("暂无可下单场地time:{}", System.currentTimeMillis()); log.info("暂无可下单场地time:{}", System.currentTimeMillis());
return; return;
} }
venueInfoMap.keySet().parallelStream().forEach(placeName -> {
List<VenueInfoDO> venueInfoDOList = venueInfoMap.get(placeName); users.parallelStream().forEach(user -> {
users.forEach(user -> { try {
for (int i = 0; i < 10; i++) { for (String placeName : venueInfoMap.keySet()) {
boolean order = jtOrderService.createOrder(venueInfoDOList, user); List<VenueInfoDO> venueInfoDOList = venueInfoMap.get(placeName);
if (order) { for (int i = 0; i < 10; i++) {
return; boolean order = jtOrderService.createOrder(venueInfoDOList, user);
if (order) {
return;
}
} }
} }
}); } catch (Exception e) {
// 关键点:异常只影响当前 user
log.error("createOrder 异常user={}", user.getId(), e);
return; // 结束这个 user不影响其他 user
}
}); });
} }
} }