From f7e6547b1ee2c085c6c7f9281437b7080f9f5fdd Mon Sep 17 00:00:00 2001 From: liyawei Date: Mon, 8 Aug 2022 17:59:12 +0800 Subject: [PATCH 1/3] =?UTF-8?q?people-=E5=90=8C=E6=AD=A5=E7=94=A8=E6=88=B7?= =?UTF-8?q?-=E6=AC=A7=E6=B4=B2=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SyncDataServiceImpl.java | 107 ++++++++++++++++-- .../src/main/resources/application-dev.yml | 5 + 2 files changed, 104 insertions(+), 8 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java index d207015c4..cf51a5f4f 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java @@ -44,6 +44,15 @@ public class SyncDataServiceImpl implements ISyncDataService{ @Value("${people.secret}") private String secret; + @Value("${people.appIdEU}") + private String appIdEU; + + @Value("${people.hostEU}") + private String hostEU; + + @Value("${people.secretEU}") + private String secretEU; + @Autowired private ISysUserService sysUserService; @Autowired @@ -163,22 +172,26 @@ public class SyncDataServiceImpl implements ISyncDataService{ List sysUserList = sysUserService.getPPEmployeeList(); // log.info("查询到的用户信息结果集为:"+JSONObject.toJSONString(userEOList)); for(SysUser user:sysUserList){ - localUserMap.put(user.getThirdId(),user); + if (StringUtils.isNotBlank(user.getThirdId())) { + localUserMap.put(user.getThirdId().toLowerCase(), user); + } } + List ppEmployeeList = new ArrayList<>(); + // 获取people 国内 用户信息 String path = "/people/v1/employee/all-info"; String queryStr = "app_id=" + appId + "&hash_type=sha256&offset=0&limit=100"; String response = getResultDataOfGet(path, queryStr); JSONObject myJson = JSONObject.parseObject(response); log.debug(myJson.toJSONString()); if(!myJson.get("result_code").toString().equals("success")){ - log.error("请求出现异常:"+myJson.get("message")+" "+myJson); + log.error("【国内】请求国内用户数据出现异常:"+myJson.get("message")+" "+myJson); }else{ - log.debug("打印输出本次同步信息返回结果:"+myJson.get("data").toString()); + log.debug("【国内】打印输出本次同步信息返回结果:"+myJson.get("data").toString()); JSONObject resultJson = (JSONObject) myJson.get("data"); //将第一页的账户信息转换为本地dto集合 List userList = JSONObject.parseArray(resultJson.get("list").toString(), JSONObject.class); - List ppEmployeeList = getPPEmployeeList(userList); + ppEmployeeList = getPPEmployeeList(userList, "CN"); //获取总记录数 int total = (int) resultJson.get("amount"); @@ -188,18 +201,57 @@ public class SyncDataServiceImpl implements ISyncDataService{ pageSum += 1; } //循环查询统一认证系统所有账户信息(从第二页开始) - for(int page = 1; page < pageSum; page++){ + for(int page = 1; page < 2; page++){ path = "/people/v1/employee/all-info"; queryStr = "app_id=" + appId + "&hash_type=sha256&limit=100&offset=" + (page*100); response = getResultDataOfGet(path, queryStr); myJson = JSONObject.parseObject(response); - log.debug("打印输出本次同步信息返回结果:"+myJson.get("data").toString()); + log.debug("【国内】打印输出本次同步信息返回结果:"+myJson.get("data").toString()); resultJson = (JSONObject) myJson.get("data"); userList = JSONObject.parseArray(resultJson.get("list").toString(), JSONObject.class); - List currentPPEmployeeList = getPPEmployeeList(userList); + List currentPPEmployeeList = getPPEmployeeList(userList, "CN"); ppEmployeeList.addAll(currentPPEmployeeList); } } + + // 获取people 欧洲 用户信息 + path = "/people/v1/employee/all-info"; + String queryStrEU = "app_id=" + appIdEU + "&hash_type=sha256&offset=0&limit=100"; + String responseEU = getResultDataOfGetEU(path, queryStrEU); + JSONObject myJsonEU = JSONObject.parseObject(responseEU); + log.debug(myJsonEU.toJSONString()); + if(!myJsonEU.get("result_code").toString().equals("success")){ + log.error("【欧洲】请求欧洲用户数据出现异常:"+myJsonEU.get("message")+" "+myJsonEU); + }else{ + log.debug("【欧洲】打印输出本次同步信息返回结果:"+myJsonEU.get("data").toString()); + JSONObject resultJsonEU = (JSONObject) myJsonEU.get("data"); + //将第一页的账户信息转换为本地dto集合 + List userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class); + List currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EN"); + ppEmployeeList.addAll(currentPPEmployeeListEU); + + //获取总记录数 + int totalEU = (int) resultJsonEU.get("amount"); + if(totalEU > 100){ + int pageSumEU = totalEU / 100; // 总页数 + if((totalEU % 100) > 0){ + pageSumEU += 1; + } + //循环查询统一认证系统所有账户信息(从第二页开始) + for(int page = 1; page < pageSumEU; page++){ + path = "/people/v1/employee/all-info"; + queryStrEU = "app_id=" + appIdEU + "&hash_type=sha256&limit=100&offset=" + (page*100); + responseEU = getResultDataOfGetEU(path, queryStrEU); + myJsonEU = JSONObject.parseObject(responseEU); + log.debug("【欧洲】打印输出本次同步信息返回结果:"+myJsonEU.get("data").toString()); + resultJsonEU = (JSONObject) myJsonEU.get("data"); + userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class); + currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EN"); + ppEmployeeList.addAll(currentPPEmployeeListEU); + } + } + } + // 处理同步过来的数据id不同,username相同的情况 creation_time不能为空 // ppEmployeeList.sort(Comparator.comparing(PPEmployee::getCreation_time).reversed()); ppEmployeeList = ppEmployeeList.stream().distinct().collect(Collectors.toList()); // 去重 @@ -249,10 +301,14 @@ public class SyncDataServiceImpl implements ISyncDataService{ } - private static List getPPEmployeeList(List userList) { + private static List getPPEmployeeList(List userList, String region) { List ppEmployeeList = new ArrayList<>(); for (JSONObject user : userList) { PPEmployee userMainInfo = JSONObject.parseObject(user.get("people_info").toString(), PPEmployee.class); + if ("EU".equals(region)) { + String newId = "EU" + userMainInfo.getId(); + userMainInfo.setId(newId); + } List userJobInfoList = JSONObject.parseArray(user.get("people_job_info").toString(), PPEmployee.class); if (CollectionUtil.isNotEmpty(userJobInfoList)) { @@ -315,6 +371,41 @@ public class SyncDataServiceImpl implements ISyncDataService{ // return myJson.get("data").toString(); } + /** + * 发送请求,获取同步数据-欧洲 + * @param uri + * @param queryString + * @return + * @throws IOException + * @throws NoSuchAlgorithmException + * @throws InvalidKeyException + */ + private String getResultDataOfGetEU(String uri, String queryString) throws IOException, NoSuchAlgorithmException, InvalidKeyException { + // 获取签名 + String method ="GET"; + String path = uri; + String queryStr = queryString; + Map header = new HashMap<>(); + String timestamp = HmacSignUtil.getSecondTimestamp(new Date()); + queryStr += "×tamp=" + timestamp; + String sign = HmacSignUtil.getSign(secretEU,method,path,queryStr,header); + String url = hostEU; + url += path + "?"; + url += queryStr; + url += "&sign=" + sign; + Map headerMap = new HashMap<>(); + String response = HttpRequestUtil.getResponseOfGET(url, headerMap); + JSONObject myJson = JSONObject.parseObject(response); + + return myJson.toJSONString(); +// log.debug(myJson.toJSONString()); +// if(!myJson.get("result_code").toString().equals("success")) { +// log.error("请求出现异常:" + myJson.get("result_code") + " " + myJson); +// } +// log.debug("打印输出本次同步信息返回结果:"+myJson.get("data").toString()); +// return myJson.get("data").toString(); + } + public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException { String path = "/people/v1/employee/all-info"; diff --git a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml index d8af54a19..512e14819 100644 --- a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -407,6 +407,11 @@ people: # appSecret CN PROD版 secret: 7C3F03170E3ea489df04Ce8DEC7Df4f7 cronJobIsOpen: false + + # appSecret EU PROD版 + appIdEU: 1000233 + secretEU: 32172576EB3a6fd4d483de11C6f60828 + hostEU: http://napoleon-eu.nioint.com ## Feishu Feishu: # 测试 From ea5f5ed03614e58fa907f6d1494e522089579db6 Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Mon, 8 Aug 2022 18:01:57 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/problemKnowledgeBaseView.vue | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue index db51f7a0c..1419c58cc 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue @@ -70,12 +70,7 @@
- sfdsfdsf的防控流感的飞机过来看的结果东法兰克感觉地方给了地方国家的分开两个就地方孤苦伶仃附件给领导反馈 - 独守空房了就收到付款了的角色发看来都是风景但是考虑附件第三方库老师积分迪斯科浪费绝对是分类的课时费 - 是反抗拉萨的飞机罗斯福就点十六分就但是发 - 迪斯科浪费电视机分厘卡的设计分类的水库附近的说服力但是积分的历史房价多少发了多少给京东方管理看豆腐干豆腐干看 - a fjsd fklsdjfk s是否考虑技术的反抗类毒素就发的撒开了房间但是发离开打扫房间是开了房间都是老师JFK了的身份圣诞快乐就是的反抗类毒素解放迪斯科浪费是 - 考虑到房价打开拉萨附近分离技术的领导是否打开拉萨范德萨发了开始就发的考虑是否就但是考虑发及代理商开发就十分大师傅看 + {{item.commentContent}}
@@ -226,7 +221,7 @@ let query = { problemKnowledgeBaseId: this.$route.query.id } - getAction('/problemKnowledgeBase/problemKnowledgeBaseEO/list', query).then((res) => { + getAction('/problemKnowledgeBase/problemKnowledgeBaseCommentEO/list', query).then((res) => { if (res.success) { this.releaseList = res.result || [] } else { From d9ff33fc9246fac23e53beca517c18769dda0666 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Mon, 8 Aug 2022 18:02:07 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/parameter/escalationlibrary/index.vue | 2 +- .../parameter/managementdetails/commponts/conventionalmodle.vue | 2 +- .../parameter/managementdetails/commponts/customexportmodle.vue | 2 +- jero-web/src/views/parameter/managementdetails/index.vue | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jero-web/src/views/parameter/escalationlibrary/index.vue b/jero-web/src/views/parameter/escalationlibrary/index.vue index 68aee47ac..3a5a5c50a 100644 --- a/jero-web/src/views/parameter/escalationlibrary/index.vue +++ b/jero-web/src/views/parameter/escalationlibrary/index.vue @@ -138,7 +138,7 @@ areaVisible: false, paramsTemplateName: '', drawerVisible: false, - titleTag: '导出历史' + titleTag: this.$t('Exporthistory') } }, mounted() { diff --git a/jero-web/src/views/parameter/managementdetails/commponts/conventionalmodle.vue b/jero-web/src/views/parameter/managementdetails/commponts/conventionalmodle.vue index 9acd98b17..dd9f79b07 100644 --- a/jero-web/src/views/parameter/managementdetails/commponts/conventionalmodle.vue +++ b/jero-web/src/views/parameter/managementdetails/commponts/conventionalmodle.vue @@ -291,7 +291,7 @@ export default { if (long && long === 'zh-cn') { query.exportName = '常规导出' } else if (long && long === 'en-us') { - query.exportName = 'normal' + query.exportName = 'Normal' } this.confirmLoading = true downloadFile('report/detail/exportNormal', query.exportName+'.zip', query) diff --git a/jero-web/src/views/parameter/managementdetails/commponts/customexportmodle.vue b/jero-web/src/views/parameter/managementdetails/commponts/customexportmodle.vue index 466d06588..9ab92150b 100644 --- a/jero-web/src/views/parameter/managementdetails/commponts/customexportmodle.vue +++ b/jero-web/src/views/parameter/managementdetails/commponts/customexportmodle.vue @@ -247,7 +247,7 @@ export default { if (long && long === 'zh-cn') { query.exportName = '自定义导出' } else if (long && long === 'en-us') { - query.exportName = 'custom' + query.exportName = 'Custom' } this.confirmLoading = true downloadFile('report/detail/exportCustom', query.exportName+'.zip', query) diff --git a/jero-web/src/views/parameter/managementdetails/index.vue b/jero-web/src/views/parameter/managementdetails/index.vue index 703ffe5b8..69c44346f 100644 --- a/jero-web/src/views/parameter/managementdetails/index.vue +++ b/jero-web/src/views/parameter/managementdetails/index.vue @@ -12,7 +12,7 @@
- +