فهرست منبع

单数据不走遍历逻辑

yousongbo 3 روز پیش
والد
کامیت
e3cd4c5b96

+ 79 - 77
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java

@@ -142,13 +142,13 @@ public class AnalysisDiyCustomerComponent {
                     MSQ.addAll(msqjson.getJSONArray("data"));
                 }
             }
-            success += buildSysUser(MSQ, loginNameSet, diyNameSet, 4, failDetails, packageId, chainsMap);
+            success += buildSysUser(false,MSQ, loginNameSet, diyNameSet, 4, failDetails, packageId, chainsMap);
             total += MSQ.size();
         } else {
             int code = msqjson.getInteger("code");
             if (code == 0) {
                 MSQ.addAll(msqjson.getJSONArray("data"));
-                success += buildSysUser(MSQ, loginNameSet, diyNameSet, 4, failDetails, packageId, chainsMap);
+                success += buildSysUser(false,MSQ, loginNameSet, diyNameSet, 4, failDetails, packageId, chainsMap);
                 total += MSQ.size();
             }
         }
@@ -186,14 +186,14 @@ public class AnalysisDiyCustomerComponent {
                     WQBM.addAll(wqbmjson.getJSONArray("data"));
                 }
             }
-            success += buildSysUser(WQBM, loginNameSet, diyNameSet, 5, failDetails, packageId, chainsMap);
+            success += buildSysUser(false,WQBM, loginNameSet, diyNameSet, 5, failDetails, packageId, chainsMap);
             total += WQBM.size();
 
         } else {
             int code = msqjson.getInteger("code");
             if (code == 0) {
                 WQBM.addAll(msqjson.getJSONArray("data"));
-                success += buildSysUser(WQBM, loginNameSet, diyNameSet, 5, failDetails, packageId, chainsMap);
+                success += buildSysUser(false,WQBM, loginNameSet, diyNameSet, 5, failDetails, packageId, chainsMap);
                 total += WQBM.size();
             }
         }
@@ -455,7 +455,7 @@ public class AnalysisDiyCustomerComponent {
         if(code==0){
             JSONArray STOREGUIDE = new JSONArray();
             STOREGUIDE.addAll(gjson.getJSONArray("userlist"));
-            success+=buildSysUser(STOREGUIDE,loginNameSet,diyNameSet,0,failDetails,packageId,codeMap);
+            success+=buildSysUser(false,STOREGUIDE,loginNameSet,diyNameSet,0,failDetails,packageId,codeMap);
             total+=gjson.getJSONArray("userlist").size();
         }
 
@@ -476,7 +476,7 @@ public class AnalysisDiyCustomerComponent {
         if(code==0){
             JSONArray MANAGER = new JSONArray();
             MANAGER.addAll(mjson.getJSONArray("userlist"));
-            success+=buildSysUser(MANAGER,loginNameSet,diyNameSet,1,failDetails,packageId,chainsMap);
+            success+=buildSysUser(false,MANAGER,loginNameSet,diyNameSet,1,failDetails,packageId,chainsMap);
             total+=mjson.getJSONArray("userlist").size();
         }
 //财务3.2
@@ -512,13 +512,13 @@ public class AnalysisDiyCustomerComponent {
                     FINANCE.addAll(fjson.getJSONArray("userlist"));
                 }
             }
-            success+=buildSysUser(FINANCE,loginNameSet,diyNameSet,2,failDetails,packageId,chainsMap);
+            success+=buildSysUser(false,FINANCE,loginNameSet,diyNameSet,2,failDetails,packageId,chainsMap);
             total+=FINANCE.size();
         }else{
             code = fjson.getInteger("code");
             if(code==0){
                 FINANCE.addAll(fjson.getJSONArray("userlist"));
-                success+=buildSysUser(FINANCE,loginNameSet,diyNameSet,2,failDetails,packageId,chainsMap);
+                success+=buildSysUser(false,FINANCE,loginNameSet,diyNameSet,2,failDetails,packageId,chainsMap);
                 total+=FINANCE.size();
             }
         }
@@ -556,13 +556,13 @@ public class AnalysisDiyCustomerComponent {
                     WAREHOUSE.addAll(wjson.getJSONArray("userlist"));
                 }
             }
-            success+=buildSysUser(WAREHOUSE,loginNameSet,diyNameSet,3,failDetails,packageId,chainsMap);
+            success+=buildSysUser(false,WAREHOUSE,loginNameSet,diyNameSet,3,failDetails,packageId,chainsMap);
             total+=WAREHOUSE.size();
         }else{
             code = wjson.getInteger("code");
             if(code==0){
                 WAREHOUSE.addAll(wjson.getJSONArray("userlist"));
-                success+=buildSysUser(WAREHOUSE,loginNameSet,diyNameSet,3,failDetails,packageId,chainsMap);
+                success+=buildSysUser(false,WAREHOUSE,loginNameSet,diyNameSet,3,failDetails,packageId,chainsMap);
                 total+=WAREHOUSE.size();
             }
         }
