|
@@ -21,10 +21,7 @@ import com.fjhx.tenant.entity.dict.po.DictTenantType;
|
|
|
import com.fjhx.tenant.service.dict.DictTenantDataService;
|
|
|
import com.fjhx.tenant.service.dict.DictTenantTypeService;
|
|
|
import com.fjhx.victoriatourist.entity.jd.dto.JdInfoDto;
|
|
|
-import com.fjhx.victoriatourist.entity.jd.po.JdBack;
|
|
|
-import com.fjhx.victoriatourist.entity.jd.po.JdBackDetails;
|
|
|
-import com.fjhx.victoriatourist.entity.jd.po.JdOrder;
|
|
|
-import com.fjhx.victoriatourist.entity.jd.po.JdOrderDetails;
|
|
|
+import com.fjhx.victoriatourist.entity.jd.po.*;
|
|
|
import com.fjhx.victoriatourist.entity.jd.vo.CommonDictData;
|
|
|
import com.fjhx.victoriatourist.entity.jd.vo.JdInfoVo;
|
|
|
import com.fjhx.victoriatourist.entity.jd.vo.TellBackOrderVO;
|
|
@@ -57,6 +54,7 @@ import org.apache.http.client.methods.HttpGet;
|
|
|
import org.apache.http.client.methods.HttpRequestBase;
|
|
|
import org.apache.http.impl.client.HttpClients;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -78,6 +76,8 @@ public class JdApiServiceImpl implements JdApiService {
|
|
|
private static final String ACCESS_TOKEN = "access_token";
|
|
|
private static final String REFRESH_TOKEN = "refresh_token";
|
|
|
|
|
|
+ private static final Integer SLEEP_TIMES = 10000;
|
|
|
+
|
|
|
@Autowired
|
|
|
private JdOrderService jdOrderService;
|
|
|
@Autowired
|
|
@@ -204,7 +204,7 @@ public class JdApiServiceImpl implements JdApiService {
|
|
|
@Scheduled(cron = "0 0 0/1 * * ? ")
|
|
|
//每分钟执行一次
|
|
|
// @Scheduled(cron = "0 0/1 * * * ? ")
|
|
|
- void orderSync(){
|
|
|
+ void refreshToken(){
|
|
|
JdInfoVo jdInfoVo = jdInfoService.getOne();
|
|
|
//如果过期时间减去当前时间小于90分钟,则要刷新token
|
|
|
if(ObjectUtil.isNotNull(jdInfoVo.getExpireTime())){
|
|
@@ -226,26 +226,18 @@ public class JdApiServiceImpl implements JdApiService {
|
|
|
* @author hj
|
|
|
* @date 2023/12/13 22:30
|
|
|
*/
|
|
|
-// @PostConstruct
|
|
|
+ @Async
|
|
|
public void startJdOrder(){
|
|
|
JdClient jdClient = jdClientFactory.getJdClient();
|
|
|
while (true){
|
|
|
- JdInfoVo jdInfoVo = jdInfoService.getOne();
|
|
|
- boolean online = jdInfoVo.getOnline() > 0 ? true : false;
|
|
|
- if(!online){
|
|
|
- log.info("京东已经下线");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
- continue;
|
|
|
- }
|
|
|
- //开始校验是否符合条件
|
|
|
- if (ObjectUtil.isNull(jdInfoVo.getInitQueryDate())) {
|
|
|
- log.error("请线配置京东初始化查询时间");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
+ JdInfoVo jdInfoVo = validJdInfo();
|
|
|
+ if(ObjectUtil.isNull(jdInfoVo)){
|
|
|
+ ThreadUtil.safeSleep(SLEEP_TIMES);
|
|
|
continue;
|
|
|
}
|
|
|
getJdOrderList(jdClient, jdInfoVo);
|
|
|
log.info("京东订单采集完成");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
+ ThreadUtil.safeSleep(SLEEP_TIMES);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -256,26 +248,18 @@ public class JdApiServiceImpl implements JdApiService {
|
|
|
* @author hj
|
|
|
* @date 2023/12/13 22:30
|
|
|
*/
|
|
|
- @PostConstruct
|
|
|
+ @Async
|
|
|
public void startJdBackOrder(){
|
|
|
JdClient jdClient = jdClientFactory.getJdClient();
|
|
|
while (true){
|
|
|
- JdInfoVo jdInfoVo = jdInfoService.getOne();
|
|
|
- boolean online = jdInfoVo.getOnline() > 0 ? true : false;
|
|
|
- if(!online){
|
|
|
- log.info("京东已经下线");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
- continue;
|
|
|
- }
|
|
|
- //开始校验是否符合条件
|
|
|
- if (ObjectUtil.isNull(jdInfoVo.getInitQueryDate())) {
|
|
|
- log.error("请线配置京东初始化查询时间");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
+ JdInfoVo jdInfoVo = validJdInfo();
|
|
|
+ if(ObjectUtil.isNull(jdInfoVo)){
|
|
|
+ ThreadUtil.safeSleep(SLEEP_TIMES);
|
|
|
continue;
|
|
|
}
|
|
|
getJdBackOrder(jdClient, jdInfoVo);
|
|
|
log.info("京东退货单采集完成");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
+ ThreadUtil.safeSleep(SLEEP_TIMES);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -310,26 +294,18 @@ public class JdApiServiceImpl implements JdApiService {
|
|
|
* 刷新京东状态
|
|
|
* @param
|
|
|
*/
|
|
|
-// @PostConstruct
|
|
|
+ @Async
|
|
|
public void refreshJdState(){
|
|
|
JdClient jdClient = jdClientFactory.getJdClient();
|
|
|
while (true){
|
|
|
- JdInfoVo jdInfoVo = jdInfoService.getOne();
|
|
|
- boolean online = jdInfoVo.getOnline() > 0 ? true : false;
|
|
|
- if(!online){
|
|
|
- log.info("京东已经下线");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
- continue;
|
|
|
- }
|
|
|
- //开始校验是否符合条件
|
|
|
- if (ObjectUtil.isNull(jdInfoVo.getInitQueryDate())) {
|
|
|
- log.error("请线配置京东初始化查询时间");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
+ JdInfoVo jdInfoVo = validJdInfo();
|
|
|
+ if(ObjectUtil.isNull(jdInfoVo)){
|
|
|
+ ThreadUtil.safeSleep(SLEEP_TIMES);
|
|
|
continue;
|
|
|
}
|
|
|
handleRefreshDate(jdClient);
|
|
|
log.info("刷新京东状态完成");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
+ ThreadUtil.safeSleep(SLEEP_TIMES);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -643,13 +619,13 @@ public class JdApiServiceImpl implements JdApiService {
|
|
|
boolean online = jdInfoVo.getOnline() > 0 ? true : false;
|
|
|
if(!online){
|
|
|
log.info("京东已经下线");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
+ ThreadUtil.safeSleep(SLEEP_TIMES);
|
|
|
continue;
|
|
|
}
|
|
|
//开始校验是否符合条件
|
|
|
if (ObjectUtil.isNull(jdInfoVo.getInitQueryDate())) {
|
|
|
log.error("请线配置京东初始化查询时间");
|
|
|
- ThreadUtil.safeSleep(10000);
|
|
|
+ ThreadUtil.safeSleep(SLEEP_TIMES);
|
|
|
continue;
|
|
|
}
|
|
|
try {
|
|
@@ -845,6 +821,22 @@ public class JdApiServiceImpl implements JdApiService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private JdInfoVo validJdInfo(){
|
|
|
+ JdInfoVo jdInfoVo = jdInfoService.getOne();
|
|
|
+ boolean online = jdInfoVo.getOnline() > 0 ? true : false;
|
|
|
+ if(!online){
|
|
|
+ log.info("京东已经下线");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ //开始校验是否符合条件
|
|
|
+ if (ObjectUtil.isNull(jdInfoVo.getInitQueryDate())) {
|
|
|
+ log.error("请线配置京东初始化查询时间");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return jdInfoVo;
|
|
|
+ }
|
|
|
+
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
// JdClient client = new DefaultJdClient("http://api.jd.com/routerjson", "a1f79f4670fd43a28fa2de02abd86f03ytfm", JdParamConstant.appKey, JdParamConstant.appSecret);
|
|
|
List<Integer> list = new ArrayList<>();
|