|
@@ -195,14 +195,12 @@ public class SyncOrderInfoLogic {
|
|
|
|
|
|
String accessToken = this.getAccessTokenV3();
|
|
String accessToken = this.getAccessTokenV3();
|
|
|
|
|
|
- log.info(greeUrl + Constant.gree.GET_UPDATE_ORDERS + "/" + Constant.gree.GUANGZHOUXIAOSI + "/" + time);
|
|
|
|
-
|
|
|
|
Map<String, String> params = new HashMap<>();
|
|
Map<String, String> params = new HashMap<>();
|
|
|
|
|
|
Map<String, String> heard = new HashMap<>();
|
|
Map<String, String> heard = new HashMap<>();
|
|
heard.put("authorization", "Bearer " + accessToken);
|
|
heard.put("authorization", "Bearer " + accessToken);
|
|
|
|
|
|
- String body = HttpUtils.requestGet(greeUrl + Constant.gree.GET_UPDATE_ORDERS + "/" + Constant.gree.GUANGZHOUXIAOSI + "/" + time, params, heard);
|
|
|
|
|
|
+ String body = HttpUtils.requestGet(greeUrl + Constant.gree.GET_UPDATE_ORDERS + "/" + itfGreeSynRule.getSalesWebsitNumber() + "/" + time, params, heard);
|
|
|
|
|
|
Map<String, Object> bodyMap = JSON.parseObject(body);
|
|
Map<String, Object> bodyMap = JSON.parseObject(body);
|
|
|
|
|
|
@@ -213,37 +211,48 @@ public class SyncOrderInfoLogic {
|
|
|
|
|
|
JSONArray jsonArray = JSONUtil.parseArray(s);
|
|
JSONArray jsonArray = JSONUtil.parseArray(s);
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ itfGreeSynRule.setLastSynUpdTime(new Date());
|
|
|
|
+
|
|
|
|
+ itfGreeSynRule.updateById();
|
|
|
|
+
|
|
List<ItfGreeSynDownloadRecBean> itfGreeSynDownloadRecBeans = JSONUtil.toList(jsonArray, ItfGreeSynDownloadRecBean.class);
|
|
List<ItfGreeSynDownloadRecBean> itfGreeSynDownloadRecBeans = JSONUtil.toList(jsonArray, ItfGreeSynDownloadRecBean.class);
|
|
|
|
|
|
if (CollectionUtils.isEmpty(itfGreeSynDownloadRecBeans))
|
|
if (CollectionUtils.isEmpty(itfGreeSynDownloadRecBeans))
|
|
- return;
|
|
|
|
|
|
+ continue;
|
|
|
|
|
|
List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecs = new ArrayList<>();
|
|
List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecs = new ArrayList<>();
|
|
|
|
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
- String batch = IdWorker.getIdStr();
|
|
|
|
|
|
+
|
|
|
|
|
|
for (ItfGreeSynDownloadRecBean itfGreeSynDownloadRecBean : itfGreeSynDownloadRecBeans) {
|
|
for (ItfGreeSynDownloadRecBean itfGreeSynDownloadRecBean : itfGreeSynDownloadRecBeans) {
|
|
ItfGreeSynDownloadRec itfGreeSynDownloadRec = new ItfGreeSynDownloadRec();
|
|
ItfGreeSynDownloadRec itfGreeSynDownloadRec = new ItfGreeSynDownloadRec();
|
|
itfGreeSynDownloadRec.setSynReqTime(date);
|
|
itfGreeSynDownloadRec.setSynReqTime(date);
|
|
itfGreeSynDownloadRec.setGreeStatSynStatus(0);
|
|
itfGreeSynDownloadRec.setGreeStatSynStatus(0);
|
|
itfGreeSynDownloadRec.setSalesWebsitNumber(itfGreeSynRule.getSalesWebsitNumber());
|
|
itfGreeSynDownloadRec.setSalesWebsitNumber(itfGreeSynRule.getSalesWebsitNumber());
|
|
- itfGreeSynDownloadRec.setDownloadBatchNo(batch);
|
|
|
|
|
|
+
|
|
itfGreeSynDownloadRec.setWorkOrderId(itfGreeSynDownloadRecBean.getWorkOrderId());
|
|
itfGreeSynDownloadRec.setWorkOrderId(itfGreeSynDownloadRecBean.getWorkOrderId());
|
|
itfGreeSynDownloadRec.setUpdatedTimestamp(DateUtil.date(Convert.toLong(itfGreeSynDownloadRecBean.getUpdatedTimestamp())));
|
|
itfGreeSynDownloadRec.setUpdatedTimestamp(DateUtil.date(Convert.toLong(itfGreeSynDownloadRecBean.getUpdatedTimestamp())));
|
|
itfGreeSynDownloadRec.setOrderNode(itfGreeSynDownloadRecBean.getOrderNode());
|
|
itfGreeSynDownloadRec.setOrderNode(itfGreeSynDownloadRecBean.getOrderNode());
|
|
itfGreeSynDownloadRec.setRegionOutletsNo(itfGreeSynDownloadRecBean.getRegionOutletsNo());
|
|
itfGreeSynDownloadRec.setRegionOutletsNo(itfGreeSynDownloadRecBean.getRegionOutletsNo());
|
|
itfGreeSynDownloadRec.setRegionOutletsName(itfGreeSynDownloadRecBean.getRegionOutletsName());
|
|
itfGreeSynDownloadRec.setRegionOutletsName(itfGreeSynDownloadRecBean.getRegionOutletsName());
|
|
-
|
|
|
|
-
|
|
|
|
itfGreeSynDownloadRecs.add(itfGreeSynDownloadRec);
|
|
itfGreeSynDownloadRecs.add(itfGreeSynDownloadRec);
|
|
}
|
|
}
|
|
|
|
|
|
- itfGreeSynDownloadRecService.saveBatch(itfGreeSynDownloadRecs);
|
|
|
|
-
|
|
|
|
List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecList = itfGreeSynDownloadRecs.stream()
|
|
List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecList = itfGreeSynDownloadRecs.stream()
|
|
.sorted(Comparator.comparing(ItfGreeSynDownloadRec::getUpdatedTimestamp).reversed()).collect(Collectors.toList());
|
|
.sorted(Comparator.comparing(ItfGreeSynDownloadRec::getUpdatedTimestamp).reversed()).collect(Collectors.toList());
|
|
|
|
|
|
|
|
+ itfGreeSynDownloadRecService.lambdaUpdate().in(ItfGreeSynDownloadRec::getWorkOrderId,
|
|
|
|
+ itfGreeSynDownloadRecs.stream().map(ItfGreeSynDownloadRec::getWorkOrderId)
|
|
|
|
+ .collect(Collectors.toList()))
|
|
|
|
+ .eq(ItfGreeSynDownloadRec::getGreeStatSynStatus,0)
|
|
|
|
+ .set(ItfGreeSynDownloadRec::getGreeStatSynStatus,9)
|
|
|
|
+ .update();
|
|
|
|
+
|
|
|
|
+ itfGreeSynDownloadRecService.saveBatch(itfGreeSynDownloadRecs);
|
|
|
|
+
|
|
itfGreeSynRule.setLastSynTime(itfGreeSynDownloadRecList.get(0).getUpdatedTimestamp());
|
|
itfGreeSynRule.setLastSynTime(itfGreeSynDownloadRecList.get(0).getUpdatedTimestamp());
|
|
itfGreeSynRule.setLastSynUpdTime(new Date());
|
|
itfGreeSynRule.setLastSynUpdTime(new Date());
|
|
|
|
|
|
@@ -282,110 +291,21 @@ public class SyncOrderInfoLogic {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- /**
|
|
|
|
- * 获取总部接口的请求token
|
|
|
|
- *
|
|
|
|
- * @return
|
|
|
|
- */
|
|
|
|
- public String getAccessToken() throws RemoteServiceException {
|
|
|
|
- String redisKey = Constant.RedisPrefix.TOKEN_GREE;
|
|
|
|
- String token = (String) redisUtil.get(redisKey);
|
|
|
|
- if (token != null) {
|
|
|
|
- return token;
|
|
|
|
- }
|
|
|
|
- MultiValueMap<String, String> forms = new LinkedMultiValueMap<String, String>();
|
|
|
|
-
|
|
|
|
- forms.put("client_id", Collections.singletonList(clientId));
|
|
|
|
- forms.put("client_secret", Collections.singletonList(clientSecert));
|
|
|
|
- forms.put("grant_type", Collections.singletonList("client_credentials"));
|
|
|
|
- String s = HttpUtils.requestXwww(tokenUrl, forms);
|
|
|
|
- //String s = HttpUtils.requestPostForm(tokenUrl, map, null);
|
|
|
|
- log.info("【获取总部token】response:{}", s);
|
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(s);
|
|
|
|
- String accessToken = jsonObject.getString("access_token");
|
|
|
|
- if (StringUtils.isNotEmpty(accessToken)) {
|
|
|
|
- redisUtil.set(Constant.RedisPrefix.TOKEN_GREE, accessToken, 2 * 6 * 6);
|
|
|
|
- }
|
|
|
|
- return accessToken;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public void syncFo() {
|
|
|
|
- ItfGreeSynRule itfGreeSynRule = itfGreeSynRuleService.lambdaQuery().eq(ItfGreeSynRule::getSalesWebsitNumber, Constant.gree.GUANGZHOUXIAOSI)
|
|
|
|
- .one();
|
|
|
|
-
|
|
|
|
- Long time = itfGreeSynRule.getLastSynTime().getTime() / 1;
|
|
|
|
-
|
|
|
|
- String accessToken = this.getAccessTokenV3();
|
|
|
|
-
|
|
|
|
- log.info(greeUrl + Constant.gree.GET_UPDATE_ORDERS + "/" + Constant.gree.GUANGZHOUXIAOSI + "/" + time);
|
|
|
|
-
|
|
|
|
- Map<String, String> params = new HashMap<>();
|
|
|
|
-
|
|
|
|
- Map<String, String> heard = new HashMap<>();
|
|
|
|
- heard.put("authorization", "Bearer " + accessToken);
|
|
|
|
-
|
|
|
|
- String body = HttpUtils.requestGet(greeUrl + Constant.gree.GET_UPDATE_ORDERS + "/" + Constant.gree.GUANGZHOUXIAOSI + "/" + time, params, heard);
|
|
|
|
-
|
|
|
|
- Map<String, Object> bodyMap = JSON.parseObject(body);
|
|
|
|
-
|
|
|
|
- log.info("【工单同步数据内容】:" + bodyMap.get("data").toString());
|
|
|
|
-
|
|
|
|
- String s = bodyMap.get("data").toString();
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(s);
|
|
|
|
-
|
|
|
|
- List<ItfGreeSynDownloadRecBean> itfGreeSynDownloadRecBeans = JSONUtil.toList(jsonArray, ItfGreeSynDownloadRecBean.class);
|
|
|
|
-
|
|
|
|
- if (CollectionUtils.isEmpty(itfGreeSynDownloadRecBeans))
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
- List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecs = new ArrayList<>();
|
|
|
|
-
|
|
|
|
- Date date = new Date();
|
|
|
|
- String batch = IdWorker.getIdStr();
|
|
|
|
-
|
|
|
|
- for (ItfGreeSynDownloadRecBean itfGreeSynDownloadRecBean : itfGreeSynDownloadRecBeans) {
|
|
|
|
- ItfGreeSynDownloadRec itfGreeSynDownloadRec = new ItfGreeSynDownloadRec();
|
|
|
|
- itfGreeSynDownloadRec.setSynReqTime(date);
|
|
|
|
- itfGreeSynDownloadRec.setGreeStatSynStatus(0);
|
|
|
|
- itfGreeSynDownloadRec.setSalesWebsitNumber(itfGreeSynRule.getSalesWebsitNumber());
|
|
|
|
- itfGreeSynDownloadRec.setDownloadBatchNo(batch);
|
|
|
|
- itfGreeSynDownloadRec.setWorkOrderId(itfGreeSynDownloadRecBean.getWorkOrderId());
|
|
|
|
- itfGreeSynDownloadRec.setUpdatedTimestamp(DateUtil.date(Convert.toLong(itfGreeSynDownloadRecBean.getUpdatedTimestamp())));
|
|
|
|
- itfGreeSynDownloadRec.setOrderNode(itfGreeSynDownloadRecBean.getOrderNode());
|
|
|
|
- itfGreeSynDownloadRec.setRegionOutletsNo(itfGreeSynDownloadRecBean.getRegionOutletsNo());
|
|
|
|
- itfGreeSynDownloadRec.setRegionOutletsName(itfGreeSynDownloadRecBean.getRegionOutletsName());
|
|
|
|
- itfGreeSynDownloadRecs.add(itfGreeSynDownloadRec);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- itfGreeSynDownloadRecService.saveBatch(itfGreeSynDownloadRecs);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public void syncDetail() {
|
|
public void syncDetail() {
|
|
|
|
|
|
- List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecsBatch = itfGreeSynDownloadRecService.lambdaQuery()
|
|
|
|
- .eq(ItfGreeSynDownloadRec::getGreeStatSynStatus, 0)
|
|
|
|
- .groupBy(ItfGreeSynDownloadRec::getDownloadBatchNo)
|
|
|
|
- .last("limit 1").list();
|
|
|
|
- if (CollectionUtils.isEmpty(itfGreeSynDownloadRecsBatch))
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
- ItfGreeSynDownloadRec itfGreeSynDownloadRecsBatchOne = itfGreeSynDownloadRecsBatch.get(0);
|
|
|
|
-
|
|
|
|
- Lock obtain = redisLockRegistry.obtain(Constant.RedisPrefix.SYNC_LOCK +itfGreeSynDownloadRecsBatchOne.getDownloadBatchNo());
|
|
|
|
|
|
|
|
List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecs = itfGreeSynDownloadRecService.lambdaQuery()
|
|
List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecs = itfGreeSynDownloadRecService.lambdaQuery()
|
|
- .eq(ItfGreeSynDownloadRec::getGreeStatSynStatus, 0)
|
|
|
|
- .eq(ItfGreeSynDownloadRec::getDownloadBatchNo,itfGreeSynDownloadRecsBatchOne.getDownloadBatchNo())
|
|
|
|
|
|
+ .in(ItfGreeSynDownloadRec::getGreeStatSynStatus, 0,99)
|
|
|
|
+ .last("limit 50")
|
|
|
|
+ .orderByAsc(ItfGreeSynDownloadRec::getGreeStatSynStatus)
|
|
.list();
|
|
.list();
|
|
- try {
|
|
|
|
- if (!obtain.tryLock(5, TimeUnit.SECONDS)) {
|
|
|
|
- throw new RemoteServiceException("系统繁忙,请稍后再试");
|
|
|
|
- }
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(itfGreeSynDownloadRecs))
|
|
|
|
+ return;
|
|
|
|
|
|
|
|
|
|
|
|
+ try {
|
|
|
|
+
|
|
String batch = IdWorker.getIdStr();
|
|
String batch = IdWorker.getIdStr();
|
|
|
|
|
|
String accessToken = this.getAccessTokenV3();
|
|
String accessToken = this.getAccessTokenV3();
|
|
@@ -584,12 +504,10 @@ public class SyncOrderInfoLogic {
|
|
itfGreeSynDownloadRecService.lambdaUpdate()
|
|
itfGreeSynDownloadRecService.lambdaUpdate()
|
|
.in(ItfGreeSynDownloadRec::getSynReqId, syncIds)
|
|
.in(ItfGreeSynDownloadRec::getSynReqId, syncIds)
|
|
.set(ItfGreeSynDownloadRec::getGreeStatSynErrMsg, e.getMessage())
|
|
.set(ItfGreeSynDownloadRec::getGreeStatSynErrMsg, e.getMessage())
|
|
- .set(ItfGreeSynDownloadRec::getGreeStatSynErrMsg, new Date())
|
|
|
|
|
|
+ .set(ItfGreeSynDownloadRec::getGreeStatSynTime, new Date())
|
|
.set(ItfGreeSynDownloadRec::getGreeStatSynStatus, 99).update();
|
|
.set(ItfGreeSynDownloadRec::getGreeStatSynStatus, 99).update();
|
|
|
|
|
|
|
|
|
|
- } finally {
|
|
|
|
- obtain.unlock();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|