Commit 419f584a3d378507973fdf294dcc5627daa8f110
1 parent
1a05a67cda
Exists in
master
and in
6 other branches
同步
Showing 3 changed files with 54 additions and 22 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java
View file @
419f584
... | ... | @@ -4,10 +4,7 @@ |
4 | 4 | import com.lyms.platform.common.enums.YnEnums; |
5 | 5 | import com.lyms.platform.common.pojo.SyncDataModel; |
6 | 6 | import com.lyms.platform.common.pojo.SyncMysqlDataModel; |
7 | -import com.lyms.platform.common.utils.DateUtil; | |
8 | -import com.lyms.platform.common.utils.ExceptionUtils; | |
9 | -import com.lyms.platform.common.utils.JsonUtil; | |
10 | -import com.lyms.platform.common.utils.MongoSyncUtil; | |
7 | +import com.lyms.platform.common.utils.*; | |
11 | 8 | import com.lyms.platform.operate.web.utils.HttpClientUtil; |
12 | 9 | import com.lyms.platform.permission.model.Users; |
13 | 10 | import com.lyms.platform.permission.model.UsersQuery; |
14 | 11 | |
15 | 12 | |
... | ... | @@ -196,14 +193,15 @@ |
196 | 193 | private boolean exceSql(String json) |
197 | 194 | { |
198 | 195 | try { |
199 | - SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj(json, SyncMysqlDataModel.class); | |
196 | + SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj(LymsEncodeUtil.aesDecrypt(json,"Lymsh@2016"), SyncMysqlDataModel.class); | |
200 | 197 | if (mysqlDataModel != null && org.apache.commons.lang.StringUtils.isNotEmpty(mysqlDataModel.getSql())) |
201 | 198 | { |
202 | - String sql = new String(org.apache.commons.codec.binary.Base64.decodeBase64(mysqlDataModel.getSql())); | |
199 | + String sql = new String(org.apache.commons.codec.binary.Base64.decodeBase64(mysqlDataModel.getSql()),"utf-8"); | |
203 | 200 | organizationService.execSql(sql); |
204 | 201 | } |
205 | 202 | } catch (Exception e) { |
206 | 203 | ExceptionUtils.catchException(e,"exce sql error. JSONDATA="+json); |
204 | + return false; | |
207 | 205 | } |
208 | 206 | return true; |
209 | 207 | } |
... | ... | @@ -216,7 +214,7 @@ |
216 | 214 | // syncMysqlDataModel.setSqlId("sqlId"); |
217 | 215 | // |
218 | 216 | // String json = JsonUtil.obj2JsonString(syncMysqlDataModel); |
219 | - SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj("{\"sql\":\"aW5zZXJ0IGludG8gYmFieV9leWVfY2hlY2soIGlkLGNyZWF0ZWQseW4sb3BlcmF0ZXJJZCxob3NwaXRhbElkLGJhYnlJZCxwaWQsY2hlY2tNb250aElkLGNoZWNrSG9zcGl0YWwsY2hlY2tUaW1lLHJpc2tGYWN0b3IsZXh0UmlnaHRFeWVsb29rLGV4dFJpZ2h0RXllbG9va090aGVyLGJsaW5rUmlnaHRSZWZsZXgscHVwaWxsYXJ5UmlnaHRSZWZsZXgscmVkUmlnaHRSZWZsZXgsZXh0TGVmdEV5ZWxvb2ssZXh0TGVmdEV5ZWxvb2tPdGhlcixibGlua0xlZnR0UmVmbGV4LHB1cGlsbGFyeUxlZnRSZWZsZXgscmVkTGVmdFJlZmxleCxmdW5kdXNSZXN1bHQsaGFuZGxlT3BpbmlvbnNJZCxndWlkYW5jZU9waW5pb25zLGRvY3RvcixuZXh0Q2hlY2tNb250aElkLG5leHRDaGVja1RpbWUsZXh0RXllbG9vayxleHRFeWVsb29rT3RoZXIscmVkUmVmbGV4LHJlZFJlZmxleE90aGVyLHIxLHIyLGwxLGwyLG9wdG9tZXRyeSxjb25qdW5jdGl2YSxjb25qdW5jdGl2YU90aGVyLGNvcm5lYWwsY29ybmVhbE90aGVyLGxhY3JpbWFsQXBwYXJhdHVzLGxhY3JpbWFsQXBwYXJhdHVzT3RoZXIsZXllTW92ZW1lbnRzSWQsZXllUG9zaXRpb25JZCxleWVQb3NpdGlvbk90aGVyLGJpbm9jdWxhclZpc2lvbixvdGhlcixsVmlzaW9uLHJWaXNpb24scmVmcmFjdGlvbkwxLHJlZnJhY3Rpb25MMixyZWZyYWN0aW9uUjEscmVmcmFjdGlvblIyLG55c3RhZ211cyxmaXhhdGlvbkNhcmQgKSB2YWx1ZXMoJzVhZDRiYmQ0YTg1MjFhOTExZWU1OTJhOCcsJzIwMTgtNC0xNiAyMzowNTo1NicsJzEnLCcyMTAwMDAyOTkwJywnMjEwMDAwMTcwNScsJzVhZDRiOTE5YTg1MjM5YmEwMzhiNTAwZicsJzVhZDRiOTE5YTg1MjM5YmEwMzhiNTAwZCcsJzAnLCfH2LvKtbrR3cq+0r3UuicsJzIwMTgtNC0xNiAyMzowNTo1NicsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCcyMTAwMDAyOTkwJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk=\",\"sqlId\":\"com.lyms.platform.permission.dao.master.BabyEyeCheckMapper.save\"}", SyncMysqlDataModel.class); | |
217 | + SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj("{\"sql\":\"aW5zZXJ0IGludG8gYmFieV9leWVfY2hlY2soIGlkLGNyZWF0ZWQseW4sb3BlcmF0ZXJJZCxob3NwaXRhbElkLGJhYnlJZCxwaWQsY2hlY2tNb250aElkLGNoZWNrSG9zcGl0YWwsY2hlY2tUaW1lLHJpc2tGYWN0b3IsZXh0UmlnaHRFeWVsb29rLGV4dFJpZ2h0RXllbG9va090aGVyLGJsaW5rUmlnaHRSZWZsZXgscHVwaWxsYXJ5UmlnaHRSZWZsZXgscmVkUmlnaHRSZWZsZXgsZXh0TGVmdEV5ZWxvb2ssZXh0TGVmdEV5ZWxvb2tPdGhlcixibGlua0xlZnR0UmVmbGV4LHB1cGlsbGFyeUxlZnRSZWZsZXgscmVkTGVmdFJlZmxleCxmdW5kdXNSZXN1bHQsaGFuZGxlT3BpbmlvbnNJZCxndWlkYW5jZU9waW5pb25zLGRvY3RvcixuZXh0Q2hlY2tNb250aElkLG5leHRDaGVja1RpbWUsZXh0RXllbG9vayxleHRFeWVsb29rT3RoZXIscmVkUmVmbGV4LHJlZFJlZmxleE90aGVyLHIxLHIyLGwxLGwyLG9wdG9tZXRyeSxjb25qdW5jdGl2YSxjb25qdW5jdGl2YU90aGVyLGNvcm5lYWwsY29ybmVhbE90aGVyLGxhY3JpbWFsQXBwYXJhdHVzLGxhY3JpbWFsQXBwYXJhdHVzT3RoZXIsZXllTW92ZW1lbnRzSWQsZXllUG9zaXRpb25JZCxleWVQb3NpdGlvbk90aGVyLGJpbm9jdWxhclZpc2lvbixvdGhlcixsVmlzaW9uLHJWaXNpb24scmVmcmFjdGlvbkwxLHJlZnJhY3Rpb25MMixyZWZyYWN0aW9uUjEscmVmcmFjdGlvblIyLG55c3RhZ211cyxmaXhhdGlvbkNhcmQgKSB2YWx1ZXMoJzVhZDRjMjlhYTg1MjFhOTExZWU1OTJlYycsJzIwMTgtNC0xNiAyMzozNDo1MCcsJzEnLCcyMTAwMDAyOTkwJywnMjEwMDAwMTcwNScsJzVhZDRhNWMxYTg1MjcwODc2MDE0ZmI4ZScsJzVhZDRhNWMxYTg1MjcwODc2MDE0ZmI4NCcsJzMnLCfH2LvKtbrR3cq+0r3UuicsJzIwMTgtNC0xNiAyMzozNDo1MCcsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsJzQnLCfR276musO1w7rcJywnMjEwMDAwMjk5MCcsbnVsbCxudWxsLCd5YW5nJyxudWxsLCd5YW5nJyxudWxsLCcyMycsJzQ1JyxudWxsLG51bGwsbnVsbCwneWFuZycsbnVsbCwneWFuZycsbnVsbCwneWFuZycsbnVsbCwneHonLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsJ3lhbmcnLG51bGwp\\\",\\\"sqlId\\\":\\\"com.lyms.platform.permission.dao.master.BabyEyeCheckMapper.save\"}", SyncMysqlDataModel.class); | |
220 | 218 | //String str = org.apache.commons.codec.binary.Base64.encodeBase64String(mysqlDataModel.getSql().getBytes()); |
221 | 219 | //String sql = new String(org.apache.commons.codec.binary.Base64.decodeBase64("YVc1elpYSjBJR2x1ZEc4Z1ltRmllVjlsZVdWZlkyaGxZMnNvSUdsa0xHTnlaV0YwWldRc2VXNHNiM0JsY21GMFpYSkpaQ3hvYjNOd2FYUmhiRWxrTEdKaFlubEpaQ3h3YVdRc1kyaGxZMnROYjI1MGFFbGtMR05vWldOclNHOXpjR2wwWVd3c1kyaGxZMnRVYVcxbExISnBjMnRHWVdOMGIzSXNaWGgwVW1sbmFIUkZlV1ZzYjI5ckxHVjRkRkpwWjJoMFJYbGxiRzl2YTA5MGFHVnlMR0pzYVc1clVtbG5hSFJTWldac1pYZ3NjSFZ3YVd4c1lYSjVVbWxuYUhSU1pXWnNaWGdzY21Wa1VtbG5hSFJTWldac1pYZ3NaWGgwVEdWbWRFVjVaV3h2YjJzc1pYaDBUR1ZtZEVWNVpXeHZiMnRQZEdobGNpeGliR2x1YTB4bFpuUjBVbVZtYkdWNExIQjFjR2xzYkdGeWVVeGxablJTWldac1pYZ3NjbVZrVEdWbWRGSmxabXhsZUN4bWRXNWtkWE5TWlhOMWJIUXNhR0Z1Wkd4bFQzQnBibWx2Ym5OSlpDeG5kV2xrWVc1alpVOXdhVzVwYjI1ekxHUnZZM1J2Y2l4dVpYaDBRMmhsWTJ0TmIyNTBhRWxrTEc1bGVIUkRhR1ZqYTFScGJXVXNaWGgwUlhsbGJHOXZheXhsZUhSRmVXVnNiMjlyVDNSb1pYSXNjbVZrVW1WbWJHVjRMSEpsWkZKbFpteGxlRTkwYUdWeUxISXhMSEl5TEd3eExHd3lMRzl3ZEc5dFpYUnllU3hqYjI1cWRXNWpkR2wyWVN4amIyNXFkVzVqZEdsMllVOTBhR1Z5TEdOdmNtNWxZV3dzWTI5eWJtVmhiRTkwYUdWeUxHeGhZM0pwYldGc1FYQndZWEpoZEhWekxHeGhZM0pwYldGc1FYQndZWEpoZEhWelQzUm9aWElzWlhsbFRXOTJaVzFsYm5SelNXUXNaWGxsVUc5emFYUnBiMjVKWkN4bGVXVlFiM05wZEdsdmJrOTBhR1Z5TEdKcGJtOWpkV3hoY2xacGMybHZiaXh2ZEdobGNpeHNWbWx6YVc5dUxISldhWE5wYjI0c2NtVm1jbUZqZEdsdmJrd3hMSEpsWm5KaFkzUnBiMjVNTWl4eVpXWnlZV04wYVc5dVVqRXNjbVZtY21GamRHbHZibEl5TEc1NWMzUmhaMjExY3l4bWFYaGhkR2x2YmtOaGNtUWdLU0IyWVd4MVpYTW9KelZoWkRSaFpUWTNZVGcxTWpNNVltRXdNemhpTkdZMU55Y3NKekl3TVRndE5DMHhOaUF5TWpvd09Eb3pPU2NzSnpFbkxDY3lNVEF3TURBeU9Ua3dKeXduTWpFd01EQXdNVGN3TlNjc0p6VmhaRFJoWlRReFlUZzFNak01WW1Fd016aGlOR1kwWkNjc0p6VmhaRFJoWlRReFlUZzFNak01WW1Fd016aGlOR1kwTlNjc0p6TW5MQ2ZIMkx2S3RiclIzY3ErMHIzVXVpY3NKekl3TVRndE5DMHhOaUF5TWpvd09Eb3pPU2NzYm5Wc2JDeHVkV3hzTEc1MWJHd3NiblZzYkN4dWRXeHNMRzUxYkd3c2JuVnNiQ3h1ZFd4c0xHNTFiR3dzYm5Wc2JDeHVkV3hzTEc1MWJHd3NiblZzYkN4dWRXeHNMQ2N5TVRBd01EQXlPVGt3Snl4dWRXeHNMRzUxYkd3c2JuVnNiQ3h1ZFd4c0xDZDVhVzRuTEc1MWJHd3NKekV5Snl3bk16UW5MQ2MxTmljc0p6YzRKeXh1ZFd4c0xDZDVZVzVuSnl4dWRXeHNMRzUxYkd3c2JuVnNiQ3duZVdsdUp5eHVkV3hzTENkNGRDY3NiblZzYkN4dWRXeHNMRzUxYkd3c2JuVnNiQ3h1ZFd4c0xHNTFiR3dzYm5Wc2JDeHVkV3hzTEc1MWJHd3NiblZzYkN4dWRXeHNMRzUxYkd3cA=="), "utf-8"); |
222 | 220 | String sql = new String(org.apache.commons.codec.binary.Base64.decodeBase64(mysqlDataModel.getSql())); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
View file @
419f584
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | |
3 | 3 | import com.lyms.platform.biz.service.BasicConfigService; |
4 | 4 | import com.lyms.platform.common.enums.*; |
5 | +import com.lyms.platform.common.pojo.SyncDataModel; | |
5 | 6 | import com.lyms.platform.common.result.*; |
6 | 7 | import com.lyms.platform.common.utils.*; |
7 | 8 | import com.lyms.platform.common.utils.ReflectionUtils; |
... | ... | @@ -18,6 +19,7 @@ |
18 | 19 | import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; |
19 | 20 | import com.lyms.platform.permission.dao.master.CouponMapper; |
20 | 21 | import com.lyms.platform.pojo.*; |
22 | +import org.apache.commons.codec.binary.*; | |
21 | 23 | import org.apache.commons.collections.map.HashedMap; |
22 | 24 | import org.springframework.beans.factory.annotation.Autowired; |
23 | 25 | import org.springframework.data.domain.Sort; |
... | ... | @@ -28,6 +30,7 @@ |
28 | 30 | import org.springframework.stereotype.Service; |
29 | 31 | |
30 | 32 | import javax.servlet.http.HttpServletResponse; |
33 | +import java.io.Serializable; | |
31 | 34 | import java.util.*; |
32 | 35 | |
33 | 36 | /** |
... | ... | @@ -63,6 +66,8 @@ |
63 | 66 | @Autowired |
64 | 67 | private OperateLogFacade operateLogFacade; |
65 | 68 | |
69 | + public static String mongo_crypto_key = Config.getItem("mongo_crypto_key", "0"); | |
70 | + | |
66 | 71 | @Override |
67 | 72 | public BaseObjectResponse init() { |
68 | 73 | List<Map<String, Object>> addSubtract = EnumUtil.toJson(AddSubtractEnums.class); /** (+) (一) 其他 */ |
69 | 74 | |
... | ... | @@ -90,7 +95,9 @@ |
90 | 95 | babyEyeCheck.setPid(babyModel.getPid()); |
91 | 96 | babyEyeCheck.setBirth(babyModel.getBirth()); |
92 | 97 | } |
98 | + syncData("ADD", babyEyeCheck, ""); | |
93 | 99 | mongoTemplate.save(babyEyeCheck); |
100 | + | |
94 | 101 | if(CollectionUtils.isNotEmpty(babyEyeCheck.getRiskFactorId())) { |
95 | 102 | String riskFactor = org.apache.commons.lang3.StringUtils.join(babyEyeCheck.getRiskFactorId().toArray(), ","); |
96 | 103 | babyEyeCheck.setRiskFactor(riskFactor); |
... | ... | @@ -105,6 +112,9 @@ |
105 | 112 | |
106 | 113 | Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(babyEyeCheck)); |
107 | 114 | mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(babyEyeCheck.getId())), update, BabyEyeCheck.class); |
115 | + | |
116 | + syncData("UPDATE", babyEyeCheck, babyEyeCheck.getId()); | |
117 | + | |
108 | 118 | if(CollectionUtils.isNotEmpty(babyEyeCheck.getRiskFactorId())) { |
109 | 119 | String riskFactor = org.apache.commons.lang3.StringUtils.join(babyEyeCheck.getRiskFactorId().toArray(), ","); |
110 | 120 | babyEyeCheck.setRiskFactor(riskFactor); |
... | ... | @@ -283,7 +293,7 @@ |
283 | 293 | List<BabyEyeCheck> list = mongoTemplate.find(Query.query(Criteria.where("id").is(id)),BabyEyeCheck.class); |
284 | 294 | if (CollectionUtils.isNotEmpty(list)) |
285 | 295 | { |
286 | - operateLogFacade.addDeleteOptLog(userId,Integer.parseInt(hospitalId),list.get(0),OptActionEnums.DELETE.getId(),"删除眼保健检查"); | |
296 | + operateLogFacade.addDeleteOptLog(userId, Integer.parseInt(hospitalId), list.get(0), OptActionEnums.DELETE.getId(), "删除眼保健检查"); | |
287 | 297 | } |
288 | 298 | |
289 | 299 | return RespBuilder.buildSuccess(); |
... | ... | @@ -605,6 +615,29 @@ |
605 | 615 | } |
606 | 616 | |
607 | 617 | ResponseUtil.responseExcel(cnames, results, response); |
618 | + } | |
619 | + | |
620 | + private void syncData(String action,Object data,String id) | |
621 | + { | |
622 | + try { | |
623 | + SyncDataModel model = new SyncDataModel(); | |
624 | + model.setAction(action); | |
625 | + if (null != data) { | |
626 | + model.setClassName(LymsEncodeUtil.aesEncrypt(data.getClass().getName(), mongo_crypto_key)); | |
627 | + model.setJsonData(org.apache.commons.codec.binary.Base64.encodeBase64String(SerializUtils.objToByte((Serializable) data))); | |
628 | + model.setType(1); | |
629 | + } | |
630 | + model.setCreated(new Date()); | |
631 | + model.setModified(model.getCreated()); | |
632 | + if (org.apache.commons.lang.StringUtils.isNotBlank(id)) { | |
633 | + model.setDataId(LymsEncodeUtil.aesEncrypt(id, mongo_crypto_key)); | |
634 | + } | |
635 | + model.setStatus(1); | |
636 | + mongoTemplate.insert(model); | |
637 | + }catch (Exception e) | |
638 | + { | |
639 | + ExceptionUtils.catchException(e,"眼保健数据同步"); | |
640 | + } | |
608 | 641 | } |
609 | 642 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java
View file @
419f584
... | ... | @@ -10,9 +10,11 @@ |
10 | 10 | import java.util.Map.Entry; |
11 | 11 | |
12 | 12 | import com.lyms.platform.common.pojo.SyncDataModel; |
13 | +import com.lyms.platform.common.pojo.SyncMysqlDataModel; | |
13 | 14 | import com.lyms.platform.common.utils.ExceptionUtils; |
14 | 15 | import com.lyms.platform.common.utils.JsonUtil; |
15 | 16 | import com.alibaba.fastjson.JSONObject; |
17 | +import com.lyms.platform.common.utils.LymsEncodeUtil; | |
16 | 18 | import org.apache.http.*; |
17 | 19 | import org.apache.http.client.HttpClient; |
18 | 20 | import org.apache.http.client.config.RequestConfig; |
... | ... | @@ -215,20 +217,19 @@ |
215 | 217 | } |
216 | 218 | return json1; |
217 | 219 | } |
218 | -// | |
219 | -// public static void main(String[] args) | |
220 | -// { | |
221 | -// SqlRequest request = new SqlRequest(); | |
222 | -// try { | |
223 | -// request.setSql(org.apache.commons.codec.binary.Base64.encodeBase64String("asdafsd".getBytes("utf-8"))); | |
224 | -// } catch (UnsupportedEncodingException e) { | |
225 | -// e.printStackTrace(); | |
226 | -// } | |
227 | -// request.setSqlId("11"); | |
228 | -// String json = JsonUtil.obj2Str(request); | |
229 | -// String result = HttpClientUtil.doPostSSL("https://area-lc-api.healthbaby.com.cn:55581/syncMysqlData",json,"3d19960bf3e81e7d816c4f26051c49ba"); | |
230 | -// System.out.print(result); | |
231 | -// } | |
220 | + | |
221 | + public static void main(String[] args) | |
222 | + { | |
223 | + String json = HttpClientUtil.doPost("https://area-qhd-api.healthbaby.com.cn:18019/findSyncData", new HashMap<String, String>(), "utf-8"); | |
224 | + String s = null; | |
225 | + try { | |
226 | + SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj(json, SyncMysqlDataModel.class); | |
227 | + s = LymsEncodeUtil.aesDecrypt(mysqlDataModel.getSql(), "Lymsh@2016"); | |
228 | + } catch (Exception e) { | |
229 | + e.printStackTrace(); | |
230 | + } | |
231 | + System.out.print(s); | |
232 | + } | |
232 | 233 | |
233 | 234 | } |