|
@@ -88,6 +88,259 @@ public class ScheduleTaskNew {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 客户数据清洗
|
|
|
|
|
+ */
|
|
|
|
|
+ @Scheduled(cron = "0 40 18 * * ?")
|
|
|
|
|
+ public void cleanCustomerData20260430() {
|
|
|
|
|
+ /*
|
|
|
|
|
+ 从项目总表(系统1)获取客户数据
|
|
|
|
|
+ */
|
|
|
|
|
+ List<Map> sys1CustomerData = new ArrayList<>(); // 项目总表客户数据
|
|
|
|
|
+ try {
|
|
|
|
|
+ sys1CustomerData = aitableService.querySys1CustomerData();
|
|
|
|
|
+ log.info("项目总表客户数量="+sys1CustomerData.size());
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("查询项目总表客户数据异常",e);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 查询业务小组档案中的成员信息
|
|
|
|
|
+ */
|
|
|
|
|
+ List<Map> ltcBusinessUserData = new ArrayList<>();
|
|
|
|
|
+ try {
|
|
|
|
|
+ ltcBusinessUserData = yidaService.queryLtcAllBusinessUserData();
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("查询业务小组档案中的成员信息异常",e);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ String aiTableId; //AI表格ID
|
|
|
|
|
+ String customerName1;
|
|
|
|
|
+ Object businessUserUnionId;
|
|
|
|
|
+ String businessUserId;
|
|
|
|
|
+ String customerLevel;
|
|
|
|
|
+ String newOrOld;
|
|
|
|
|
+ String businessLeaderUserId;
|
|
|
|
|
+ String businessDepartment;
|
|
|
|
|
+ List deptIdList;
|
|
|
|
|
+// for (Map sys1CustomerRecord : sys1CustomerData) {
|
|
|
|
|
+// aiTableId = "";
|
|
|
|
|
+// businessUserId = "";
|
|
|
|
|
+// customerLevel = "";
|
|
|
|
|
+// newOrOld = "";
|
|
|
|
|
+// businessLeaderUserId = "";
|
|
|
|
|
+// businessDepartment = "";
|
|
|
|
|
+// if (sys1CustomerRecord.get("aiTableId") != null) {
|
|
|
|
|
+// aiTableId = sys1CustomerRecord.get("aiTableId").toString();
|
|
|
|
|
+// }
|
|
|
|
|
+// if (sys1CustomerRecord.get("customerName") != null) {
|
|
|
|
|
+// customerName1 = sys1CustomerRecord.get("customerName").toString();
|
|
|
|
|
+// if("Big Sky Games Limited".equals(customerName1)){
|
|
|
|
|
+// businessUserUnionId = sys1CustomerRecord.get("businessUserUnionId");
|
|
|
|
|
+// if (businessUserUnionId != null) {
|
|
|
|
|
+// try {
|
|
|
|
|
+// businessUserId = ddCoreClient.getUserIdByUnionId(businessUserUnionId.toString());
|
|
|
|
|
+// if(businessUserId.isEmpty()){
|
|
|
|
|
+// throw new RuntimeException("businessUserUserId为空");
|
|
|
|
|
+// }
|
|
|
|
|
+// } catch (Exception e) {
|
|
|
|
|
+// log.error("没有找到业务员unionId["+businessUserUnionId+"]对应的userId");
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// if(businessUserId!=null && !businessUserId.isEmpty()){
|
|
|
|
|
+// for (int i = 0; i < ltcBusinessUserData.size(); i++) {
|
|
|
|
|
+// if(UtilMap.getString(ltcBusinessUserData.get(i), "userId").equals(businessUserId)){
|
|
|
|
|
+// businessLeaderUserId = UtilMap.getString(ltcBusinessUserData.get(i), "businessLeaderUserId");
|
|
|
|
|
+// if(businessLeaderUserId.isEmpty()){
|
|
|
|
|
+// businessLeaderUserId = null;
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// try {
|
|
|
|
|
+// deptIdList = ddCoreClient.getDeptIdListByUserId(businessUserId);
|
|
|
|
|
+// if(deptIdList!=null && !deptIdList.isEmpty()){
|
|
|
|
|
+// businessDepartment = String.valueOf(deptIdList.get(0));
|
|
|
|
|
+// }
|
|
|
|
|
+// if(businessDepartment.isEmpty()){
|
|
|
|
|
+// businessDepartment = null;
|
|
|
|
|
+// }
|
|
|
|
|
+// } catch (Exception e) {
|
|
|
|
|
+// log.error("获取业务userId与业务部门映射异常",e);
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// if (sys1CustomerRecord.get("customerLevel") != null) {
|
|
|
|
|
+// customerLevel = sys1CustomerRecord.get("customerLevel").toString();
|
|
|
|
|
+// }
|
|
|
|
|
+// if (sys1CustomerRecord.get("newOrOld") != null) {
|
|
|
|
|
+// newOrOld = sys1CustomerRecord.get("newOrOld").toString();
|
|
|
|
|
+// }
|
|
|
|
|
+// System.out.println("aiTableId="+aiTableId+",customerName1="+customerName1
|
|
|
|
|
+// +",businessUserId="+businessUserId+",customerLevel="+customerLevel
|
|
|
|
|
+// +",newOrOld="+newOrOld+",businessLeaderUserId="+businessLeaderUserId
|
|
|
|
|
+// +",businessDepartment="+businessDepartment);
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 查询(易思达)客户名册所有记录
|
|
|
|
|
+ */
|
|
|
|
|
+ log.info("查询(易思达)客户名册所有记录");
|
|
|
|
|
+ List<Map> ltcCustomerData = new ArrayList<>();
|
|
|
|
|
+ try {
|
|
|
|
|
+ ltcCustomerData = yidaService.queryLtcAllCustomerData();
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("查询(易思达)客户名册异常",e);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 寻找易思达系统不存在的客户,并新增
|
|
|
|
|
+ */
|
|
|
|
|
+ List<Map> ltcCustomerAddData = new ArrayList<>();
|
|
|
|
|
+ Map<String,List<Map>> customerNameUpperCaseMap = new HashMap<>();
|
|
|
|
|
+ String customerName1UpperCase;
|
|
|
|
|
+ String customerName2;
|
|
|
|
|
+ String customerName2UpperCase;
|
|
|
|
|
+ List<Map> maplist;
|
|
|
|
|
+ for (Map sys1CustomerRecord : sys1CustomerData){
|
|
|
|
|
+ if(sys1CustomerRecord.get("customerName")!= null){
|
|
|
|
|
+ customerName1 = sys1CustomerRecord.get("customerName").toString();
|
|
|
|
|
+ if(!customerName1.isEmpty()){
|
|
|
|
|
+ /*
|
|
|
|
|
+ 按大写客户名称归类
|
|
|
|
|
+ */
|
|
|
|
|
+ customerName1UpperCase = customerName1.replaceAll(" ","").toUpperCase();
|
|
|
|
|
+ if(customerNameUpperCaseMap.containsKey(customerName1UpperCase)){
|
|
|
|
|
+ maplist = customerNameUpperCaseMap.get(customerName1UpperCase);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ maplist = new ArrayList<>();
|
|
|
|
|
+ }
|
|
|
|
|
+ maplist.add(sys1CustomerRecord);
|
|
|
|
|
+ customerNameUpperCaseMap.put(customerName1UpperCase,maplist);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ boolean isExist;
|
|
|
|
|
+ for(String customerNameUpperCase : customerNameUpperCaseMap.keySet()){
|
|
|
|
|
+ isExist = false;
|
|
|
|
|
+ for (int i=0; i<ltcCustomerData.size(); i++){
|
|
|
|
|
+ customerName2 = ltcCustomerData.get(i).get("customerName").toString();
|
|
|
|
|
+ customerName2UpperCase = customerName2.replaceAll(" ","").toUpperCase();
|
|
|
|
|
+ if(customerNameUpperCase.equals(customerName2UpperCase)){
|
|
|
|
|
+ isExist = true;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if(!isExist){
|
|
|
|
|
+ ltcCustomerAddData.add(customerNameUpperCaseMap.get(customerNameUpperCase).get(0));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ String businessUserName;
|
|
|
|
|
+ Map privateSeaCustomerRecord;
|
|
|
|
|
+ for(Map ltcCustomerAddRecord : ltcCustomerAddData){
|
|
|
|
|
+// System.out.println(JSONObject.toJSONString(ltcCustomerAddRecord));
|
|
|
|
|
+ aiTableId = "";
|
|
|
|
|
+ businessUserId = null;
|
|
|
|
|
+ businessUserName = "";
|
|
|
|
|
+ customerLevel = "";
|
|
|
|
|
+ newOrOld = "";
|
|
|
|
|
+ businessLeaderUserId = null;
|
|
|
|
|
+ businessDepartment = null;
|
|
|
|
|
+ if (ltcCustomerAddRecord.get("customerName") != null) {
|
|
|
|
|
+ customerName1 = ltcCustomerAddRecord.get("customerName").toString();
|
|
|
|
|
+ if (ltcCustomerAddRecord.get("aiTableId") != null) {
|
|
|
|
|
+ aiTableId = ltcCustomerAddRecord.get("aiTableId").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ if (ltcCustomerAddRecord.get("businessUserName") != null) {
|
|
|
|
|
+ businessUserName = ltcCustomerAddRecord.get("businessUserName").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ businessUserUnionId = ltcCustomerAddRecord.get("businessUserUnionId");
|
|
|
|
|
+ if (businessUserUnionId != null) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ businessUserId = ddCoreClient.getUserIdByUnionId(businessUserUnionId.toString());
|
|
|
|
|
+ if(businessUserId.isEmpty()){
|
|
|
|
|
+ throw new RuntimeException("businessUserUserId为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("没有找到业务员unionId["+businessUserUnionId+"]对应的userId");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if(businessUserId!=null && !businessUserId.isEmpty()){
|
|
|
|
|
+ for (int i = 0; i < ltcBusinessUserData.size(); i++) {
|
|
|
|
|
+ if(UtilMap.getString(ltcBusinessUserData.get(i), "userId").equals(businessUserId)){
|
|
|
|
|
+ businessLeaderUserId = UtilMap.getString(ltcBusinessUserData.get(i), "businessLeaderUserId");
|
|
|
|
|
+ if(businessLeaderUserId.isEmpty()){
|
|
|
|
|
+ businessLeaderUserId = null;
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ deptIdList = ddCoreClient.getDeptIdListByUserId(businessUserId);
|
|
|
|
|
+ if(deptIdList!=null && !deptIdList.isEmpty()){
|
|
|
|
|
+ businessDepartment = String.valueOf(deptIdList.get(0));
|
|
|
|
|
+ }
|
|
|
|
|
+ if(businessDepartment.isEmpty()){
|
|
|
|
|
+ businessDepartment = null;
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("获取业务userId与业务部门映射异常",e);
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ businessUserId = null;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (ltcCustomerAddRecord.get("customerLevel") != null) {
|
|
|
|
|
+ customerLevel = ltcCustomerAddRecord.get("customerLevel").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ if (ltcCustomerAddRecord.get("newOrOld") != null) {
|
|
|
|
|
+ newOrOld = ltcCustomerAddRecord.get("newOrOld").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ System.out.println("businessUserName="+businessUserName+",aiTableId="+aiTableId+",customerName1="+customerName1
|
|
|
|
|
+ +",businessUserId="+businessUserId+",customerLevel="+customerLevel
|
|
|
|
|
+ +",newOrOld="+newOrOld+",businessLeaderUserId="+businessLeaderUserId
|
|
|
|
|
+ +",businessDepartment="+businessDepartment);
|
|
|
|
|
+ privateSeaCustomerRecord = new HashMap();
|
|
|
|
|
+ privateSeaCustomerRecord.put("customerName",customerName1);
|
|
|
|
|
+ customerName1UpperCase = customerName1.replaceAll(" ","").toUpperCase();
|
|
|
|
|
+ privateSeaCustomerRecord.put("customerName1UpperCase",customerName1UpperCase);
|
|
|
|
|
+ privateSeaCustomerRecord.put("businessLeaderUserId",businessLeaderUserId);
|
|
|
|
|
+ privateSeaCustomerRecord.put("businessDepartment",businessDepartment);
|
|
|
|
|
+ privateSeaCustomerRecord.put("newOrOld",newOrOld);
|
|
|
|
|
+ privateSeaCustomerRecord.put("customerLevel",customerLevel);
|
|
|
|
|
+ privateSeaCustomerRecord.put("aiTableId",aiTableId);
|
|
|
|
|
+ privateSeaCustomerRecord.put("customerLevelActual","E");
|
|
|
|
|
+ if(businessUserId == null){
|
|
|
|
|
+ privateSeaCustomerRecord.put("businessUserId","");
|
|
|
|
|
+ privateSeaCustomerRecord.put("businessUserName","");
|
|
|
|
|
+ privateSeaCustomerRecord.put("seaType","公");
|
|
|
|
|
+ }else{
|
|
|
|
|
+ privateSeaCustomerRecord.put("businessUserId",businessUserId);
|
|
|
|
|
+ if(businessUserName!=null && !businessUserName.isEmpty()){
|
|
|
|
|
+ businessUserName = businessUserName.split("-")[0];
|
|
|
|
|
+ }
|
|
|
|
|
+ privateSeaCustomerRecord.put("businessUserName",businessUserName);
|
|
|
|
|
+ privateSeaCustomerRecord.put("seaType","私");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ privateSeaCustomerRecord.put("testUseFlag","否");
|
|
|
|
|
+ try {
|
|
|
|
|
+ yidaService.insertCustomerData(privateSeaCustomerRecord);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("新增易思达系统客户记录异常",e);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ log.info("客户数据清洗完成");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 客户数据清洗
|
|
* 客户数据清洗
|
|
|
*/
|
|
*/
|