feat:zlb接口
This commit is contained in:
@@ -2,8 +2,10 @@ package com.xiang.service.module.jntyzx.zlb.schedule;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.xiang.common.enums.ScheduleEnums;
|
||||
import com.xiang.common.exception.BusinessException;
|
||||
import com.xiang.common.factory.JntyzxDingTalkFactory;
|
||||
import com.xiang.common.factory.schedule.BaseScheduleTaskTemplate;
|
||||
import com.xiang.common.pojo.jntyzx.zlb.ZlbTokenInfo;
|
||||
@@ -18,12 +20,9 @@ import com.xiang.service.module.jntyzx.zlb.service.ZlbService;
|
||||
import com.xiang.service.module.jntyzx.zlb.service.ZlbTokenInfoService;
|
||||
import com.xiang.service.module.jntyzx.zlb.service.ZlbUserInfoService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.time.Duration;
|
||||
import java.time.LocalTime;
|
||||
import java.util.Date;
|
||||
@@ -101,6 +100,10 @@ public class ZlbOrderTask extends BaseScheduleTaskTemplate {
|
||||
String siteOrderDetailsStr = zlbService.buildSiteOrder(zlbUserInfo, secretKey, day);
|
||||
Map<String, String> headers = zlbService.getHeaders(zlbTokenInfo.getTokenId());
|
||||
String newOrderJson = zlbService.buildNewOrder(siteOrderDetailsStr, client);
|
||||
if (StringUtils.isBlank(newOrderJson)) {
|
||||
log.info("构建订单参数异常:{}", siteOrderDetailsStr);
|
||||
throw new BusinessException("");
|
||||
}
|
||||
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
|
||||
//计算9点到现在的时间差
|
||||
//获取江体当前时间
|
||||
|
||||
@@ -8,9 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.xiang.common.factory.JntyzxDingTalkFactory;
|
||||
import com.xiang.common.pojo.TrackPoint;
|
||||
import com.xiang.common.pojo.jntyzx.zlb.ZlbCaptchaResp;
|
||||
import com.xiang.common.pojo.jntyzx.zlb.ZlbOrderInfo;
|
||||
import com.xiang.common.pojo.jntyzx.zlb.ZlbOrderJson;
|
||||
@@ -25,7 +23,7 @@ import com.xiang.common.utils.AESECBUtils;
|
||||
import com.xiang.common.utils.Base64ImageScaler;
|
||||
import com.xiang.common.utils.DateUtils;
|
||||
import com.xiang.common.utils.OkHttpUtil;
|
||||
import com.xiang.common.utils.TrajectoryUtil;
|
||||
import com.xiang.common.utils.ZlbCaptchaTrackUtil;
|
||||
import com.xiang.service.module.jntyzx.zlb.constants.ZlbUrlConstants;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -420,43 +418,7 @@ public class ZlbServiceImpl implements ZlbService {
|
||||
}
|
||||
|
||||
private List<ZlbOrderInfo.ZlbData.TrackList> convert(List<String> trackList) {
|
||||
int t = 0;
|
||||
List<ZlbOrderInfo.ZlbData.TrackList> result = Lists.newArrayList();
|
||||
|
||||
for (int i = 0; i < trackList.size(); i++) {
|
||||
String currentTrack = trackList.get(i);
|
||||
String nextTrack = null;
|
||||
if (i != trackList.size() - 1) {
|
||||
nextTrack = trackList.get(i + 1);
|
||||
}
|
||||
t += 100;
|
||||
Integer currentX = Integer.parseInt(currentTrack.split(",")[0]);
|
||||
Integer currentY = Integer.parseInt(currentTrack.split(",")[1]);
|
||||
List<TrackPoint> trackPoints = TrajectoryUtil.generateClick(currentX, currentY, t);
|
||||
for (TrackPoint trackPoint : trackPoints) {
|
||||
if (StringUtils.equals(trackPoint.getType(), "click")) {
|
||||
ZlbOrderInfo.ZlbData.TrackList data = new ZlbOrderInfo.ZlbData.TrackList();
|
||||
data.setX(trackPoint.getX());
|
||||
data.setY(trackPoint.getY());
|
||||
data.setT(trackPoint.getT());
|
||||
data.setType(trackPoint.getType());
|
||||
result.add(data);
|
||||
}
|
||||
}
|
||||
t += 500;
|
||||
if (StringUtils.isNotBlank(nextTrack)) {
|
||||
Integer nextX = Integer.parseInt(nextTrack.split(",")[0]);
|
||||
Integer nextY = Integer.parseInt(nextTrack.split(",")[1]);
|
||||
List<TrackPoint> nextTrackPoints = TrajectoryUtil.generateMove(currentX, currentY, nextX, nextY, t, 1200, 10);
|
||||
TrackPoint trackPoint = nextTrackPoints.get(i + 1);
|
||||
ZlbOrderInfo.ZlbData.TrackList data = new ZlbOrderInfo.ZlbData.TrackList();
|
||||
data.setX(trackPoint.getX());
|
||||
data.setY(trackPoint.getY());
|
||||
data.setT(trackPoint.getT());
|
||||
data.setType(trackPoint.getType());
|
||||
result.add(data);
|
||||
}
|
||||
}
|
||||
List<ZlbOrderInfo.ZlbData.TrackList> result = ZlbCaptchaTrackUtil.generateBezierTrackList(trackList);
|
||||
log.info("生成的轨迹点结果:{}", JSON.toJSONString(result));
|
||||
return result;
|
||||
}
|
||||
@@ -688,5 +650,3 @@ public class ZlbServiceImpl implements ZlbService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user