perf:下单优化
This commit is contained in:
@@ -31,7 +31,7 @@ public interface IPerformServiceHttp {
|
||||
* @param req 创建请求参数
|
||||
* @return ProjectOrderCreateResp
|
||||
*/
|
||||
ProjectOrderCreateResp createProjectOrder(ProjectOrderCreateReq req);
|
||||
ProjectOrderCreateResp createProjectOrder(ProjectOrderCreateReq req, String token);
|
||||
|
||||
/**
|
||||
* http请求查询演出票务信息
|
||||
|
||||
@@ -85,8 +85,8 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectOrderCreateResp createProjectOrder(ProjectOrderCreateReq req) {
|
||||
String respStr = HttpUtils.doPost(UrlConstants.PROJECT_ORDER_CREATE_URL, buildFWDHeaders(UrlConstants.token), JsonUtils.toJsonString(req));
|
||||
public ProjectOrderCreateResp createProjectOrder(ProjectOrderCreateReq req, String token) {
|
||||
String respStr = HttpUtils.doPost(UrlConstants.PROJECT_ORDER_CREATE_URL, buildFWDHeaders(token), JsonUtils.toJsonString(req));
|
||||
if (StringUtils.isBlank(respStr)) {
|
||||
return null;
|
||||
}
|
||||
@@ -100,14 +100,6 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
|
||||
}
|
||||
return projectOrderCreateResp;
|
||||
}
|
||||
if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.LIMIT)) {
|
||||
try {
|
||||
Thread.sleep(60000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -180,16 +172,19 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
|
||||
|
||||
private Map<String, String> buildFWDHeaders(String token) {
|
||||
Map<String, String> headers = Maps.newHashMap();
|
||||
headers.put("content-type", "application/json");
|
||||
headers.put("Host", "api.livelab.com.cn");
|
||||
headers.put("Connection", "keep-alive");
|
||||
headers.put("Content-Length", "316");
|
||||
headers.put("platform-type", "%E7%BA%B7%E7%8E%A9%E5%B2%9B%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F");
|
||||
headers.put("content-type", "application/json");
|
||||
headers.put("x-fwd-anonymousId", "ocXac5C25MY5O3UM_EfL0oTgm7Jw");
|
||||
headers.put("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.61(0x18003d2e) NetType/WIFI Language/zh_CN");
|
||||
headers.put("X-REQUEST-STARTTIME", String.valueOf(System.currentTimeMillis()));
|
||||
headers.put("platform-version", "3.12.0");
|
||||
if (StringUtils.isNotBlank(token)) {
|
||||
headers.put("Authorization", token);
|
||||
}
|
||||
headers.put("Accept-Encoding", "gzip,compress,br,deflate");
|
||||
headers.put("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.61(0x18003d30) NetType/4G Language/zh_CN");
|
||||
headers.put("Referer", "https://servicewechat.com/wx5a8f481d967649eb/114/page-frame.html");
|
||||
return headers;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,11 +6,13 @@ import com.xiang.xservice.basic.xservice.dingTalk.service.DingTalkService;
|
||||
import com.xiang.xservice.fwd.entity.pojo.FPerformConfig;
|
||||
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
|
||||
import com.xiang.xservice.fwd.entity.pojo.FPerformSeatInfo;
|
||||
import com.xiang.xservice.fwd.entity.pojo.FUserConfig;
|
||||
import com.xiang.xservice.fwd.entity.req.ProjectOrderCreateReq;
|
||||
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectOrderCreateResp;
|
||||
import com.xiang.xservice.fwd.mapper.FwdPerformConfigMapper;
|
||||
import com.xiang.xservice.fwd.mapper.FwdPerformProjectInfoMapper;
|
||||
import com.xiang.xservice.fwd.mapper.FwdPerformSeatInfoMapper;
|
||||
import com.xiang.xservice.fwd.mapper.FwdUserConfigMapper;
|
||||
import com.xiang.xservice.fwd.service.IPerformService;
|
||||
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
|
||||
import com.xiang.xservice.http.helper.HttpRequestHelper;
|
||||
@@ -44,6 +46,7 @@ public class PerformServiceImpl implements IPerformService {
|
||||
private final FwdPerformConfigMapper fwdPerformConfigMapper;
|
||||
private final IPerformServiceHttp performServiceHttp;
|
||||
private final DingTalkService dingTalkService;
|
||||
private final FwdUserConfigMapper fwdUserConfigMapper;
|
||||
@Value("${DingTalk.chatId}")
|
||||
private String chatId;
|
||||
private final HttpRequestHelper httpRequestHelper;
|
||||
@@ -69,6 +72,10 @@ public class PerformServiceImpl implements IPerformService {
|
||||
|
||||
@Override
|
||||
public Boolean createProjectOrder(Long projectId, List<Long> frequentIds) throws Exception {
|
||||
List<FUserConfig> availableUser = fwdUserConfigMapper.getAvailableUser();
|
||||
if (CollectionUtils.isEmpty(availableUser)) {
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
FPerformProjectInfo performByProjectId = getPerformByProjectId(projectId);
|
||||
if (Objects.isNull(performByProjectId)) {
|
||||
log.info("该projectId:{}暂无演出信息", projectId);
|
||||
@@ -98,8 +105,8 @@ public class PerformServiceImpl implements IPerformService {
|
||||
projectOrderCreateReq.setBlackBox("0");
|
||||
projectOrderCreateReq.setCombineTicketVos(null);
|
||||
projectOrderCreateReq.setOrdinaryTicketVos(null);
|
||||
for (int i = 1; i <= 30; i++) {
|
||||
ProjectOrderCreateResp projectOrder = httpRequestHelper.fetchWithRetry(() -> performServiceHttp.createProjectOrder(projectOrderCreateReq), "create-project-order");
|
||||
for (int i = 1; i <= 10; i++) {
|
||||
ProjectOrderCreateResp projectOrder = httpRequestHelper.fetchWithRetry(() -> performServiceHttp.createProjectOrder(projectOrderCreateReq, availableUser.get(0).getToken()), "create-project-order");
|
||||
if (Objects.nonNull(projectOrder)) {
|
||||
log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder));
|
||||
String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在2分钟内完成付款!";
|
||||
|
||||
Reference in New Issue
Block a user