diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java index 0bf96ca..582c4e4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java @@ -4,10 +4,7 @@ import com.lyms.platform.biz.service.*; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.pojo.SyncDataModel; import com.lyms.platform.common.pojo.SyncMysqlDataModel; -import com.lyms.platform.common.utils.DateUtil; -import com.lyms.platform.common.utils.ExceptionUtils; -import com.lyms.platform.common.utils.JsonUtil; -import com.lyms.platform.common.utils.MongoSyncUtil; +import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.utils.HttpClientUtil; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.model.UsersQuery; @@ -196,14 +193,15 @@ public class SyncDataTaskService { private boolean exceSql(String json) { try { - SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj(json, SyncMysqlDataModel.class); + SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj(LymsEncodeUtil.aesDecrypt(json,"Lymsh@2016"), SyncMysqlDataModel.class); if (mysqlDataModel != null && org.apache.commons.lang.StringUtils.isNotEmpty(mysqlDataModel.getSql())) { - String sql = new String(org.apache.commons.codec.binary.Base64.decodeBase64(mysqlDataModel.getSql())); + String sql = new String(org.apache.commons.codec.binary.Base64.decodeBase64(mysqlDataModel.getSql()),"utf-8"); organizationService.execSql(sql); } } catch (Exception e) { ExceptionUtils.catchException(e,"exce sql error. JSONDATA="+json); + return false; } return true; } @@ -216,7 +214,7 @@ public class SyncDataTaskService { // syncMysqlDataModel.setSqlId("sqlId"); // // String json = JsonUtil.obj2JsonString(syncMysqlDataModel); - SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj("{\"sql\":\"aW5zZXJ0IGludG8gYmFieV9leWVfY2hlY2soIGlkLGNyZWF0ZWQseW4sb3BlcmF0ZXJJZCxob3NwaXRhbElkLGJhYnlJZCxwaWQsY2hlY2tNb250aElkLGNoZWNrSG9zcGl0YWwsY2hlY2tUaW1lLHJpc2tGYWN0b3IsZXh0UmlnaHRFeWVsb29rLGV4dFJpZ2h0RXllbG9va090aGVyLGJsaW5rUmlnaHRSZWZsZXgscHVwaWxsYXJ5UmlnaHRSZWZsZXgscmVkUmlnaHRSZWZsZXgsZXh0TGVmdEV5ZWxvb2ssZXh0TGVmdEV5ZWxvb2tPdGhlcixibGlua0xlZnR0UmVmbGV4LHB1cGlsbGFyeUxlZnRSZWZsZXgscmVkTGVmdFJlZmxleCxmdW5kdXNSZXN1bHQsaGFuZGxlT3BpbmlvbnNJZCxndWlkYW5jZU9waW5pb25zLGRvY3RvcixuZXh0Q2hlY2tNb250aElkLG5leHRDaGVja1RpbWUsZXh0RXllbG9vayxleHRFeWVsb29rT3RoZXIscmVkUmVmbGV4LHJlZFJlZmxleE90aGVyLHIxLHIyLGwxLGwyLG9wdG9tZXRyeSxjb25qdW5jdGl2YSxjb25qdW5jdGl2YU90aGVyLGNvcm5lYWwsY29ybmVhbE90aGVyLGxhY3JpbWFsQXBwYXJhdHVzLGxhY3JpbWFsQXBwYXJhdHVzT3RoZXIsZXllTW92ZW1lbnRzSWQsZXllUG9zaXRpb25JZCxleWVQb3NpdGlvbk90aGVyLGJpbm9jdWxhclZpc2lvbixvdGhlcixsVmlzaW9uLHJWaXNpb24scmVmcmFjdGlvbkwxLHJlZnJhY3Rpb25MMixyZWZyYWN0aW9uUjEscmVmcmFjdGlvblIyLG55c3RhZ211cyxmaXhhdGlvbkNhcmQgKSB2YWx1ZXMoJzVhZDRiYmQ0YTg1MjFhOTExZWU1OTJhOCcsJzIwMTgtNC0xNiAyMzowNTo1NicsJzEnLCcyMTAwMDAyOTkwJywnMjEwMDAwMTcwNScsJzVhZDRiOTE5YTg1MjM5YmEwMzhiNTAwZicsJzVhZDRiOTE5YTg1MjM5YmEwMzhiNTAwZCcsJzAnLCfH2LvKtbrR3cq+0r3UuicsJzIwMTgtNC0xNiAyMzowNTo1NicsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCcyMTAwMDAyOTkwJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk=\",\"sqlId\":\"com.lyms.platform.permission.dao.master.BabyEyeCheckMapper.save\"}", SyncMysqlDataModel.class); + SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj("{\"sql\":\"aW5zZXJ0IGludG8gYmFieV9leWVfY2hlY2soIGlkLGNyZWF0ZWQseW4sb3BlcmF0ZXJJZCxob3NwaXRhbElkLGJhYnlJZCxwaWQsY2hlY2tNb250aElkLGNoZWNrSG9zcGl0YWwsY2hlY2tUaW1lLHJpc2tGYWN0b3IsZXh0UmlnaHRFeWVsb29rLGV4dFJpZ2h0RXllbG9va090aGVyLGJsaW5rUmlnaHRSZWZsZXgscHVwaWxsYXJ5UmlnaHRSZWZsZXgscmVkUmlnaHRSZWZsZXgsZXh0TGVmdEV5ZWxvb2ssZXh0TGVmdEV5ZWxvb2tPdGhlcixibGlua0xlZnR0UmVmbGV4LHB1cGlsbGFyeUxlZnRSZWZsZXgscmVkTGVmdFJlZmxleCxmdW5kdXNSZXN1bHQsaGFuZGxlT3BpbmlvbnNJZCxndWlkYW5jZU9waW5pb25zLGRvY3RvcixuZXh0Q2hlY2tNb250aElkLG5leHRDaGVja1RpbWUsZXh0RXllbG9vayxleHRFeWVsb29rT3RoZXIscmVkUmVmbGV4LHJlZFJlZmxleE90aGVyLHIxLHIyLGwxLGwyLG9wdG9tZXRyeSxjb25qdW5jdGl2YSxjb25qdW5jdGl2YU90aGVyLGNvcm5lYWwsY29ybmVhbE90aGVyLGxhY3JpbWFsQXBwYXJhdHVzLGxhY3JpbWFsQXBwYXJhdHVzT3RoZXIsZXllTW92ZW1lbnRzSWQsZXllUG9zaXRpb25JZCxleWVQb3NpdGlvbk90aGVyLGJpbm9jdWxhclZpc2lvbixvdGhlcixsVmlzaW9uLHJWaXNpb24scmVmcmFjdGlvbkwxLHJlZnJhY3Rpb25MMixyZWZyYWN0aW9uUjEscmVmcmFjdGlvblIyLG55c3RhZ211cyxmaXhhdGlvbkNhcmQgKSB2YWx1ZXMoJzVhZDRjMjlhYTg1MjFhOTExZWU1OTJlYycsJzIwMTgtNC0xNiAyMzozNDo1MCcsJzEnLCcyMTAwMDAyOTkwJywnMjEwMDAwMTcwNScsJzVhZDRhNWMxYTg1MjcwODc2MDE0ZmI4ZScsJzVhZDRhNWMxYTg1MjcwODc2MDE0ZmI4NCcsJzMnLCfH2LvKtbrR3cq+0r3UuicsJzIwMTgtNC0xNiAyMzozNDo1MCcsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsJzQnLCfR276musO1w7rcJywnMjEwMDAwMjk5MCcsbnVsbCxudWxsLCd5YW5nJyxudWxsLCd5YW5nJyxudWxsLCcyMycsJzQ1JyxudWxsLG51bGwsbnVsbCwneWFuZycsbnVsbCwneWFuZycsbnVsbCwneWFuZycsbnVsbCwneHonLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsJ3lhbmcnLG51bGwp\\\",\\\"sqlId\\\":\\\"com.lyms.platform.permission.dao.master.BabyEyeCheckMapper.save\"}", SyncMysqlDataModel.class); //String str = org.apache.commons.codec.binary.Base64.encodeBase64String(mysqlDataModel.getSql().getBytes()); //String sql = new String(org.apache.commons.codec.binary.Base64.decodeBase64("YVc1elpYSjBJR2x1ZEc4Z1ltRmllVjlsZVdWZlkyaGxZMnNvSUdsa0xHTnlaV0YwWldRc2VXNHNiM0JsY21GMFpYSkpaQ3hvYjNOd2FYUmhiRWxrTEdKaFlubEpaQ3h3YVdRc1kyaGxZMnROYjI1MGFFbGtMR05vWldOclNHOXpjR2wwWVd3c1kyaGxZMnRVYVcxbExISnBjMnRHWVdOMGIzSXNaWGgwVW1sbmFIUkZlV1ZzYjI5ckxHVjRkRkpwWjJoMFJYbGxiRzl2YTA5MGFHVnlMR0pzYVc1clVtbG5hSFJTWldac1pYZ3NjSFZ3YVd4c1lYSjVVbWxuYUhSU1pXWnNaWGdzY21Wa1VtbG5hSFJTWldac1pYZ3NaWGgwVEdWbWRFVjVaV3h2YjJzc1pYaDBUR1ZtZEVWNVpXeHZiMnRQZEdobGNpeGliR2x1YTB4bFpuUjBVbVZtYkdWNExIQjFjR2xzYkdGeWVVeGxablJTWldac1pYZ3NjbVZrVEdWbWRGSmxabXhsZUN4bWRXNWtkWE5TWlhOMWJIUXNhR0Z1Wkd4bFQzQnBibWx2Ym5OSlpDeG5kV2xrWVc1alpVOXdhVzVwYjI1ekxHUnZZM1J2Y2l4dVpYaDBRMmhsWTJ0TmIyNTBhRWxrTEc1bGVIUkRhR1ZqYTFScGJXVXNaWGgwUlhsbGJHOXZheXhsZUhSRmVXVnNiMjlyVDNSb1pYSXNjbVZrVW1WbWJHVjRMSEpsWkZKbFpteGxlRTkwYUdWeUxISXhMSEl5TEd3eExHd3lMRzl3ZEc5dFpYUnllU3hqYjI1cWRXNWpkR2wyWVN4amIyNXFkVzVqZEdsMllVOTBhR1Z5TEdOdmNtNWxZV3dzWTI5eWJtVmhiRTkwYUdWeUxHeGhZM0pwYldGc1FYQndZWEpoZEhWekxHeGhZM0pwYldGc1FYQndZWEpoZEhWelQzUm9aWElzWlhsbFRXOTJaVzFsYm5SelNXUXNaWGxsVUc5emFYUnBiMjVKWkN4bGVXVlFiM05wZEdsdmJrOTBhR1Z5TEdKcGJtOWpkV3hoY2xacGMybHZiaXh2ZEdobGNpeHNWbWx6YVc5dUxISldhWE5wYjI0c2NtVm1jbUZqZEdsdmJrd3hMSEpsWm5KaFkzUnBiMjVNTWl4eVpXWnlZV04wYVc5dVVqRXNjbVZtY21GamRHbHZibEl5TEc1NWMzUmhaMjExY3l4bWFYaGhkR2x2YmtOaGNtUWdLU0IyWVd4MVpYTW9KelZoWkRSaFpUWTNZVGcxTWpNNVltRXdNemhpTkdZMU55Y3NKekl3TVRndE5DMHhOaUF5TWpvd09Eb3pPU2NzSnpFbkxDY3lNVEF3TURBeU9Ua3dKeXduTWpFd01EQXdNVGN3TlNjc0p6VmhaRFJoWlRReFlUZzFNak01WW1Fd016aGlOR1kwWkNjc0p6VmhaRFJoWlRReFlUZzFNak01WW1Fd016aGlOR1kwTlNjc0p6TW5MQ2ZIMkx2S3RiclIzY3ErMHIzVXVpY3NKekl3TVRndE5DMHhOaUF5TWpvd09Eb3pPU2NzYm5Wc2JDeHVkV3hzTEc1MWJHd3NiblZzYkN4dWRXeHNMRzUxYkd3c2JuVnNiQ3h1ZFd4c0xHNTFiR3dzYm5Wc2JDeHVkV3hzTEc1MWJHd3NiblZzYkN4dWRXeHNMQ2N5TVRBd01EQXlPVGt3Snl4dWRXeHNMRzUxYkd3c2JuVnNiQ3h1ZFd4c0xDZDVhVzRuTEc1MWJHd3NKekV5Snl3bk16UW5MQ2MxTmljc0p6YzRKeXh1ZFd4c0xDZDVZVzVuSnl4dWRXeHNMRzUxYkd3c2JuVnNiQ3duZVdsdUp5eHVkV3hzTENkNGRDY3NiblZzYkN4dWRXeHNMRzUxYkd3c2JuVnNiQ3h1ZFd4c0xHNTFiR3dzYm5Wc2JDeHVkV3hzTEc1MWJHd3NiblZzYkN4dWRXeHNMRzUxYkd3cA=="), "utf-8"); String sql = new String(org.apache.commons.codec.binary.Base64.decodeBase64(mysqlDataModel.getSql())); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java index 55dab64..ec6a520 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java @@ -2,6 +2,7 @@ package com.lyms.platform.operate.web.service.impl; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.common.enums.*; +import com.lyms.platform.common.pojo.SyncDataModel; import com.lyms.platform.common.result.*; import com.lyms.platform.common.utils.*; import com.lyms.platform.common.utils.ReflectionUtils; @@ -18,6 +19,7 @@ import com.lyms.platform.operate.web.utils.ResponseUtil; import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.pojo.*; +import org.apache.commons.codec.binary.*; import org.apache.commons.collections.map.HashedMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; @@ -28,6 +30,7 @@ import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; +import java.io.Serializable; import java.util.*; /** @@ -63,6 +66,8 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye @Autowired private OperateLogFacade operateLogFacade; + public static String mongo_crypto_key = Config.getItem("mongo_crypto_key", "0"); + @Override public BaseObjectResponse init() { List> addSubtract = EnumUtil.toJson(AddSubtractEnums.class); /** (+) (一) 其他 */ @@ -90,7 +95,9 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye babyEyeCheck.setPid(babyModel.getPid()); babyEyeCheck.setBirth(babyModel.getBirth()); } + syncData("ADD", babyEyeCheck, ""); mongoTemplate.save(babyEyeCheck); + if(CollectionUtils.isNotEmpty(babyEyeCheck.getRiskFactorId())) { String riskFactor = org.apache.commons.lang3.StringUtils.join(babyEyeCheck.getRiskFactorId().toArray(), ","); babyEyeCheck.setRiskFactor(riskFactor); @@ -105,6 +112,9 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(babyEyeCheck)); mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(babyEyeCheck.getId())), update, BabyEyeCheck.class); + + syncData("UPDATE", babyEyeCheck, babyEyeCheck.getId()); + if(CollectionUtils.isNotEmpty(babyEyeCheck.getRiskFactorId())) { String riskFactor = org.apache.commons.lang3.StringUtils.join(babyEyeCheck.getRiskFactorId().toArray(), ","); babyEyeCheck.setRiskFactor(riskFactor); @@ -283,7 +293,7 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye List list = mongoTemplate.find(Query.query(Criteria.where("id").is(id)),BabyEyeCheck.class); if (CollectionUtils.isNotEmpty(list)) { - operateLogFacade.addDeleteOptLog(userId,Integer.parseInt(hospitalId),list.get(0),OptActionEnums.DELETE.getId(),"删除眼保健检查"); + operateLogFacade.addDeleteOptLog(userId, Integer.parseInt(hospitalId), list.get(0), OptActionEnums.DELETE.getId(), "删除眼保健检查"); } return RespBuilder.buildSuccess(); @@ -606,4 +616,27 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye ResponseUtil.responseExcel(cnames, results, response); } + + private void syncData(String action,Object data,String id) + { + try { + SyncDataModel model = new SyncDataModel(); + model.setAction(action); + if (null != data) { + model.setClassName(LymsEncodeUtil.aesEncrypt(data.getClass().getName(), mongo_crypto_key)); + model.setJsonData(org.apache.commons.codec.binary.Base64.encodeBase64String(SerializUtils.objToByte((Serializable) data))); + model.setType(1); + } + model.setCreated(new Date()); + model.setModified(model.getCreated()); + if (org.apache.commons.lang.StringUtils.isNotBlank(id)) { + model.setDataId(LymsEncodeUtil.aesEncrypt(id, mongo_crypto_key)); + } + model.setStatus(1); + mongoTemplate.insert(model); + }catch (Exception e) + { + ExceptionUtils.catchException(e,"眼保健数据同步"); + } + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java index 781997a..c287f58 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java @@ -10,9 +10,11 @@ import java.util.*; import java.util.Map.Entry; import com.lyms.platform.common.pojo.SyncDataModel; +import com.lyms.platform.common.pojo.SyncMysqlDataModel; import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.JsonUtil; import com.alibaba.fastjson.JSONObject; +import com.lyms.platform.common.utils.LymsEncodeUtil; import org.apache.http.*; import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; @@ -215,19 +217,18 @@ public class HttpClientUtil { } return json1; } -// -// public static void main(String[] args) -// { -// SqlRequest request = new SqlRequest(); -// try { -// request.setSql(org.apache.commons.codec.binary.Base64.encodeBase64String("asdafsd".getBytes("utf-8"))); -// } catch (UnsupportedEncodingException e) { -// e.printStackTrace(); -// } -// request.setSqlId("11"); -// String json = JsonUtil.obj2Str(request); -// String result = HttpClientUtil.doPostSSL("https://area-lc-api.healthbaby.com.cn:55581/syncMysqlData",json,"3d19960bf3e81e7d816c4f26051c49ba"); -// System.out.print(result); -// } + + public static void main(String[] args) + { + String json = HttpClientUtil.doPost("https://area-qhd-api.healthbaby.com.cn:18019/findSyncData", new HashMap(), "utf-8"); + String s = null; + try { + SyncMysqlDataModel mysqlDataModel = JsonUtil.str2Obj(json, SyncMysqlDataModel.class); + s = LymsEncodeUtil.aesDecrypt(mysqlDataModel.getSql(), "Lymsh@2016"); + } catch (Exception e) { + e.printStackTrace(); + } + System.out.print(s); + } } \ No newline at end of file