@@ -583,7 +583,7 @@ public class AnalysisDiyCustomerComponent {
         if(code==0){
             JSONArray xlsMANAGER = new JSONArray();
             xlsMANAGER.addAll(xlsJson.getJSONArray("data"));
-            success+=buildSysUser(xlsMANAGER,loginNameSet,diyNameSet,7,failDetails,packageId,chainsMap);
+            success+=buildSysUser(false,xlsMANAGER,loginNameSet,diyNameSet,7,failDetails,packageId,chainsMap);
             total+=xlsMANAGER.size();
         }
 
@@ -602,7 +602,7 @@ public class AnalysisDiyCustomerComponent {
         if(code==0){
             JSONArray homeCustomer = new JSONArray();
             homeCustomer.addAll(homeJson.getJSONArray("userlist"));
-            success+=buildSysUser(homeCustomer,loginNameSet,diyNameSet,9,failDetails,packageId,chainsMap);
+            success+=buildSysUser(false,homeCustomer,loginNameSet,diyNameSet,9,failDetails,packageId,chainsMap);
             total+=homeCustomer.size();
         }
 
@@ -696,7 +696,7 @@ public class AnalysisDiyCustomerComponent {
                 JSONArray dataArray = managerListJson.getJSONArray("data");
                 if(dataArray.size() >0){
                     String packageId = "diycustomer"+new Date().getTime();
-                    buildSysUser(dataArray, null, null, 1, failDetails, packageId, chainsMap);
+                    buildSysUser(true ,dataArray, null, null, 1, failDetails, packageId, chainsMap);
                     return "拉取成功";
                 }else {
                     return "拉取成功,数据为空";
@@ -832,7 +832,7 @@ public class AnalysisDiyCustomerComponent {
      * @param isManager
      * @return
      */
-    public Integer buildSysUser(JSONArray jsonArray, Set<String> loginNameSet,Set<String> diyNameSet, int isManager, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap) {
+    public Integer buildSysUser(boolean oneUser,JSONArray jsonArray, Set<String> loginNameSet,Set<String> diyNameSet, int isManager, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap) {
         // JSONArray jsonArray = json.getJSONArray("userlist");
         log.info("开始解析用户列表");
         log.info("用户列表数量:{}", jsonArray.size());
@@ -863,63 +863,79 @@ public class AnalysisDiyCustomerComponent {
         List<String> collect =new ArrayList<>();
         loginNames.removeAll(interfaceList);
         collect.addAll(loginNames);
-        if (collect.size() > 0) {
-            for (String login : collect
-            ) {
-                SysUser u = sysUserService.selectUserByLoginName(login);
-                if (("0").equals(u.getIsSync())) {
-                    String CustomerManager = u.getSysUserExt().getIsCustomerManager();
-                    if (StringUtils.isNotEmpty(CustomerManager)){
-                        String[] manager = CustomerManager.split(",");
-                        if (manager.length > 1) {
-                            if(assVOList !=null && assVOList.size()>0){
-                                boolean containsValue = assVOList.iterator().hasNext() && assVOList.iterator().next().getUserName().equals(u.getUserName());
-                                if(containsValue){
-                                    for (UserAssVO vo:assVOList
-                                    ) {
-                                        if(vo.getUserName().equals(u.getUserName()) && vo.getPhone().equals(u.getPhonenumber()) ){
-                                            List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(vo.getCustomerCode(), String.valueOf(u.getUserId()));
-                                            if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                                                assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), vo.getCustomerCode());
+        if (!oneUser){
+            if (collect.size() > 0) {
+                for (String login : collect
+                ) {
+                    SysUser u = sysUserService.selectUserByLoginName(login);
+                    if (("0").equals(u.getIsSync())) {
+                        String CustomerManager = u.getSysUserExt().getIsCustomerManager();
+                        if (StringUtils.isNotEmpty(CustomerManager)){
+                            String[] manager = CustomerManager.split(",");
+                            if (manager.length > 1) {
+                                if(assVOList !=null && assVOList.size()>0){
+                                    boolean containsValue = assVOList.iterator().hasNext() && assVOList.iterator().next().getUserName().equals(u.getUserName());
+                                    if(containsValue){
+                                        for (UserAssVO vo:assVOList
+                                        ) {
+                                            if(vo.getUserName().equals(u.getUserName()) && vo.getPhone().equals(u.getPhonenumber()) ){
+                                                List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(vo.getCustomerCode(), String.valueOf(u.getUserId()));
+                                                if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
+                                                    assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), vo.getCustomerCode());
+                                                }
                                             }
                                         }
                                     }
-                                }
-
-                            }
-                            List<String> resultList = new ArrayList<>(manager.length);
-                            Collections.addAll(resultList,manager);
-                            Object i=isManager;
-                            resultList.remove(i.toString());
-                            String IsManager = resultList.stream().map(String::valueOf).collect(Collectors.joining(","));
-                            u.getSysUserExt().setIsCustomerManager(IsManager);
-                            sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
-                        } else {
-                            if(assVOList !=null && assVOList.size()>0){
-                                boolean containsValue = assVOList.iterator().hasNext() && assVOList.iterator().next().getUserName().equals(u.getUserName());
-                                if(containsValue){
-                                    for (UserAssVO vo:assVOList
-                                    ) {
-                                        if(vo.getUserName().equals(u.getUserName()) && vo.getPhone().equals(u.getPhonenumber())){
-                                            List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(vo.getCustomerCode(), String.valueOf(u.getUserId()));
-                                            if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                                                assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), vo.getCustomerCode());
-                                            }else{
-                                                //检测用户是否还有门店账号标识,有则把用户扩展信息离职掉,没有则主账号离职+扩展信息离职
-                                                if(("1").equals(u.getIsShopAccount())){
-                                                    SysUserExt userExt = u.getSysUserExt();
-                                                    if(userExt !=null){
-                                                        userExt.setDelFlag("2");
-                                                        userExt.setDelTime(new Date());
-                                                        sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
-                                                    }
 
+                                }
+                                List<String> resultList = new ArrayList<>(manager.length);
+                                Collections.addAll(resultList,manager);
+                                Object i=isManager;
+                                resultList.remove(i.toString());
+                                String IsManager = resultList.stream().map(String::valueOf).collect(Collectors.joining(","));
+                                u.getSysUserExt().setIsCustomerManager(IsManager);
+                                sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
+                            } else {
+                                if(assVOList !=null && assVOList.size()>0){
+                                    boolean containsValue = assVOList.iterator().hasNext() && assVOList.iterator().next().getUserName().equals(u.getUserName());
+                                    if(containsValue){
+                                        for (UserAssVO vo:assVOList
+                                        ) {
+                                            if(vo.getUserName().equals(u.getUserName()) && vo.getPhone().equals(u.getPhonenumber())){
+                                                List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(vo.getCustomerCode(), String.valueOf(u.getUserId()));
+                                                if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
+                                                    assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), vo.getCustomerCode());
                                                 }else{
-                                                    u.setQuit("2");
-                                                    sysUserService.updateUserInfo(u);
+                                                    //检测用户是否还有门店账号标识,有则把用户扩展信息离职掉,没有则主账号离职+扩展信息离职
+                                                    if(("1").equals(u.getIsShopAccount())){
+                                                        SysUserExt userExt = u.getSysUserExt();
+                                                        if(userExt !=null){
+                                                            userExt.setDelFlag("2");
+                                                            userExt.setDelTime(new Date());
+                                                            sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
+                                                        }
+
+                                                    }else{
+                                                        u.setQuit("2");
+                                                        sysUserService.updateUserInfo(u);
+                                                    }
                                                 }
                                             }
                                         }
+                                    }else{
+                                        //检测用户是否还有门店账号标识,有则把用户扩展信息离职掉,没有则主账号离职+扩展信息离职
+                                        if(("1").equals(u.getIsShopAccount())){
+                                            SysUserExt userExt = u.getSysUserExt();
+                                            if(userExt !=null){
+                                                userExt.setDelFlag("2");
+                                                userExt.setDelTime(new Date());
+                                                sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
+                                            }
+
+                                        }else{
+                                            u.setQuit("2");
+                                            sysUserService.updateUserInfo(u);
+                                        }
                                     }
                                 }else{
                                     //检测用户是否还有门店账号标识,有则把用户扩展信息离职掉,没有则主账号离职+扩展信息离职
@@ -936,20 +952,6 @@ public class AnalysisDiyCustomerComponent {
                                         sysUserService.updateUserInfo(u);
                                     }
                                 }
-                            }else{
-                                //检测用户是否还有门店账号标识,有则把用户扩展信息离职掉,没有则主账号离职+扩展信息离职
-                                if(("1").equals(u.getIsShopAccount())){
-                                    SysUserExt userExt = u.getSysUserExt();
-                                    if(userExt !=null){
-                                        userExt.setDelFlag("2");
-                                        userExt.setDelTime(new Date());
-                                        sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
-                                    }
-
-                                }else{
-                                    u.setQuit("2");
-                                    sysUserService.updateUserInfo(u);
-                                }
                             }
                         }
                     }