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 | } |