From d873d97584ededcc9f6e230cfb2a7300206e57a5 Mon Sep 17 00:00:00 2001 From: itzhang <2019326567@qq.com> Date: Thu, 24 Apr 2025 11:29:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../magicboot/controller/DeptController.java | 28 ++-- .../controller/KDTokenController.java | 10 +- .../magicboot/controller/UsceController.java | 123 +++++++++--------- 3 files changed, 82 insertions(+), 79 deletions(-) diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/DeptController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/DeptController.java index 5f01d15..0eca703 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/DeptController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/DeptController.java @@ -46,8 +46,8 @@ public class DeptController { private RestTemplate restTemplate = new RestTemplate(); public static void main(String[] args) { - //new DeptController().syncDept(); - new DeptController().syncDeptUp(); + new DeptController().syncDept(); + //new DeptController().syncDeptUp(); } /** @@ -73,7 +73,7 @@ public class DeptController { Map data = new HashMap<>(); data.put("createtime", "2020-01-01 00:00:00"); data.put("enable", "1"); - data.put("number", Arrays.asList("ZHY002.005.003")); + data.put("number", Arrays.asList("ZHY002.005.003.004")); // data.put("level", "3"); Map deptReq = new HashMap<>(); @@ -81,7 +81,7 @@ public class DeptController { deptReq.put("pageNo", 1); deptReq.put("pageSize", 1999); - String accessToken = kdTokenController.getKDAccessToken(); + String accessToken = new KDTokenController().getKDAccessToken(); if (accessToken == null || accessToken.equals("")) { log.info("金蝶token为空或不存在"); @@ -98,7 +98,7 @@ public class DeptController { //开始发起请求 //请求地址 - String deptUrl = "http://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; + String deptUrl = "https://lxr2.zhydsp.cn:40448/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; String deptRes = ""; try { @@ -150,7 +150,7 @@ public class DeptController { //部门名称 String deptName = deptData.getString("name"); - if (deptName.contains("、")){ + if (deptName.contains("、")) { deptName = deptName.replace("、", "_"); } //父部门编码 @@ -162,7 +162,7 @@ public class DeptController { //开始封装数据 Map deptSyncReq = new HashMap<>(); - deptSyncReq.put("name", deptName+"_"); + deptSyncReq.put("name", deptName); deptSyncReq.put("erp_id__c", deptId); deptSyncReq.put("field_Vj6sf__c", deptCode); deptSyncReq.put("field_v711K__c", parentDeptName); @@ -186,7 +186,7 @@ public class DeptController { System.out.println(parentDeptRes); - if (!"success".equals(parentDeptRes.getString("errorDescription"))){ + if (!"success".equals(parentDeptRes.getString("errorDescription"))) { log.info("查询失败"); continue; } @@ -205,7 +205,7 @@ public class DeptController { //判断部门是否在crm中存在 //请求封装 JSONObject deptIsExistReq = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "name", Arrays.asList(deptName+"_")), + new Filter("EQ", "name", Arrays.asList(deptName + "_")), new Filter("EQ", "field_v711K__c", Arrays.asList(parentDeptName)), new Filter("EQ", "field_31u4r__c", Arrays.asList(parentDeptCode)) ), "DepartmentObj"); @@ -313,7 +313,7 @@ public class DeptController { Map data = new HashMap<>(); data.put("modifytime", "2020-01-01 00:00:00"); data.put("enable", "1"); - //data.put("number", Arrays.asList("ZHY003.002")); + data.put("number", Arrays.asList("ZHY002.005.001.006")); // data.put("level", "3"); Map deptReq = new HashMap<>(); @@ -321,7 +321,7 @@ public class DeptController { deptReq.put("pageNo", 1); deptReq.put("pageSize", 1000); - String accessToken = kdTokenController.getKDAccessToken(); + String accessToken = new KDTokenController().getKDAccessToken(); if (accessToken == null || accessToken.equals("")) { log.info("金蝶token为空或不存在"); @@ -336,7 +336,7 @@ public class DeptController { //开始发起请求 //请求地址 - String deptUrl = "http://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; + String deptUrl = "https://lxr2.zhydsp.cn:40448/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; String deptRes = ""; try { @@ -389,7 +389,7 @@ public class DeptController { //部门名称 String deptName = deptData.getString("name"); - if (deptName.contains("、")){ + if (deptName.contains("、")) { deptName = deptName.replace("、", "_"); } //父部门编码 @@ -555,7 +555,7 @@ public class DeptController { //开始发起请求 //请求地址 - String deptUrl = "http://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; + String deptUrl = "https://lxr2.zhydsp.cn:40448/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; String deptRes = ""; try { diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/KDTokenController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/KDTokenController.java index 797f518..97b9d3e 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/KDTokenController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/KDTokenController.java @@ -33,8 +33,8 @@ public class KDTokenController { * @Author weiloong_zhang */ public static void main(String[] args) { - //new KDTokenController().getKDAppToken(); - new KDTokenController().getKDAccessToken(); + new KDTokenController().getKDAppToken(); + //new KDTokenController().getKDAccessToken(); } /** @@ -43,13 +43,12 @@ public class KDTokenController { * @return void * @Author weiloong_zhang */ - @PostMapping("/getKD/APP_token") public String getKDAppToken() { log.info("开始获取金蝶的AppToken"); //开始封装 //接口地址 - String appTokenUrl = "http://192.168.31.121:8022/ierp/api/getAppToken.do"; + String appTokenUrl = "https://lxr2.zhydsp.cn:40448/ierp/api/getAppToken.do"; //请求参数 LinkedHashMap appTokenParams = new LinkedHashMap<>(); appTokenParams.put("appId", "erpapi"); @@ -88,7 +87,6 @@ public class KDTokenController { * @return java.lang.String * @Author weiloong_zhang */ - @PostMapping("/getKD/access_token") public String getKDAccessToken() { log.info("开始获取金蝶accessToken"); @@ -105,7 +103,7 @@ public class KDTokenController { //不存在,将执行获取accessToken的逻辑 //开始封装参数 //URL - String accessTokenUrl = "http://192.168.31.121:8022/ierp/api/login.do"; + String accessTokenUrl = "https://lxr2.zhydsp.cn:40448/ierp/api/login.do"; //请求参数 LinkedHashMap accessTokenParams = new LinkedHashMap<>(); diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/UsceController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/UsceController.java index f0354fa..f1a67e0 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/UsceController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/UsceController.java @@ -1,25 +1,26 @@ package org.ssssssss.magicboot.controller; - import com.alibaba.fastjson.JSON; - import com.alibaba.fastjson.JSONArray; - import com.alibaba.fastjson.JSONObject; - import com.xxl.job.core.context.XxlJobHelper; - import org.slf4j.Logger; - import org.slf4j.LoggerFactory; - import org.springframework.web.bind.annotation.PostMapping; - import org.springframework.web.bind.annotation.RequestMapping; - import org.springframework.web.bind.annotation.RestController; - import org.ssssssss.magicboot.fxapi.HttpClientResult; - import org.ssssssss.magicboot.fxapi.HttpClientUtils; - import org.ssssssss.magicboot.fxapi.XKTokenAccess; - import org.ssssssss.magicboot.zdyutils.FXHTTP; - import org.ssssssss.magicboot.zdyutils.FXTIC; - import org.ssssssss.magicboot.zdyutils.GcjJson; - import org.ssssssss.magicboot.zdyutils.MagicApi; - import java.text.SimpleDateFormat; - import java.util.HashMap; - import java.util.LinkedHashMap; - import java.util.Map; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.xxl.job.core.context.XxlJobHelper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.ssssssss.magicboot.fxapi.HttpClientResult; +import org.ssssssss.magicboot.fxapi.HttpClientUtils; +import org.ssssssss.magicboot.fxapi.XKTokenAccess; +import org.ssssssss.magicboot.zdyutils.FXHTTP; +import org.ssssssss.magicboot.zdyutils.FXTIC; +import org.ssssssss.magicboot.zdyutils.GcjJson; +import org.ssssssss.magicboot.zdyutils.MagicApi; + +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; /** * 人员同步 @@ -42,14 +43,20 @@ public class UsceController { // time = "2024-05-01"; String sendUrl = "https://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_user/userQuery"; Map headers = new HashMap(); - String token = "2095350818281620480_38r7dCr7UfM45m43Givw964713GJgVwF2xS0uolYf9EvP6kgi8KeRegeih5L6qmyWCr5LjUCeEe8lVwMGsT3KLWz3PxgAwuBCuau01"; - headers.put("accessToken", token);//放token + //String token = "2095350818281620480_38r7dCr7UfM45m43Givw964713GJgVwF2xS0uolYf9EvP6kgi8KeRegeih5L6qmyWCr5LjUCeEe8lVwMGsT3KLWz3PxgAwuBCuau01"; + String accessToken = new KDTokenController().getKDAccessToken(); + + if (accessToken == null || accessToken.equals("")) { + log.info("金蝶token为空或不存在"); + return; + } + headers.put("accessToken", accessToken);//放token JSONObject params = new JSONObject(); JSONObject datajson = new JSONObject(); - datajson.put("createtime","2012-02-26 11:04:43"); - JSONArray arr = new JSONArray(); + datajson.put("createtime", "2012-02-26 11:04:43"); + JSONArray arr = new JSONArray(); String[] strings = { "ZHY003.009" }; @@ -60,23 +67,22 @@ public class UsceController { } - - datajson.put("dpt_number",arr); + datajson.put("dpt_number", arr); - params.put("data",datajson); - params.put("pageNo",1); - params.put("pageSize",1000); + params.put("data", datajson); + params.put("pageNo", 1); + params.put("pageSize", 1000); HttpClientResult rtn = HttpClientUtils.doPostJson(sendUrl, headers, params.toJSONString()); String resStr = rtn.getContent(); JSONObject resjs = JSONObject.parseObject(resStr); - if (resjs!=null){ - if("0".equals(resjs.getString("errorCode"))){//查询成功 - JSONObject data = resjs.getJSONObject("data"); - System.out.println("查询人员总数量" + data.getInteger("totalCount")); - JSONArray resJson = data.getJSONArray("rows"); + if (resjs != null) { + if ("0".equals(resjs.getString("errorCode"))) {//查询成功 + JSONObject data = resjs.getJSONObject("data"); + System.out.println("查询人员总数量" + data.getInteger("totalCount")); + JSONArray resJson = data.getJSONArray("rows"); System.out.println("待同步人员数量" + resJson.size()); @@ -172,21 +178,21 @@ public class UsceController { String phone = GcjJson.getNodeValue(str, "JSON.phone") != null ? GcjJson.getNodeValue(str, "JSON.phone").toString() : ""; - //状态 + //状态 String enable = GcjJson.getNodeValue(str, "JSON.enable") != null ? GcjJson.getNodeValue(str, "JSON.enable").toString() : ""; - JSONArray entryentity = str.getJSONArray("entryentity"); + JSONArray entryentity = str.getJSONArray("entryentity"); String deptNumber = ""; - if(entryentity!=null){ + if (entryentity != null) { JSONObject deptobj = (JSONObject) entryentity.get(0); - deptNumber = deptobj.getString("dpt_number"); + deptNumber = deptobj.getString("dpt_number"); } - try{ - JSONObject dataSyn = MagicApi.getSendSYNDataUser("user", syn_type, dataId,"3"); - if (dataSyn != null && dataId.equals(dataSyn.getString("dsfId")) && endtime.equals(dataSyn.getString("mark")) ) { + try { + JSONObject dataSyn = MagicApi.getSendSYNDataUser("user", syn_type, dataId, "3"); + if (dataSyn != null && dataId.equals(dataSyn.getString("dsfId")) && endtime.equals(dataSyn.getString("mark"))) { log.info("数据已存在-" + name); XxlJobHelper.log("--数据已存在---" + name); tbflag = true; @@ -200,11 +206,11 @@ public class UsceController { if (crmId != null && !crmId.equals("")) { //人员id map.put("body.data.object_data._id", crmId); - flag=false; + flag = false; } String crmdeptID = "999999"; - if (deptNumber!=""){ - crmdeptID = fxapi.getDataBYID("DepartmentObj", "field_Vj6sf__c", deptNumber, "JSON.data.dataList[0]._id"); + if (deptNumber != "") { + crmdeptID = fxapi.getDataBYID("DepartmentObj", "field_Vj6sf__c", deptNumber, "JSON.data.dataList[0]._id"); System.out.println(crmdeptID); } @@ -216,20 +222,21 @@ public class UsceController { map.put("body.data.object_data.user_name", phone); map.put("body.data.object_data.email", email); - if(enable.equals("2")){ + if (enable.equals("2")) { map.put("body.data.object_data.status", "1"); map.put("body.data.object_data.is_pause_login", true); - }else { + } else { map.put("body.data.object_data.status", "0"); map.put("body.data.object_data.is_pause_login", false); } - if(gender.equals("1")){ + if (gender.equals("1")) { map.put("body.data.object_data.sex", "M"); - }if(gender.equals("2")){ + } + if (gender.equals("2")) { map.put("body.data.object_data.sex", "F"); - }else { + } else { map.put("body.data.object_data.sex", "P"); } map.put("body.data.object_data.main_department[0]", crmdeptID);//主属部门 @@ -245,20 +252,21 @@ public class UsceController { log.info("--请求json---" + obj); XxlJobHelper.log("--请求json---" + obj); - }catch (Exception e) { + } catch (Exception e) { sendFlag = true; stringBuffer.append("参数解析错误,请联系开发人员"); e.printStackTrace(); } - getSynDataSave(stringBuffer,sendFlag,flag,fxapi,dataId,name,obj,getData); + getSynDataSave(stringBuffer, sendFlag, flag, fxapi, dataId, name, obj, getData); } } } + /** * 写数据 */ - public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,Boolean flag,FXHTTP fxapi,String dataId,String nameData,JSONObject obj,JSONObject str) { + public void getSynDataSave(StringBuffer stringBuffer, Boolean sendFlag, Boolean flag, FXHTTP fxapi, String dataId, String nameData, JSONObject obj, JSONObject str) { String syn_type = "0";//同步类型 0新增 1修改 2删除 String res_url = ""; String res_param = ""; @@ -266,14 +274,14 @@ public class UsceController { try { if (flag) { res = fxapi.saveV2Obj(obj); - res_url=FXTIC.URL_FX_CREATE; + res_url = FXTIC.URL_FX_CREATE; } else { syn_type = "1"; res = fxapi.updateV2Obj(obj); - res_url=FXTIC.URL_FX_UPDATE; + res_url = FXTIC.URL_FX_UPDATE; } - res_param=obj.toJSONString(); - log.info("返回值:"+res); + res_param = obj.toJSONString(); + log.info("返回值:" + res); JSONObject resjs = JSON.parseObject(res); if (resjs != null && "0".equals(resjs.getString("errorCode"))) { @@ -309,7 +317,4 @@ public class UsceController { } - - - }