diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateJsonValueProcessor.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateJsonValueProcessor.java
new file mode 100644
index 0000000..830af67
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateJsonValueProcessor.java
@@ -0,0 +1,60 @@
+package com.lyms.platform.common.utils;
+
+/**
+ * Created by riecard on 2016/11/14.
+ */
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import net.sf.json.JsonConfig;
+import net.sf.json.processors.JsonValueProcessor;
+
+public class DateJsonValueProcessor implements JsonValueProcessor {
+ /**
+ * 字母 日期或时间元素 表示 示例
+ * G Era 标志符 Text AD
+ * y 年 Year 1996; 96
+ * M 年中的月份 Month July; Jul; 07
+ * w 年中的周数 Number 27
+ * W 月份中的周数 Number 2
+ * D 年中的天数 Number 189
+ * d 月份中的天数 Number 10
+ * F 月份中的星期 Number 2
+ * E 星期中的天数 Text Tuesday; Tue
+ * a Am/pm 标记 Text PM
+ * H 一天中的小时数(0-23) Number 0
+ * k 一天中的小时数(1-24) Number 24
+ * K am/pm 中的小时数(0-11) Number 0
+ * h am/pm 中的小时数(1-12) Number 12
+ * m 小时中的分钟数 Number 30
+ * s 分钟中的秒数 Number 55
+ * S 毫秒数 Number 978
+ * z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
+ * Z 时区 RFC 822 time zone -0800
+ */
+ public static final String Default_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
+ private DateFormat dateFormat;
+
+ public DateJsonValueProcessor(String datePattern) {
+ try {
+ dateFormat = new SimpleDateFormat(datePattern);
+ } catch (Exception e) {
+ dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);
+ }
+ }
+
+ public Object processArrayValue(Object value, JsonConfig jsonConfig) {
+ return process(value);
+ }
+
+ public Object processObjectValue(String key, Object value,
+ JsonConfig jsonConfig) {
+ return process(value);
+ }
+
+ private Object process(Object value) {
+ return dateFormat.format((Date) value);
+
+ }
+}
\ No newline at end of file
diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java
index daf1f82..16bcb2c 100644
--- a/platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java
+++ b/platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java
@@ -6,14 +6,28 @@ import com.lyms.platform.common.dao.operator.MongoQuery;
import com.lyms.platform.common.pojo.SyncDataModel;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
+import net.sf.json.JsonConfig;
+import net.sf.json.processors.JsDateJsonValueProcessor;
import org.apache.commons.lang.StringUtils;
import org.codehaus.jackson.map.ObjectMapper;
import org.springframework.data.mongodb.core.query.Update;
import java.io.IOException;
+import java.sql.Timestamp;
import java.util.*;
public class JsonUtil {
+
+ static JsonConfig config = new JsonConfig();
+
+ static {
+ config.registerJsonValueProcessor(Date.class,
+ new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));
+ config.registerJsonValueProcessor(Timestamp.class,
+ new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));
+ }
+
+
public static T jkstr2Obj(String content,
Class cls) {
ObjectMapper objectMapper = new ObjectMapper();
@@ -49,7 +63,7 @@ public class JsonUtil {
public static JSONObject getObj(String content) {
if (StringUtils.isNotBlank(content))
- return JSONObject.fromObject(content);
+ return JSONObject.fromObject(content, config);
return null;
}
@@ -63,7 +77,7 @@ public class JsonUtil {
public static String obj2JsonString(Object obj) {
try {
- return JSONObject.fromObject(obj).toString();
+ return JSONObject.fromObject(obj, config).toString();
} catch (Exception e) {
ExceptionUtils.catchException(e, "obj2 json string error ." + e.getMessage());
}
@@ -71,13 +85,13 @@ public class JsonUtil {
}
public static String array2JsonString(Object obj) {
- return JSONArray.fromObject(obj).toString();
+ return JSONArray.fromObject(obj, config).toString();
}
@SuppressWarnings("unchecked")
public static List toList(String content,
Class cls) {
- return (List) JSONArray.toCollection(JSONArray.fromObject(content), cls);
+ return (List) JSONArray.toCollection(JSONArray.fromObject(content, config), cls);
}
public static void main(String[] args) {
diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java
index 7ea43d7..0c2d3ca 100644
--- a/platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java
+++ b/platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java
@@ -99,8 +99,9 @@ public class MongoSyncUtil {
Object aaa = JsonUtil.str2Obj(JsonUtil.obj2JsonString(info), Class.forName(info.getClass().getName()));
System.out.println(MD5Utils.md5(aaa.getClass().getName()));
System.out.println(LymsEncodeUtil.aesEncrypt("com.lyms.platform.pojo.AntenatalExaminationModel", "Lymsh@2016"));
- System.out.println(LymsEncodeUtil.aesDecrypt("26EB0301C4A2410E90985A3E55856E4B86730CD45542FD5129D8EDC5ED4C690D","Lymsh@2016"));
- String ssss = LymsEncodeUtil.aesDecrypt("E75ACE9E5E23E6BB253B26F8F5B94156B72CCE1E6118C8A72D501E3B34BC377B013B4A8AE524B0F33E9D2FF7001FBD08A60FA406B2C0D5EBA2B923156B223A45287B1B95F7DF5905EB8FABBD537800173C423A706FACE7C63D809A2274A60120F38E5C35AEE2869F44907FFECC2EA1221223D3E0F9B5EE703446A1156A673BEE02A5E94E27A525BBDC8909E6CCCFC63A2923F29B060D2A93A732C30123F4840CE2FF2CF876A3400189C3F23C51F810DA588177B9C1A4EC224920FF3C0EF44847E3C20529445FC6093CD123BF67CA58C11367F7C8D596859803B37BC9D9057FCC605B9D6BA1173BFFCEC688CF01B423E5", "Lymsh@2016");
+ System.out.println(LymsEncodeUtil.aesDecrypt("26EB0301C4A2410E90985A3E55856E4B17CABBCE00EE3710B5338326EF3D68CA40298890D135C40B591D77FE529AAC4E","Lymsh@2016"));
+ System.out.println();
+ String ssss = LymsEncodeUtil.aesDecrypt("8092817F8193D33BE10DE56935C157288FCAC8B7692BECA293504A9D487C207288C0A44ECA93600DC916D943AB6123AE24C1291D79503683D613C576B3704ABE82FA9B1285B343DD091E04C8FFB1BB8C6B0FCD48E397BAB86F484CC534AB6F1F0FAF4BB2B8CCE48F4FD740C102F72D564E92B74D4F463543A39A14D33D6E86E53DD7F5E6827006C1D2C9148C70AA6B397B90CE84E774FCFB5D034E79306BAB24481AC7617B763C4F2B94E71E9C68E2EE0222EB4AD90C2860303BFFDAD3F8F5FCE5C8D26B4D4B14DEBEC8C176A5E19EDA25CF68C1394D435267882C4C8D3D736F84004985A18CA0FF5C100AC40A074981485C7410DB4C4DD101E424E283D7FC3A69914727D5554C2C810862656190567AA211CAEE091BD384271C31DD7276E10FB8CECE0790D59EE18A06ABC1CBC406800057030323C8F3C2C16D9E85E31BE2D63CA31D99FCC5C7E2E1D552779ED5E57AF484BE7F34FBAF0BA5AB6CEB43FA45E231BE428D83ADE2C08CFF0A40E28F8441A16D4A3582B74273F081F4C7E7C672412FAB2E061F0C89DFED5BF6675CC648AE0EABFCC3B87A0316C65590C4F2C7ECB93C4952AC4257BC562D99D9A71E70B3077FA37536B654EF0879BF4B474FCE978059C6FBFDBF35E69D678F9B70E231FA2077B1D2F46B4E7ACAC5592BE63F472F4499DC4A529AA5E95ED41FADDE96378B571AE02F614F124D4DD4AD65A65E7051AC5C4AC46B99B40D4E02E12B25B47A695802B27A888070A3B7B1BC22DE5A9451BB7C09DDB298B5DDB73754339039288DECB1FFD31A0045F8543AA081E29A08DF99F4F48320FC6C6321D6C8932806332B8FDDE30E6CC26A271D429AD79B25DE1D2B9CA51E04BCDCE9BD290932583774FF2790E22C9E0D66FF266C8B3CBB92959CA1C50BB2E92E007FE74F7EE562C6833E69864B1F0D1621F213B05A2BE63B75418A0948D613E0BE8B894D01A7F120850AF98A938FD4DB6AB75E949F5FF0E75AF9A4667C0D4466778CB198B33F526285D90D5809FE7FC862E60A744664B9BFB91A2E43AA3434402EFE9217A7ADF8C519A5B6A48EF852E45E027C8BE9424D79A8096F4C98DE16B0DE2E5740F75C0DDF0AC8192818C6D864F41DBC6C4898EFB692103A97270F4AE03E9300215D65EEDD52473AAD0F83290CA85F9E190B154E34D56E18370F12F33DBD7F35DA476ECF7211000C0508805E2429422A94DBD3296C26D8A859C6FBFDBF35E69D678F9B70E231FA20C0A36E8D6883CAE2D7B9978221B55E60E9BAF730BFDE116772B4DF6EAD107B250E2B987756AB90DC6166A136FEA7010B1FCE2788ADA2367F164094325BD7A323B6C67115C6964F7FE56F4914D0DE29D08787DCB10387B961DAC2F78A57981019EA0C89D13546F29670FA7E2928A7203B0172244B9D4802C76971980AA0859713ABE7D0ADFFDF1EEA22826B31D8DD5C61DB8BFB4C17909F9B098563B7D22DCDED3347C4D4F94FE2D09DCB1F569205ADED73D90BEBF183255D827FA873228C4E092CB47C997D727D57DA3D83F53C3A510686B90C3ABCEE0B49C66327EEC60E83A8086A881E5E398233660FCCA0DE65F4BFC8FD48AF452E6EC3B721A55EFBBA7A362A4C373399B38C787358CBDE1E72EA7D1ECFF79B71DF77D533BE8596F16237667FE6619F15E9676DB849DC6ACBC06DAA776B405D687632895302216F1EDA659962B74F47A5B305623EFE466090EEE6BFE82EB5C98F31E9EBC2E0A4C74C4AF1B7FBB7AA7528C18EB56A29CFE5BF19AE063F5202664D7FEDD2D28B9A09122DEB50A27742855315921018A6A5A8F890C1DE919766A561184D22FC4F6EFB2CD0A2D9ABF1F3678547B1318F1192E8EAF8FA9B6C50C58546DF1C53FD2A4FA204EBF025535D5EAA33B0EE081F12A55A7EFB0C1B582D900D35D1557F56FCD9494AA0C8503E3E565785B656BA2415FB9BFE160A1371777AE606ECAD799A6AB3D11508026585EB0FE6EB05986978EF86E01A92296E52EB58DF88298F747869C5266F737B70DD3009B1763D2E1B3529D066C10E969CAB958D7C1E7CA41FE4D97B2AA9B474B21F17C8926E2D12E2A10FE4B48F5B9180B04DC255EA38B43A7E1301942F3AB9413D0131E91EE0F2657D394CF5FD6A5E1F8088E1E937CAAFE11106F8ECC5D2DF0C5EE4EF5CF507A44699783F51CAD85DF273AFBF6AA4F6E9FD460BC14C1314B774D655002855A3B4ABED752905A7EE63B11B211286E10FB3F1CEA2CAB57634B16F9848C7D418B48D2E84A78F5A7725F57D5EB4314AEC74BCF3D9A88BAD7F125F809505472E18A71CE82747804F655D49EDFAAA78DCC69F11C206E6FCB8F6381892618FA9C6FC95872AE447D7E716DFA778BAF1630A44F66F566F3FFCE683D93D43740CEBE6B6E4CFC0DE474150A861E9FC1C4A02966B3F560F6E8311037547D79962C0B93E097E6D9B07B781AF3A451002E42F9219C3BB06EB860DAF46183B05AAF311EEAAA7A58DADECFA956A00E7505EBE60035AF518D5FF378FA6FEE1123515A4001AEBDEC6FB475D5D442ADE62D5CB", "Lymsh@2016");
System.out.println(ssss);
System.out.println(ssss);
UpdateMultiData data = new UpdateMultiData();