|
@@ -148,7 +148,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(MANAGER,loginNameSet,diyNameSet,1,failDetails,packageId,chainsMap);
|
|
|
total+=mjson.getJSONArray("userlist").size();
|
|
|
}
|
|
|
|
|
@@ -342,17 +342,60 @@ public class AnalysisDiyCustomerComponent {
|
|
|
STAFF.addAll(json.getJSONArray("data"));
|
|
|
}
|
|
|
}
|
|
|
- success += buildSysUserStaff(STAFF, loginNameSet, diyNameSet, failDetails, packageId, chainsMap);
|
|
|
+ success += buildSysUserStaff(STAFF, loginNameSet, diyNameSet, failDetails, packageId, chainsMap,8);
|
|
|
total += STAFF.size();
|
|
|
}else{
|
|
|
code = json.getInteger("code");
|
|
|
if(code==0){
|
|
|
STAFF.addAll(json.getJSONArray("data"));
|
|
|
- success += buildSysUserStaff(STAFF, loginNameSet, diyNameSet, failDetails, packageId, chainsMap);
|
|
|
+ success += buildSysUserStaff(STAFF, loginNameSet, diyNameSet, failDetails, packageId, chainsMap,8);
|
|
|
total += STAFF.size();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ String beizengJson ="";
|
|
|
+ JSONArray bz = new JSONArray();
|
|
|
+ try {
|
|
|
+ beizengJson = HttpUtils.sendSSLGet(customerAccessTokenUtil.getUrl(UrlType.BZ, 1+""));
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("3.7经销商倍增人员列表!");
|
|
|
+ customerAccessTokenUtil.reSetToken();
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONObject bzJson = JSONObject.parseObject(beizengJson);
|
|
|
+ Integer bzCount = bzJson.getInteger("count");
|
|
|
+ if(bzCount>100){
|
|
|
+ int co = 0;
|
|
|
+ if (bzCount%100 != 0){
|
|
|
+ co = (bzCount/100) +2;
|
|
|
+ }else{
|
|
|
+ co = (bzCount/100) +1;
|
|
|
+ }
|
|
|
+ for (int i = 1; i < co; i++) {
|
|
|
+ try {
|
|
|
+ bzJson = JSONObject.parseObject(HttpUtils.sendSSLGet(customerAccessTokenUtil.getUrl(UrlType.BZ,i+"")));
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("循环获取3.7经销商倍增人员错误!第"+i+"页");
|
|
|
+ customerAccessTokenUtil.reSetToken();
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ code = bzJson.getInteger("code");
|
|
|
+ if(code==0){
|
|
|
+ bz.addAll(bzJson.getJSONArray("data"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ success += buildSysUserBz(bz, loginNameSet, diyNameSet, failDetails, packageId, chainsMap,5);
|
|
|
+ total += bz.size();
|
|
|
+ }else{
|
|
|
+ code = bzJson.getInteger("code");
|
|
|
+ if(code==0){
|
|
|
+ bz.addAll(bzJson.getJSONArray("data"));
|
|
|
+ success += buildSysUserBz(bz, loginNameSet, diyNameSet, failDetails, packageId, chainsMap,5);
|
|
|
+ total += bz.size();
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
JSONObject bossListJson = JSONObject.parseObject(HttpUtils.sendSSLGet(customerAccessTokenUtil.getUrl(UrlType.BOSSLIST, null)));
|
|
|
code = bossListJson.getInteger("code");
|
|
@@ -630,7 +673,7 @@ public class AnalysisDiyCustomerComponent {
|
|
|
userExt.setCustomerCode(userExt.getOrgCode());
|
|
|
} else {
|
|
|
userExt.setCustomerCode(jo.getString("depCode"));
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
@@ -761,7 +804,9 @@ public class AnalysisDiyCustomerComponent {
|
|
|
}
|
|
|
}
|
|
|
List<String> loginNames = sysUserService.selectUserByIsManager(isManager);
|
|
|
- List<String> collect = loginNames.stream().filter(item -> !interfaceList.contains(item)).collect(Collectors.toList());
|
|
|
+ List<String> collect =new ArrayList<>();
|
|
|
+ loginNames.removeAll(interfaceList);
|
|
|
+ collect.addAll(loginNames);
|
|
|
if (collect.size() > 0) {
|
|
|
for (String login : collect
|
|
|
) {
|
|
@@ -783,7 +828,7 @@ public class AnalysisDiyCustomerComponent {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -1028,13 +1073,21 @@ public class AnalysisDiyCustomerComponent {
|
|
|
List<String> loginNames7=sysUserService.selectUserByIsManager(7);
|
|
|
|
|
|
List<String> loginNames9=sysUserService.selectUserByIsManager(9);
|
|
|
- List<String> collect4= loginNames4.stream().filter(item -> !interfaceList4.contains(item)).collect(Collectors.toList());
|
|
|
+ List<String> collect4 =new ArrayList<>();
|
|
|
+ loginNames4.removeAll(interfaceList4);
|
|
|
+ collect4.addAll(loginNames4);
|
|
|
this.uninoncw(collect4, 4);
|
|
|
- List<String> collect5 = loginNames5.stream().filter(item -> !interfaceList5.contains(item)).collect(Collectors.toList());
|
|
|
+ List<String> collect5 =new ArrayList<>();
|
|
|
+ loginNames5.removeAll(interfaceList5);
|
|
|
+ collect5.addAll(loginNames5);
|
|
|
this.uninoncw(collect5, 5);
|
|
|
- List<String> collect7 = loginNames7.stream().filter(item -> !interfaceList7.contains(item)).collect(Collectors.toList());
|
|
|
+ List<String> collect7 =new ArrayList<>();
|
|
|
+ loginNames7.removeAll(interfaceList7);
|
|
|
+ collect7.addAll(loginNames7);
|
|
|
this.uninoncw(collect7, 7);
|
|
|
- List<String> collect9 = loginNames9.stream().filter(item -> !interfaceList9.contains(item)).collect(Collectors.toList());
|
|
|
+ List<String> collect9 =new ArrayList<>();
|
|
|
+ loginNames9.removeAll(interfaceList9);
|
|
|
+ collect9.addAll(loginNames9);
|
|
|
this.uninoncw(collect9, 9);
|
|
|
return count;
|
|
|
}
|
|
@@ -1066,18 +1119,17 @@ public class AnalysisDiyCustomerComponent {
|
|
|
|
|
|
|
|
|
*
|
|
|
- * 3.6经销商经销人员门店
|
|
|
+ * 3.6
|
|
|
* **/
|
|
|
- public Integer buildSysUserStaff(JSONArray STAFF, Set<String> loginNameSet,Set<String> diyNameSet, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap){
|
|
|
+ public Integer buildSysUserStaff(JSONArray STAFF, Set<String> loginNameSet,Set<String> diyNameSet, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap,Integer isManager){
|
|
|
|
|
|
int count = 0;
|
|
|
- int isManager=8;
|
|
|
- List<String > interfaceList=new ArrayList<>();
|
|
|
+ List<String > interfaceList8=new ArrayList<>();
|
|
|
for(int x =0;x<STAFF.size();x++){
|
|
|
JSONObject jsonObject = STAFF.getJSONObject(x);
|
|
|
String loginName = jsonObject.getString("userid");
|
|
|
if(loginName !=null && !"".equals(loginName)){
|
|
|
- interfaceList.add(loginName);
|
|
|
+ interfaceList8.add(loginName);
|
|
|
}
|
|
|
}
|
|
|
for(int i =0;i<STAFF.size();i++){
|
|
@@ -1212,9 +1264,187 @@ public class AnalysisDiyCustomerComponent {
|
|
|
}
|
|
|
}
|
|
|
List<String> loginNames=sysUserService.selectUserByIsManager(isManager);
|
|
|
- List<String> collect = loginNames.stream().filter(item -> !interfaceList.contains(item)).collect(Collectors.toList());
|
|
|
+ List<String> collect =new ArrayList<>();
|
|
|
+ loginNames.removeAll(interfaceList8);
|
|
|
+ collect.addAll(loginNames);
|
|
|
if (collect.size() > 0) {
|
|
|
- for (String login:collect
|
|
|
+ for (String login:collect
|
|
|
+ ) {
|
|
|
+ SysUser u = sysUserService.selectUserByLoginName(login);
|
|
|
+ if(("0").equals(u.getIsSync())){
|
|
|
+ String CustomerManager= u.getSysUserExt().getIsCustomerManager();
|
|
|
+ String[] manager=CustomerManager.split(",");
|
|
|
+ if(manager.length >1){
|
|
|
+ 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{
|
|
|
+ u.setQuit("2");
|
|
|
+ sysUserService.updateUserInfo(u);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return count;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ *
|
|
|
+ *3.7经销商经销人员门店
|
|
|
+ * **/
|
|
|
+ public Integer buildSysUserBz(JSONArray BZ, Set<String> loginNameSet,Set<String> diyNameSet, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap,Integer isManager){
|
|
|
+
|
|
|
+ int count = 0;
|
|
|
+ List<String > interfaceList5=new ArrayList<>();
|
|
|
+ for(int x =0;x<BZ.size();x++){
|
|
|
+ JSONObject jsonObject = BZ.getJSONObject(x);
|
|
|
+ String loginName = jsonObject.getString("userid");
|
|
|
+ if(loginName !=null && !"".equals(loginName)){
|
|
|
+ interfaceList5.add(loginName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(int i =0;i<BZ.size();i++){
|
|
|
+ JSONObject jo = BZ.getJSONObject(i);
|
|
|
+
|
|
|
+ try {
|
|
|
+ String userNo = jo.getString("userNo");
|
|
|
+ String name = jo.getString("name");
|
|
|
+ String userid = jo.getString("userid");
|
|
|
+ String customerCode = jo.getString("depCode");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ *
|
|
|
+ if(status==null || !status.trim().equals("1")){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ *
|
|
|
+ if(!isSync){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ *
|
|
|
+ if(isDelete){
|
|
|
+ continue;
|
|
|
+ }*/
|
|
|
+ if(userid==null||userid.trim().equals("")){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ loginNameSet = sysUserService.selectAllUserLoginName();
|
|
|
+ diyNameSet = sysUserService.selectDiyUserLoginName();
|
|
|
+ loginNameSet = loginNameSet.stream().map(String::toUpperCase).collect(Collectors.toSet());
|
|
|
+ if (!loginNameSet.contains(userid.toUpperCase().trim())) {
|
|
|
+
|
|
|
+
|
|
|
+ SysUser user = new SysUser();
|
|
|
+ user.setCompanyId(1L);
|
|
|
+ user.setDeptId(deptId);
|
|
|
+ user.setLoginName(userid);
|
|
|
+ user.setUserName(jo.getString("name"));
|
|
|
+ user.setPhonenumber(jo.getString("mobile"));
|
|
|
+ user.setRoleIds(roleStoreIds);
|
|
|
+ user.setPassword(user.getLoginName());
|
|
|
+ user.setSalt(ShiroSaltUtil.randomSalt());
|
|
|
+ user.setPassword(EncryptPassWordClass.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ SysUserExt userExt = new SysUserExt();
|
|
|
+ userExt.setSalesLevel("customer_level");
|
|
|
+
|
|
|
+ userExt.setIdentity(UserIdentityUtil.UI_DIY);
|
|
|
+
|
|
|
+ userExt.setCustomerCode(jo.getString("depCode"));
|
|
|
+ userExt.setIsCustomerManager(isManager + "");
|
|
|
+ userExt.setSapEmployeeId(userNo);
|
|
|
+
|
|
|
+ userExt.setPostName("DIY经销商");
|
|
|
+ String orgCode = jo.getString("depCode");
|
|
|
+ if(cusMap.containsKey(orgCode)){
|
|
|
+ Customers c = cusMap.get(orgCode);
|
|
|
+ userExt.setOrgCode(c.getChainsCode());
|
|
|
+ userExt.setOrgName(c.getChainsName());
|
|
|
+ }else{
|
|
|
+ userExt.setOrgCode(orgCode);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ user.setSysUserExt(userExt);
|
|
|
+ insertUserAndExt(user);
|
|
|
+ count++;
|
|
|
+ loginNameSet.add(userid);
|
|
|
+ diyNameSet.add(userid);
|
|
|
+ }else{
|
|
|
+
|
|
|
+ (首先查询当前用户职位,判断当前职位是否包含当前职位,不存在就更新,存在就不更新)*/
|
|
|
+ SysUser user = sysUserService.selectUserByLoginName(userid);
|
|
|
+ if(("0").equals(user.getIsSync())){
|
|
|
+
|
|
|
+
|
|
|
+ sysUserService.insertUserRole(user.getUserId(), roleStoreIds[0]);
|
|
|
+ if (user.getSysUserExt().getIsCustomerManager() == null) {
|
|
|
+ user.getSysUserExt().setIsCustomerManager(isManager + "");
|
|
|
+ sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
|
|
|
+ }
|
|
|
+ if (!user.getSysUserExt().getIsCustomerManager().contains(isManager + "") ||
|
|
|
+ !user.getSysUserExt().getCustomerCode().equals(customerCode) || !user.getSysUserExt().getOrgCode().equals(customerCode)) {
|
|
|
+ if (!user.getSysUserExt().getIsCustomerManager().contains(isManager + "")) {
|
|
|
+
|
|
|
+ user.getSysUserExt().setIsCustomerManager(user.getSysUserExt().getIsCustomerManager() + "," + isManager);
|
|
|
+ }
|
|
|
+ if (!user.getSysUserExt().getCustomerCode().equals(customerCode) || !user.getSysUserExt().getOrgCode().equals(customerCode)) {
|
|
|
+
|
|
|
+ if (cusMap.containsKey(customerCode)) {
|
|
|
+ Customers c = cusMap.get(customerCode);
|
|
|
+ user.getSysUserExt().setOrgCode(c.getChainsCode());
|
|
|
+ user.getSysUserExt().setOrgName(c.getChainsName());
|
|
|
+ } else {
|
|
|
+ user.getSysUserExt().setOrgCode(customerCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ log.info("updateSysUserExt" + customerCode);
|
|
|
+ sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!user.getUserName().equals(name)) {
|
|
|
+ user.setUserName(name);
|
|
|
+ sysUserService.updateUserInfo(user);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error(e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+ SyncFailDetail syncFailDetail = new SyncFailDetail();
|
|
|
+ syncFailDetail.setPackageId(packageId);
|
|
|
+ syncFailDetail.setFailReason(e.getMessage());
|
|
|
+ syncFailDetail.setDataJson(jo.toJSONString());
|
|
|
+ syncFailDetail.setFailLevel("1");
|
|
|
+ syncFailDetail.setExceptionType(e.getClass().getSimpleName());
|
|
|
+ failDetails.add(syncFailDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<String> loginNames=sysUserService.selectUserByIsManager(isManager);
|
|
|
+ List<String> collect =new ArrayList<>();
|
|
|
+ loginNames.removeAll(interfaceList5);
|
|
|
+ collect.addAll(loginNames);
|
|
|
+ if (collect.size() > 0) {
|
|
|
+ for (String login:collect
|
|
|
) {
|
|
|
SysUser u = sysUserService.selectUserByLoginName(login);
|
|
|
if(("0").equals(u.getIsSync())){
|
|
@@ -1400,9 +1630,11 @@ public class AnalysisDiyCustomerComponent {
|
|
|
}
|
|
|
}
|
|
|
List<String> loginNames = sysUserService.selectUserByIsManager(isManager);
|
|
|
- List<String> collect = loginNames.stream().filter(item -> !interfaceList.contains(item)).collect(Collectors.toList());
|
|
|
+ List<String> collect =new ArrayList<>();
|
|
|
+ loginNames.removeAll(interfaceList);
|
|
|
+ collect.addAll(loginNames);
|
|
|
if (collect.size() > 0) {
|
|
|
- for (String login : collect
|
|
|
+ for (String login : collect
|
|
|
) {
|
|
|
SysUser u = sysUserService.selectUserByLoginName(login);
|
|
|
if (("0").equals(u.getIsSync())) {
|