Compare commits
No commits in common. "8ad59527e5c12d72df6a2490c0cbaf77d3416b0f" and "4bc2b8075ac4a0c8f381a6d331e680b26d50ccbf" have entirely different histories.
8ad59527e5
...
4bc2b8075a
@ -299,56 +299,4 @@ public class JobController {
|
|||||||
param.setEndCreateDate(param.getEndDate());
|
param.setEndCreateDate(param.getEndDate());
|
||||||
return dataImportNewService.immigrationUpdateNew(param);
|
return dataImportNewService.immigrationUpdateNew(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据更新同步(新)
|
|
||||||
* @param paramStr
|
|
||||||
* @author kris
|
|
||||||
* @return
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
@PostMapping("/dataImportJob")
|
|
||||||
@ApiOperation("获取new_id")
|
|
||||||
@LogServiceAnnotation(operateType = OperateTypeConstant.TYPE_UPDATE, remark = "获取new_id")
|
|
||||||
public ReturnT<String> dataImportJob(String paramStr) throws Exception {
|
|
||||||
log.info("dataImportJob execute start ..................");
|
|
||||||
SalesforceParam param = new SalesforceParam();
|
|
||||||
try {
|
|
||||||
if (StringUtils.isNotBlank(paramStr)) {
|
|
||||||
param = JSON.parseObject(paramStr, SalesforceParam.class);
|
|
||||||
}
|
|
||||||
} catch (Throwable throwable) {
|
|
||||||
return new ReturnT<>(500, "参数解析失败!");
|
|
||||||
}
|
|
||||||
// 参数转换
|
|
||||||
param.setBeginCreateDate(param.getBeginDate());
|
|
||||||
param.setEndCreateDate(param.getEndDate());
|
|
||||||
return dataImportService.immigration(param);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据更新同步(新)
|
|
||||||
* @param paramStr
|
|
||||||
* @author kris
|
|
||||||
* @return
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
@PostMapping("/dataUpdateJob")
|
|
||||||
@ApiOperation("更新目标org数据")
|
|
||||||
@LogServiceAnnotation(operateType = OperateTypeConstant.TYPE_UPDATE, remark = "更新目标org数据")
|
|
||||||
public ReturnT<String> dataUpdateJob(String paramStr) throws Exception {
|
|
||||||
log.info("dataUpdateJob execute start ..................");
|
|
||||||
SalesforceParam param = new SalesforceParam();
|
|
||||||
try {
|
|
||||||
if (StringUtils.isNotBlank(paramStr)) {
|
|
||||||
param = JSON.parseObject(paramStr, SalesforceParam.class);
|
|
||||||
}
|
|
||||||
} catch (Throwable throwable) {
|
|
||||||
return new ReturnT<>(500, "参数解析失败!");
|
|
||||||
}
|
|
||||||
// 参数转换
|
|
||||||
param.setBeginCreateDate(param.getBeginDate());
|
|
||||||
param.setEndCreateDate(param.getEndDate());
|
|
||||||
return dataImportNewService.immigrationUpdateNew(param);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -366,7 +366,10 @@ public class CommonServiceImpl implements CommonService {
|
|||||||
}
|
}
|
||||||
// 等待当前所有线程执行完成
|
// 等待当前所有线程执行完成
|
||||||
salesforceExecutor.waitForFutures(futures.toArray(new Future<?>[]{}));
|
salesforceExecutor.waitForFutures(futures.toArray(new Future<?>[]{}));
|
||||||
|
// 附件表 跑一遍dumpFile
|
||||||
|
if (StringUtils.isNotBlank(dataObject.getBlobField())) {
|
||||||
|
fileService.dumpFile(dataObject.getName(), dataObject.getBlobField(), true);
|
||||||
|
}
|
||||||
update.setDataWork(0);
|
update.setDataWork(0);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
String message = e.getMessage();
|
String message = e.getMessage();
|
||||||
@ -374,10 +377,12 @@ public class CommonServiceImpl implements CommonService {
|
|||||||
EmailUtil.send("DataDump ERROR", format);
|
EmailUtil.send("DataDump ERROR", format);
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
} finally {
|
} finally {
|
||||||
|
if (dataObject != null) {
|
||||||
update.setDataLock(0);
|
update.setDataLock(0);
|
||||||
dataObjectService.updateById(update);
|
dataObjectService.updateById(update);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// 等待当前所有线程执行完成
|
// 等待当前所有线程执行完成
|
||||||
salesforceExecutor.waitForFutures(futures.toArray(new Future<?>[]{}));
|
salesforceExecutor.waitForFutures(futures.toArray(new Future<?>[]{}));
|
||||||
futures.clear();
|
futures.clear();
|
||||||
@ -457,7 +462,11 @@ public class CommonServiceImpl implements CommonService {
|
|||||||
|
|
||||||
// 等待当前所有线程执行完成
|
// 等待当前所有线程执行完成
|
||||||
salesforceExecutor.waitForFutures(futures.toArray(new Future<?>[]{}));
|
salesforceExecutor.waitForFutures(futures.toArray(new Future<?>[]{}));
|
||||||
|
// 附件表 跑一遍dumpFile
|
||||||
|
DataObject one = dataObjectService.getById(api);
|
||||||
|
if (StringUtils.isNotBlank(one.getBlobField())) {
|
||||||
|
fileService.dumpFile(one.getName(), one.getBlobField(), true);
|
||||||
|
}
|
||||||
update.setDataWork(0);
|
update.setDataWork(0);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
log.error("manualDump error", e);
|
log.error("manualDump error", e);
|
||||||
|
@ -361,7 +361,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
//引用类型
|
//引用类型
|
||||||
String reference = dataField.getReferenceTo();
|
String reference = dataField.getReferenceTo();
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
String linkfield = fieldMap.get(dataField.getField());
|
String linkfield = fieldMap.get(dataField.getApi());
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(linkfield)){
|
if (StringUtils.isNotBlank(linkfield)){
|
||||||
reference = data.get(j-1).get(linkfield)!=null?data.get(j-1).get(linkfield).toString():null;
|
reference = data.get(j-1).get(linkfield)!=null?data.get(j-1).get(linkfield).toString():null;
|
||||||
@ -395,7 +395,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
account.put(dataField.getField(), pickList.get(0).get("value"));
|
account.put(dataField.getField(), pickList.get(0).get("value"));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
account.put(dataField.getField(), DataUtil.fieldTypeBulkToSf(dataField));
|
account.put(dataField.getField(), DataUtil.fieldTypeToSf(dataField));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -748,7 +748,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
|
|
||||||
if (!"null".equals(value) && StringUtils.isNotEmpty(value)) {
|
if (!"null".equals(value) && StringUtils.isNotEmpty(value)) {
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
String linkfield = fieldMap.get(dataField.getField());
|
String linkfield = fieldMap.get(dataField.getApi());
|
||||||
if (StringUtils.isNotBlank(linkfield)){
|
if (StringUtils.isNotBlank(linkfield)){
|
||||||
reference_to = map.get(linkfield)!=null?map.get(linkfield).toString():null;
|
reference_to = map.get(linkfield)!=null?map.get(linkfield).toString():null;
|
||||||
}
|
}
|
||||||
@ -1122,7 +1122,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
//引用类型
|
//引用类型
|
||||||
String reference_to = dataField.getReferenceTo();
|
String reference_to = dataField.getReferenceTo();
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
String linkfield = fieldMap.get(dataField.getField());
|
String linkfield = fieldMap.get(dataField.getApi());
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(linkfield)){
|
if (StringUtils.isNotBlank(linkfield)){
|
||||||
reference_to = data.get(j-1).get(linkfield)!=null?data.get(j-1).get(linkfield).toString():null;
|
reference_to = data.get(j-1).get(linkfield)!=null?data.get(j-1).get(linkfield).toString():null;
|
||||||
|
@ -758,7 +758,6 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
|||||||
List<Map<String, Object>> mapList = customMapper.list("*", api, sql2+ i * 200 + ",200");
|
List<Map<String, Object>> mapList = customMapper.list("*", api, sql2+ i * 200 + ",200");
|
||||||
SObject[] accounts = new SObject[mapList.size()];
|
SObject[] accounts = new SObject[mapList.size()];
|
||||||
int j = 0;
|
int j = 0;
|
||||||
try {
|
|
||||||
for (Map<String, Object> map : mapList) {
|
for (Map<String, Object> map : mapList) {
|
||||||
SObject account = new SObject();
|
SObject account = new SObject();
|
||||||
account.setType(api);
|
account.setType(api);
|
||||||
@ -777,7 +776,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
|||||||
|
|
||||||
if (!"null".equals(value) && StringUtils.isNotEmpty(value)) {
|
if (!"null".equals(value) && StringUtils.isNotEmpty(value)) {
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
String linkfield = fieldMap.get(dataField.getField());
|
String linkfield = fieldMap.get(dataField.getApi());
|
||||||
if (StringUtils.isNotBlank(linkfield)){
|
if (StringUtils.isNotBlank(linkfield)){
|
||||||
reference_to = map.get(linkfield)!=null?map.get(linkfield).toString():null;
|
reference_to = map.get(linkfield)!=null?map.get(linkfield).toString():null;
|
||||||
}
|
}
|
||||||
@ -814,6 +813,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
|||||||
accounts[j++] = account;
|
accounts[j++] = account;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
if (infoFlag != null && "1".equals(infoFlag.get("value"))){
|
if (infoFlag != null && "1".equals(infoFlag.get("value"))){
|
||||||
printlnAccountsDetails(accounts,list);
|
printlnAccountsDetails(accounts,list);
|
||||||
}
|
}
|
||||||
@ -856,9 +856,6 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
|||||||
for (int i = 0; i < accounts.length; i++) {
|
for (int i = 0; i < accounts.length; i++) {
|
||||||
SObject account = accounts[i];
|
SObject account = accounts[i];
|
||||||
System.out.println("--- 对象数据[" + i + "] ---");
|
System.out.println("--- 对象数据[" + i + "] ---");
|
||||||
if (account == null){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// 获取对象所有字段名
|
// 获取对象所有字段名
|
||||||
for (DataField dataField : list) {
|
for (DataField dataField : list) {
|
||||||
try {
|
try {
|
||||||
@ -868,8 +865,8 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
|||||||
System.out.println(dataField.getField() + ": [权限不足或字段不存在]");
|
System.out.println(dataField.getField() + ": [权限不足或字段不存在]");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("old_owner_id__c: " + account.getField("old_owner_id__c"));
|
System.out.println("old_owner_id__c: " + (account.getField("old_owner_id__c") != null ? account.getField("old_owner_id__c").toString() : "null"));
|
||||||
System.out.println("old_sfdc_id__c: " + account.getField("old_sfdc_id__c"));
|
System.out.println("old_sfdc_id__c: " + (account.getField("old_sfdc_id__c") != null ? account.getField("old_sfdc_id__c").toString() : "null"));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -881,15 +878,12 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
|||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
for (int i = 0; i < accounts.length; i++) {
|
for (int i = 0; i < accounts.length; i++) {
|
||||||
SObject account = accounts[i];
|
SObject account = accounts[i];
|
||||||
if (account == null){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (errorId != null && (errorId.equals(account.getId()) || errorId.equals(account.getField("Id")))){
|
if (errorId != null && (errorId.equals(account.getId()) || errorId.equals(account.getField("Id")))){
|
||||||
for (DataField dataField : list) {
|
for (DataField dataField : list) {
|
||||||
try {
|
try {
|
||||||
Object value = account.getField(dataField.getField());
|
Object value = account.getField(dataField.getField());
|
||||||
map.put(dataField.getField(),String.valueOf(value));
|
map.put(dataField.getField(),String.valueOf(value));
|
||||||
System.out.println(dataField.getField() + ": " + value);
|
System.out.println(dataField.getField() + ": " + (value != null ? value.toString() : "null"));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println(dataField.getField() + ": [权限不足或字段不存在]");
|
System.out.println(dataField.getField() + ": [权限不足或字段不存在]");
|
||||||
}
|
}
|
||||||
|
@ -335,7 +335,7 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
//引用类型
|
//引用类型
|
||||||
String reference = dataField.getReferenceTo();
|
String reference = dataField.getReferenceTo();
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
String linkfield = fieldMap.get(dataField.getField());
|
String linkfield = fieldMap.get(dataField.getApi());
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(linkfield)){
|
if (StringUtils.isNotBlank(linkfield)){
|
||||||
reference = data.get(j-1).get(linkfield)!=null?data.get(j-1).get(linkfield).toString():null;
|
reference = data.get(j-1).get(linkfield)!=null?data.get(j-1).get(linkfield).toString():null;
|
||||||
@ -370,6 +370,14 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (api.equals("vlink__Wechat_User__c")){
|
||||||
|
List<Map<String, Object>> maps = customMapper.list("new_id", "vlink__Wechat_Account__c", "new_id is not null and id = '" + data.get(j - 1).get("vlink__Wechat_Account__c") + "' limit 1");
|
||||||
|
if (!maps.isEmpty()){
|
||||||
|
Map<String, Object> referenceMap = maps.get(0);
|
||||||
|
account.setField("vlink__Wechat_Account__c", referenceMap.get("new_id"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ids[j-1] = data.get(j-1).get("Id").toString();
|
ids[j-1] = data.get(j-1).get("Id").toString();
|
||||||
accounts[j-1] = account;
|
accounts[j-1] = account;
|
||||||
if (i*200+j == count){
|
if (i*200+j == count){
|
||||||
@ -398,7 +406,8 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
}
|
}
|
||||||
TimeUnit.MILLISECONDS.sleep(1);
|
TimeUnit.MILLISECONDS.sleep(1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("manualCreatedNewId error api:{},错误信息:{}", api, e.getMessage());
|
log.error("manualCreatedNewId error api:{}", api, e);
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SalesforceParam countParam = new SalesforceParam();
|
SalesforceParam countParam = new SalesforceParam();
|
||||||
@ -731,19 +740,18 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
for (int i = 0; i < accounts.length; i++) {
|
for (int i = 0; i < accounts.length; i++) {
|
||||||
SObject account = accounts[i];
|
SObject account = accounts[i];
|
||||||
System.out.println("--- Account[" + i + "] ---");
|
System.out.println("--- Account[" + i + "] ---");
|
||||||
if (account == null){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 获取对象所有字段名
|
// 获取对象所有字段名
|
||||||
for (DataField dataField : list) {
|
for (DataField dataField : list) {
|
||||||
try {
|
try {
|
||||||
System.out.println(dataField.getField() + ": " + account.getField(dataField.getField()));
|
Object value = account.getField(dataField.getField());
|
||||||
|
System.out.println(dataField.getField() + ": " + (value != null ? value.toString() : "null"));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println(dataField.getField() + ": [权限不足或字段不存在]");
|
System.out.println(dataField.getField() + ": [权限不足或字段不存在]");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("old_owner_id__c: " + account.getField("old_owner_id__c"));
|
System.out.println("old_owner_id__c: " + (account.getField("old_owner_id__c") != null ? account.getField("old_owner_id__c").toString() : "null"));
|
||||||
System.out.println("old_sfdc_id__c: " + account.getField("old_sfdc_id__c"));
|
System.out.println("old_sfdc_id__c: " + (account.getField("old_sfdc_id__c") != null ? account.getField("old_sfdc_id__c").toString() : "null"));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -754,21 +762,18 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
SObject account = accounts[i];
|
SObject account = accounts[i];
|
||||||
System.out.println("--- Account[" + i + "] ---");
|
System.out.println("--- Account[" + i + "] ---");
|
||||||
if (account == null){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
// 获取对象所有字段名
|
// 获取对象所有字段名
|
||||||
for (DataField dataField : list) {
|
for (DataField dataField : list) {
|
||||||
try {
|
try {
|
||||||
Object value = account.getField(dataField.getField());
|
Object value = account.getField(dataField.getField());
|
||||||
map.put(dataField.getField(),String.valueOf(value));
|
map.put(dataField.getField(),String.valueOf(value));
|
||||||
System.out.println(dataField.getField() + ": " + value);
|
System.out.println(dataField.getField() + ": " + (value != null ? value.toString() : "null"));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println(dataField.getField() + ": [权限不足或字段不存在]");
|
System.out.println(dataField.getField() + ": [权限不足或字段不存在]");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("old_owner_id__c: " + account.getField("old_owner_id__c"));
|
System.out.println("old_owner_id__c: " + (account.getField("old_owner_id__c") != null ? account.getField("old_owner_id__c").toString() : "null"));
|
||||||
System.out.println("old_sfdc_id__c: " + account.getField("old_sfdc_id__c"));
|
System.out.println("old_sfdc_id__c: " + (account.getField("old_sfdc_id__c") != null ? account.getField("old_sfdc_id__c").toString() : "null"));
|
||||||
map.put("old_owner_id__c",String.valueOf(account.getField("old_owner_id__c")));
|
map.put("old_owner_id__c",String.valueOf(account.getField("old_owner_id__c")));
|
||||||
map.put("old_sfdc_id__c",String.valueOf(account.getField("old_sfdc_id__c")));
|
map.put("old_sfdc_id__c",String.valueOf(account.getField("old_sfdc_id__c")));
|
||||||
arrayList.add(map);
|
arrayList.add(map);
|
||||||
|
@ -171,7 +171,6 @@ public class FileServiceImpl implements FileService {
|
|||||||
// 获取未存储的附件id
|
// 获取未存储的附件id
|
||||||
List<Map<String, Object>> list = customMapper.list("Id, " + name, api, extraSql + " AND is_dump = false limit 1000");
|
List<Map<String, Object>> list = customMapper.list("Id, " + name, api, extraSql + " AND is_dump = false limit 1000");
|
||||||
if (CollectionUtils.isEmpty(list)) {
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
log.info("无需要下载文件数据!!!");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
String finalName = name;
|
String finalName = name;
|
||||||
|
@ -31,10 +31,6 @@ import javax.annotation.PostConstruct;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.ZonedDateTime;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
@ -397,29 +393,12 @@ public class DataUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Object fieldTypeBulkToSf(DataField dataField) throws ParseException {
|
|
||||||
switch (dataField.getSfType()) {
|
|
||||||
case "int":
|
|
||||||
return 1;
|
|
||||||
case "double":
|
|
||||||
case "currency":
|
|
||||||
case "percent":
|
|
||||||
return new BigDecimal("1");
|
|
||||||
case "boolean":
|
|
||||||
return true;
|
|
||||||
case "email":
|
|
||||||
return "kris.dong@163.com";
|
|
||||||
case "date":
|
|
||||||
case "datetime":
|
|
||||||
return "2020-01-01T00:00:00+00:00";
|
|
||||||
default:
|
|
||||||
return "初始"+ UUID.randomUUID();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static Object localBulkDataToSfData(String fieldType, String data) throws ParseException {
|
public static Object localBulkDataToSfData(String fieldType, String data) throws ParseException {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
|
||||||
|
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
||||||
|
Date date;
|
||||||
|
//date转Calendar类型
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
switch (fieldType) {
|
switch (fieldType) {
|
||||||
case "int":
|
case "int":
|
||||||
return Integer.parseInt(data);
|
return Integer.parseInt(data);
|
||||||
@ -432,9 +411,14 @@ public class DataUtil {
|
|||||||
case "date":
|
case "date":
|
||||||
return data+"T08:00:00Z";
|
return data+"T08:00:00Z";
|
||||||
case "datetime":
|
case "datetime":
|
||||||
LocalDateTime localDateTime = LocalDateTime.parse(data, DateTimeFormatter.ISO_LOCAL_DATE_TIME);
|
try {
|
||||||
ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
|
date = sd.parse(data);
|
||||||
return zonedDateTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
|
}catch (ParseException e){
|
||||||
|
//解决当时间秒为0时,转换秒精度丢失问题
|
||||||
|
date = sd.parse(data+":00");
|
||||||
|
}
|
||||||
|
calendar.setTime(date);
|
||||||
|
return calendar;
|
||||||
case "time":
|
case "time":
|
||||||
return adjustHour(data);
|
return adjustHour(data);
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user