|
@@ -104,6 +104,8 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
|
|
|
|
|
|
private static final Integer CONFIG_ID = 9;
|
|
|
+
|
|
|
+ private static final Integer PULL_JD_ID = 10;
|
|
|
SimpleDateFormat SYS_CONFIG_SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
@@ -238,7 +240,9 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
}
|
|
|
String errorMsg = (String) map.get("errorMsg");
|
|
|
stringBuffer.append(errorMsg);
|
|
|
- if(amountNum < pageSize){
|
|
|
+
|
|
|
+ Integer pullAmount = (Integer) map.get("pullAmount");
|
|
|
+ if(pullAmount < pageSize){
|
|
|
pullFlag = false;
|
|
|
}
|
|
|
pageNumber++;
|
|
@@ -317,6 +321,150 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
return amountSuccessAllNum;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * 拉取京东订单(所有订单)
|
|
|
+ * 1:定时任务 2:手动同步
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public synchronized Integer syncXYTOrderByJD(Integer type) {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ if(type == 1){
|
|
|
+ SysConfig sysConfig = sysConfigMapper.getSysConfigAllLock(PULL_JD_ID);
|
|
|
+ Date date = new Date();
|
|
|
+ try {
|
|
|
+ date = SYS_CONFIG_SDF.parse(sysConfig.getConfigRemarks());
|
|
|
+ Calendar newDate = Calendar.getInstance();
|
|
|
+ if(calendar.get(Calendar.DATE) == newDate.get(Calendar.DATE)){
|
|
|
+ logger.info("该定时任务已经运行!");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ calendar.setTime(date);
|
|
|
+ calendar.set(Calendar.HOUR_OF_DAY,0);
|
|
|
+ calendar.set(Calendar.MINUTE,0);
|
|
|
+ calendar.set(Calendar.SECOND,0);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ logger.info("获取配置文件失败!");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ calendar.add(Calendar.DATE,-1);
|
|
|
+ calendar.set(Calendar.HOUR_OF_DAY,0);
|
|
|
+ calendar.set(Calendar.MINUTE,0);
|
|
|
+ calendar.set(Calendar.SECOND,0);
|
|
|
+ }
|
|
|
+
|
|
|
+ OrderSyncPlatform orderSyncPlatform = getXYTPlatform();
|
|
|
+ if(orderSyncPlatform.getSyncPlatStatus() != 1){
|
|
|
+ logger.info("小亚通接口已关闭!");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String,Object> paramsMap = new HashMap<>();
|
|
|
+ List<Map<String,Object>> conditionTypeList = new ArrayList<>();
|
|
|
+ Map<String,Object> beginCreateTimeMap = new HashMap<>();
|
|
|
+ beginCreateTimeMap.put("condType","beginCreateTime");
|
|
|
+ String[] condValueCreatImes = new String[1];
|
|
|
+ condValueCreatImes[0] = sdf.format(calendar.getTime());
|
|
|
+ beginCreateTimeMap.put("condValue", condValueCreatImes);
|
|
|
+ conditionTypeList.add(beginCreateTimeMap);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Map<String,Object> shopMap = new HashMap<>();
|
|
|
+ shopMap.put("condType","shopId");
|
|
|
+ String[] shopIds = new String[1];
|
|
|
+ shopIds[0] = "100206182446";
|
|
|
+ shopMap.put("condValue",shopIds);
|
|
|
+ conditionTypeList.add(shopMap);
|
|
|
+
|
|
|
+ StringBuffer stringBuffer = new StringBuffer();
|
|
|
+ Integer amountAllNum = 0;
|
|
|
+ Integer amountSuccessAllNum = 0;
|
|
|
+ String batchId = "";
|
|
|
+
|
|
|
+
|
|
|
+ boolean pullFlag = true;
|
|
|
+ Integer pageNumber = 1,pageSize=20;
|
|
|
+ while (pullFlag){
|
|
|
+ Map<String,Object> condMap = new HashMap<>();
|
|
|
+ condMap.put("pageNumber",pageNumber);
|
|
|
+ condMap.put("pageSize",pageSize);
|
|
|
+ condMap.put("conditionType",conditionTypeList);
|
|
|
+ paramsMap.put("cond",condMap);
|
|
|
+ String json = this.syncXYT("IOrderService.query",paramsMap);
|
|
|
+
|
|
|
+
|
|
|
+ Map<String,Object> map = this.saveOrder(1,json,batchId);
|
|
|
+ Integer status = (Integer) map.get("status");
|
|
|
+ batchId = (String) map.get("batchId");
|
|
|
+ Integer amountNum = (Integer) map.get("amountNum");
|
|
|
+ Integer amountSuccessNum = (Integer) map.get("amountSuccessNum");
|
|
|
+ if(status == 1){
|
|
|
+ amountAllNum+=amountNum;
|
|
|
+ amountSuccessAllNum+=amountSuccessNum;
|
|
|
+ }
|
|
|
+ String errorMsg = (String) map.get("errorMsg");
|
|
|
+ stringBuffer.append(errorMsg);
|
|
|
+
|
|
|
+ Integer pullAmount = (Integer) map.get("pullAmount");
|
|
|
+ if(pullAmount < pageSize){
|
|
|
+ pullFlag = false;
|
|
|
+ }
|
|
|
+ pageNumber++;
|
|
|
+ }
|
|
|
+
|
|
|
+ OrderSyncLog orderSyncLog = new OrderSyncLog();
|
|
|
+ orderSyncLog.setSyncPlatId(orderSyncPlatform.getSyncPlatId());
|
|
|
+ orderSyncLog.setSyncLogType(1);
|
|
|
+ orderSyncLog.setSyncLogMode(type);
|
|
|
+ orderSyncLog.setSyncLogRecentNum(amountAllNum);
|
|
|
+ orderSyncLog.setSyncLogErrorNum(amountAllNum - amountSuccessAllNum);
|
|
|
+ if(batchId != ""){
|
|
|
+ batchId = "批次编号:"+batchId;
|
|
|
+ }
|
|
|
+ orderSyncLog.setSyncLogMsg("京东批量拉取,"+batchId);
|
|
|
+ if(!stringBuffer.toString().equals("")){
|
|
|
+ String newErrorMsg = stringBuffer.toString();
|
|
|
+ if(newErrorMsg.length() > 5000){
|
|
|
+ newErrorMsg = newErrorMsg.substring(0,4999);
|
|
|
+ }
|
|
|
+ orderSyncLog.setSyncLogErrorMsg(newErrorMsg);
|
|
|
+ }
|
|
|
+ orderSyncLogMapper.save(orderSyncLog);
|
|
|
+
|
|
|
+
|
|
|
+ if(type == 1){
|
|
|
+ Calendar newConfigDate = Calendar.getInstance();
|
|
|
+ newConfigDate.set(Calendar.MINUTE,0);
|
|
|
+ newConfigDate.set(Calendar.SECOND,0);
|
|
|
+ SysConfig newSysConfig = new SysConfig();
|
|
|
+ newSysConfig.setConfigId(PULL_JD_ID);
|
|
|
+ newSysConfig.setConfigParameter("2");
|
|
|
+ newSysConfig.setConfigRemarks(SYS_CONFIG_SDF.format(newConfigDate.getTime()));
|
|
|
+ sysConfigMapper.updateSysConfig(newSysConfig);
|
|
|
+ }
|
|
|
+ return amountSuccessAllNum;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Integer syncXYTOrderPostNum(Integer salesId){
|
|
|
SalesOrder salesOrder = salesOrderService.getSalesOrderByIdConcise(salesId);
|
|
@@ -974,8 +1122,9 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
Map<String,Object> returnMap = new HashMap<>();
|
|
|
|
|
|
Integer status = 0;
|
|
|
- Integer amountNum = 0;
|
|
|
+ Integer amountNum = 0;
|
|
|
Integer amountSuccessNum = 0;
|
|
|
+ Integer pullAmount = 0;
|
|
|
String msg = "";
|
|
|
StringBuffer errorMsg = new StringBuffer();
|
|
|
JSONObject jsonObj = new JSONObject(json);
|
|
@@ -985,7 +1134,9 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
msg = "拉取订单成功";
|
|
|
|
|
|
JSONObject dataObj = jsonObj.getJSONObject("data");
|
|
|
+
|
|
|
JSONArray beanListArray = dataObj.getJSONArray("beanList");
|
|
|
+ pullAmount = beanListArray.length();
|
|
|
amountNum = beanListArray.length();
|
|
|
if(beanListArray.length() > 0){
|
|
|
for(int i=0;i<beanListArray.length();i++){
|
|
@@ -1010,7 +1161,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
salesOrder.setSalesIsSend(0);
|
|
|
salesOrder.setSalesDeliver(1);
|
|
|
salesOrder.setSalesShippingStatus(0);
|
|
|
- salesOrder.setSalesStatus(1);
|
|
|
+ salesOrder.setSalesStatus(0);
|
|
|
|
|
|
|
|
|
otherOrderId = infoObj.getLong("orderId");
|
|
@@ -1024,6 +1175,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
switch (orderStatus){
|
|
|
case 20:
|
|
|
break;
|
|
|
+ case 70:
|
|
|
case 60:
|
|
|
salesOrder.setSalesIsSend(1);
|
|
|
salesOrder.setSalesDeliver(2);
|
|
@@ -1616,7 +1768,8 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
|
|
|
returnMap.put("batchId",batchId);
|
|
|
returnMap.put("status",status);
|
|
|
- returnMap.put("amountNum",amountNum);
|
|
|
+ returnMap.put("pullAmount",pullAmount);
|
|
|
+ returnMap.put("amountNum",amountNum);
|
|
|
returnMap.put("amountSuccessNum",amountSuccessNum);
|
|
|
returnMap.put("msg",msg);
|
|
|
returnMap.put("errorMsg",errorMsg.toString());
|