Browse Source

根据用户名,手机号,经销商和离职标记取消用户关联

njs 6 months ago
parent
commit
9a53751980

+ 14 - 0
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/domain/UserAssVO.java

@@ -0,0 +1,14 @@
+package com.dgtly.sync.domain;
+
+import lombok.Data;
+
+@Data
+public class UserAssVO {
+
+    private String userName;
+
+    private String phone;
+
+    private String customerCode;
+
+}

+ 170 - 21
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java

@@ -10,6 +10,7 @@ import com.dgtly.common.utils.security.EncryptPassWordClass;
 import com.dgtly.sync.domain.Customers;
 import com.dgtly.sync.domain.SyncFailDetail;
 import com.dgtly.sync.domain.SyncLog;
+import com.dgtly.sync.domain.UserAssVO;
 import com.dgtly.sync.mapper.CustomersMapper;
 import com.dgtly.sync.mapper.SyncFailDetailMapper;
 import com.dgtly.sync.utils.CustomerAccessTokenUtil;
@@ -639,11 +640,20 @@ public class AnalysisDiyCustomerComponent {
         // JSONArray jsonArray = json.getJSONArray("userlist");
         int count = 0;
         List<String> interfaceList = new ArrayList<>();
+        List<UserAssVO> assVOList =new ArrayList<>();
         for (int x = 0; x < jsonArray.size(); x++) {
             JSONObject jsonObject = jsonArray.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
             Boolean isDelete = jsonObject.getBoolean("isDelete");
             if(isDelete){
+                String customerCode = jsonObject.getString("depCode");
+                String name = jsonObject.getString("name");
+                String phone = jsonObject.getString("mobile");
+                UserAssVO assVO =new UserAssVO();
+                assVO.setUserName(name);
+                assVO.setCustomerCode(customerCode);
+                assVO.setPhone(phone);
+                assVOList.add(assVO);
                 continue;
             }
             if (loginName != null && !"".equals(loginName)) {
@@ -662,9 +672,20 @@ public class AnalysisDiyCustomerComponent {
                     String CustomerManager = u.getSysUserExt().getIsCustomerManager();
                     String[] manager = CustomerManager.split(",");
                     if (manager.length > 1) {
-                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
-                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(),null);
+                        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);
@@ -674,9 +695,25 @@ public class AnalysisDiyCustomerComponent {
                         u.getSysUserExt().setIsCustomerManager(IsManager);
                         sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
                     } else {
-                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
-                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), null);
+                        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);
+                                        }
+                                    }
+                                }
+                            }else{
+                                u.setQuit("2");
+                                sysUserService.updateUserInfo(u);
+                            }
                         }else{
                             u.setQuit("2");
                             sysUserService.updateUserInfo(u);
@@ -1201,11 +1238,20 @@ public class AnalysisDiyCustomerComponent {
         //JSONArray jsonArray = json.getJSONArray("data");
         int count = 0;
         List<String > interfaceList8=new ArrayList<>();
+        List<UserAssVO> assVOList8 =new ArrayList<>();
         for(int x =0;x<STAFF.size();x++){
             JSONObject jsonObject = STAFF.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
             Boolean isDelete = jsonObject.getBoolean("isDelete");
             if(isDelete){
+                String customerCode = jsonObject.getString("depCode");
+                String name = jsonObject.getString("name");
+                String phone = jsonObject.getString("mobile");
+                UserAssVO assVO =new UserAssVO();
+                assVO.setUserName(name);
+                assVO.setPhone(phone);
+                assVO.setCustomerCode(customerCode);
+                assVOList8.add(assVO);
                 continue;
             }
             if(loginName !=null && !"".equals(loginName)){
@@ -1359,9 +1405,20 @@ public class AnalysisDiyCustomerComponent {
                     String CustomerManager= u.getSysUserExt().getIsCustomerManager();
                     String[] manager=CustomerManager.split(",");
                     if(manager.length >1){
-                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
-                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), null);
+                        if(assVOList8 !=null && assVOList8.size()>0){
+                            boolean containsValue = assVOList8.iterator().hasNext() && assVOList8.iterator().next().getUserName().equals(u.getUserName());
+                            if(containsValue){
+                                for (UserAssVO vo:assVOList8
+                                ) {
+                                    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);
@@ -1371,9 +1428,25 @@ public class AnalysisDiyCustomerComponent {
                         u.getSysUserExt().setIsCustomerManager(IsManager);
                         sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
                     }else{
-                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
-                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), null);
+                        if(assVOList8 !=null && assVOList8.size()>0){
+                            boolean containsValue = assVOList8.iterator().hasNext() && assVOList8.iterator().next().getUserName().equals(u.getUserName());
+                            if(containsValue){
+                                for (UserAssVO vo:assVOList8
+                                ) {
+                                    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);
+                                        }
+                                    }
+                                }
+                            }else{
+                                u.setQuit("2");
+                                sysUserService.updateUserInfo(u);
+                            }
                         }else{
                             u.setQuit("2");
                             sysUserService.updateUserInfo(u);
@@ -1394,11 +1467,20 @@ public class AnalysisDiyCustomerComponent {
         //JSONArray jsonArray = json.getJSONArray("data");
         int count = 0;
         List<String > interfaceList5=new ArrayList<>();
+        List<UserAssVO> assVOList5 =new ArrayList<>();
         for(int x =0;x<BZ.size();x++){
             JSONObject jsonObject = BZ.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
             Boolean isDelete = jsonObject.getBoolean("isDelete");
             if(isDelete){
+                String customerCode = jsonObject.getString("depCode");
+                String name = jsonObject.getString("name");
+                UserAssVO assVO =new UserAssVO();
+                assVO.setUserName(name);
+                String phone = jsonObject.getString("mobile");
+                assVO.setPhone(phone);
+                assVO.setCustomerCode(customerCode);
+                assVOList5.add(assVO);
                 continue;
             }
             if(loginName !=null && !"".equals(loginName)){
@@ -1550,9 +1632,20 @@ public class AnalysisDiyCustomerComponent {
                     String CustomerManager= u.getSysUserExt().getIsCustomerManager();
                     String[] manager=CustomerManager.split(",");
                     if(manager.length >1){
-                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
-                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), null);
+                        if(assVOList5 !=null && assVOList5.size()>0){
+                            boolean containsValue = assVOList5.iterator().hasNext() && assVOList5.iterator().next().getUserName().equals(u.getUserName());
+                            if(containsValue){
+                                for (UserAssVO vo:assVOList5
+                                ) {
+                                    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);
@@ -1562,9 +1655,25 @@ public class AnalysisDiyCustomerComponent {
                         u.getSysUserExt().setIsCustomerManager(IsManager);
                         sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
                     }else{
-                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
-                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), null);
+                        if(assVOList5 !=null && assVOList5.size()>0){
+                            boolean containsValue = assVOList5.iterator().hasNext() && assVOList5.iterator().next().getUserName().equals(u.getUserName());
+                            if(containsValue){
+                                for (UserAssVO vo:assVOList5
+                                ) {
+                                    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);
+                                        }
+                                    }
+                                }
+                            }else{
+                                u.setQuit("2");
+                                sysUserService.updateUserInfo(u);
+                            }
                         }else{
                             u.setQuit("2");
                             sysUserService.updateUserInfo(u);
@@ -1587,11 +1696,20 @@ public class AnalysisDiyCustomerComponent {
         //JSONArray jsonArray = json.getJSONArray("userlist");
         int count = 0;
         List<String > interfaceList=new ArrayList<>();
+        List<UserAssVO> assVOList =new ArrayList<>();
         for(int x =0;x<jsonArray.size();x++){
             JSONObject jsonObject = jsonArray.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
             Boolean isDelete = jsonObject.getBoolean("isDelete");
             if(isDelete){
+                String customerCode = jsonObject.getString("depCode");
+                String name = jsonObject.getString("name");
+                UserAssVO assVO =new UserAssVO();
+                assVO.setUserName(name);
+                String phone = jsonObject.getString("mobile");
+                assVO.setPhone(phone);
+                assVO.setCustomerCode(customerCode);
+                assVOList.add(assVO);
                 continue;
             }
             if(loginName!=null && !"".equals(loginName)){
@@ -1757,6 +1875,21 @@ public class AnalysisDiyCustomerComponent {
                     String CustomerManager = u.getSysUserExt().getIsCustomerManager();
                     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<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
                         if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
                             assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), null);
@@ -1769,9 +1902,25 @@ public class AnalysisDiyCustomerComponent {
                         u.getSysUserExt().setIsCustomerManager(IsManager);
                         sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
                     } else {
-                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
-                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
-                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), null);
+                        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);
+                                        }
+                                    }
+                                }
+                            }else{
+                                u.setQuit("2");
+                                sysUserService.updateUserInfo(u);
+                            }
                         }else{
                             u.setQuit("2");
                             sysUserService.updateUserInfo(u);

+ 1 - 1
suishenbang-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -218,7 +218,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 	<select id="selectUserByLoginName" parameterType="String" resultMap="SysUserResult">
 	    <include refid="selectUserVo"/>
-		where u.login_name = #{userName} and u.quit is null GROUP BY login_name
+		where u.login_name = #{userName} and u.quit is null and u.del_flag ='0' GROUP BY login_name
 	</select>
 
 	<select id="selectUserByIsManager"  resultType="java.lang.String">