Commit 419f584a3d378507973fdf294dcc5627daa8f110

Authored by liquanyu
1 parent 1a05a67cda

同步

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 }