|
@@ -67,6 +67,7 @@ public class AnalysisDiyCustomerComponent {
|
|
|
private Long[] roleCwDiyIds;
|
|
|
private Long[] roleFXDiyIds; //3.4接口,同步分销用户
|
|
|
private Long[] roleStoreIds; //3.6门店经销商
|
|
|
+ private Long[] roleBusiness;//7.5厨卫业务人员角色
|
|
|
/**
|
|
|
* 获取并解析DIY经销商用户
|
|
|
* 因为经销商用户并不涉及用信息更新等方面 所以只插入不更新
|
|
@@ -131,7 +132,7 @@ public class AnalysisDiyCustomerComponent {
|
|
|
if(code==0){
|
|
|
JSONArray MANAGER = new JSONArray();
|
|
|
MANAGER.addAll(mjson.getJSONArray("userlist"));
|
|
|
- success+=buildSysUser(MANAGER,loginNameSet,1,failDetails,packageId,chainsMap);
|
|
|
+ success+=buildSysUser(MANAGER,loginNameSet,diyNameSet,1,failDetails,packageId,chainsMap);
|
|
|
total+=mjson.getJSONArray("userlist").size();
|
|
|
}
|
|
|
|
|
@@ -151,7 +152,7 @@ public class AnalysisDiyCustomerComponent {
|
|
|
if(code==0){
|
|
|
JSONArray STOREGUIDE = new JSONArray();
|
|
|
STOREGUIDE.addAll(gjson.getJSONArray("userlist"));
|
|
|
- success+=buildSysUser(STOREGUIDE,loginNameSet,0,failDetails,packageId,codeMap);
|
|
|
+ success+=buildSysUser(STOREGUIDE,loginNameSet,diyNameSet,0,failDetails,packageId,codeMap);
|
|
|
total+=gjson.getJSONArray("userlist").size();
|
|
|
}
|
|
|
|
|
@@ -237,13 +238,13 @@ public class AnalysisDiyCustomerComponent {
|
|
|
FINANCE.addAll(fjson.getJSONArray("userlist"));
|
|
|
}
|
|
|
}
|
|
|
- success+=buildSysUser(FINANCE,loginNameSet,2,failDetails,packageId,chainsMap);
|
|
|
+ success+=buildSysUser(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,2,failDetails,packageId,chainsMap);
|
|
|
+ success+=buildSysUser(FINANCE,loginNameSet,diyNameSet,2,failDetails,packageId,chainsMap);
|
|
|
total+=FINANCE.size();
|
|
|
}
|
|
|
}
|
|
@@ -281,13 +282,13 @@ public class AnalysisDiyCustomerComponent {
|
|
|
WAREHOUSE.addAll(wjson.getJSONArray("userlist"));
|
|
|
}
|
|
|
}
|
|
|
- success+=buildSysUser(WAREHOUSE,loginNameSet,3,failDetails,packageId,chainsMap);
|
|
|
+ success+=buildSysUser(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,3,failDetails,packageId,chainsMap);
|
|
|
+ success+=buildSysUser(WAREHOUSE,loginNameSet,diyNameSet,3,failDetails,packageId,chainsMap);
|
|
|
total+=WAREHOUSE.size();
|
|
|
}
|
|
|
}
|
|
@@ -426,7 +427,10 @@ public class AnalysisDiyCustomerComponent {
|
|
|
Long roleDiyId = Long.parseLong(configService.selectConfigByKey("libang.guide.roleid"));
|
|
|
roleCwDiyIds = new Long[]{roleId, roleDiyId};
|
|
|
}
|
|
|
-
|
|
|
+ if(roleBusiness ==null ){
|
|
|
+ Long roleId = Long.parseLong(configService.selectConfigByKey("libang.cw.business"));
|
|
|
+ roleBusiness = new Long[]{roleId};
|
|
|
+ }
|
|
|
|
|
|
|
|
|
List<SyncFailDetail> failDetails = new ArrayList<>();
|
|
@@ -514,7 +518,7 @@ public class AnalysisDiyCustomerComponent {
|
|
|
* @param isManager
|
|
|
* @return
|
|
|
*/
|
|
|
- public Integer buildSysUser(JSONArray jsonArray, Set<String> loginNameSet, int isManager, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap) {
|
|
|
+ public Integer buildSysUser(JSONArray jsonArray, Set<String> loginNameSet,Set<String> diyNameSet, int isManager, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap) {
|
|
|
// JSONArray jsonArray = json.getJSONArray("userlist");
|
|
|
int count = 0;
|
|
|
List<String> interfaceList = new ArrayList<>();
|
|
@@ -590,7 +594,7 @@ public class AnalysisDiyCustomerComponent {
|
|
|
userExt.setSalesLevel("customer_level");
|
|
|
userExt.setIsCustomerManager(isManager + "");
|
|
|
userExt.setSapEmployeeId(userNo);
|
|
|
-
|
|
|
+ userExt.setIdentity(UserIdentityUtil.UI_DIY);
|
|
|
userExt.setPostName("DIY经销商");
|
|
|
String orgCode = jo.getString("depCode");
|
|
|
String code = null;
|
|
@@ -665,7 +669,6 @@ public class AnalysisDiyCustomerComponent {
|
|
|
user.setUserName(name);
|
|
|
sysUserService.updateUserInfo(user);
|
|
|
}
|
|
|
-
|
|
|
List<AssRelcustomerinfo> assRelcustomerinfoList = new ArrayList<>();
|
|
|
/*过滤导购*/
|
|
|
if (isManager != 0 && !("019").equals(user.getSysUserExt().getOrgCode().substring(0, 3)) && !("019").equals(user.getSysUserExt().getCustomerCode().substring(0, 3))) {
|
|
@@ -768,12 +771,25 @@ public class AnalysisDiyCustomerComponent {
|
|
|
public Integer buildSysUserEbr(JSONObject json, Set<String> loginNameSet,Set<String> diyNameSet, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap){
|
|
|
JSONArray jsonArray = json.getJSONArray("data");
|
|
|
int count = 0;
|
|
|
- List<String > interfaceList=new ArrayList<>();
|
|
|
+ List<String > interfaceList4=new ArrayList<>();
|
|
|
+ List<String > interfaceList5=new ArrayList<>();
|
|
|
+ List<String > interfaceList7=new ArrayList<>();
|
|
|
+ List<String > interfaceList9=new ArrayList<>();
|
|
|
for(int x =0;x<jsonArray.size();x++){
|
|
|
JSONObject jsonObject = jsonArray.getJSONObject(x);
|
|
|
String loginName = jsonObject.getString("userid");
|
|
|
+ String role=jsonObject.getString("role_code");
|
|
|
if(loginName !=null && !"".equals(loginName)){
|
|
|
- interfaceList.add(loginName);
|
|
|
+ if(role.equals("boss")){
|
|
|
+ interfaceList4.add(loginName);
|
|
|
+ }else if(role.equals("manager")){
|
|
|
+ interfaceList5.add(loginName);
|
|
|
+ }else if(role.equals("CWWH")){
|
|
|
+ interfaceList7.add(loginName);
|
|
|
+ }else if(role.equals("business")){
|
|
|
+ interfaceList9.add(loginName);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
int isManager=1;
|
|
@@ -782,20 +798,21 @@ public class AnalysisDiyCustomerComponent {
|
|
|
|
|
|
try {
|
|
|
String role=jo.getString("role_code");
|
|
|
- if(role.equals("business")){
|
|
|
+ /* if(role.equals("business")){
|
|
|
continue;
|
|
|
- }
|
|
|
+ }*/
|
|
|
String userNo = jo.getString("userNo");
|
|
|
String name = jo.getString("name");
|
|
|
String userid = jo.getString("userid");
|
|
|
String customerCode = jo.getString("depCode");
|
|
|
if(role.equals("boss")){
|
|
|
isManager=4;
|
|
|
-
|
|
|
}else if(role.equals("manager")){
|
|
|
isManager=5;
|
|
|
}else if(role.equals("CWWH")){
|
|
|
isManager=7;
|
|
|
+ }else if(role.equals("business")){
|
|
|
+ isManager=9;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -830,9 +847,11 @@ public class AnalysisDiyCustomerComponent {
|
|
|
user.setLoginName(userid);
|
|
|
user.setUserName(jo.getString("name"));
|
|
|
user.setPhonenumber(jo.getString("mobile"));
|
|
|
- if (diyNameSet.contains(userid)) {
|
|
|
+ if(role.equals("business")){
|
|
|
+ user.setRoleIds(roleBusiness);
|
|
|
+ } else if (diyNameSet.contains(userid) && !role.equals("business")) {
|
|
|
user.setRoleIds(roleCwDiyIds);
|
|
|
- } else {
|
|
|
+ } else if(!role.equals("business")){
|
|
|
user.setRoleIds(roleCwIds);
|
|
|
}
|
|
|
user.setPassword(user.getLoginName());
|
|
@@ -912,10 +931,12 @@ public class AnalysisDiyCustomerComponent {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
- if (diyNameSet.contains(userid)) {
|
|
|
+ if (diyNameSet.contains(userid) && !role.equals("business")) {
|
|
|
sysUserService.insertUserRole(user.getUserId(), roleIds[0]);
|
|
|
sysUserService.insertUserRole(user.getUserId(), roleCwIds[0]);
|
|
|
- } else {
|
|
|
+ } else if(role.equals("business")){
|
|
|
+ sysUserService.insertUserRole(user.getUserId(), roleBusiness[0]);
|
|
|
+ }else if(!role.equals("business")) {
|
|
|
sysUserService.insertUserRole(user.getUserId(), roleCwIds[0]);
|
|
|
}
|
|
|
|
|
@@ -970,10 +991,28 @@ public class AnalysisDiyCustomerComponent {
|
|
|
failDetails.add(syncFailDetail);
|
|
|
}
|
|
|
}
|
|
|
- List<String> loginNames=sysUserService.selectUserByIsManager(isManager);
|
|
|
- List<String> collect = loginNames.stream().filter(item -> !interfaceList.contains(item)).collect(Collectors.toList());
|
|
|
+ //厨卫老板
|
|
|
+ List<String> loginNames4=sysUserService.selectUserByIsManager(4);
|
|
|
+ //厨卫经理
|
|
|
+ List<String> loginNames5=sysUserService.selectUserByIsManager(5);
|
|
|
+ //厨卫仓管
|
|
|
+ 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());
|
|
|
+ this.uninoncw(collect4, 4);
|
|
|
+ List<String> collect5 = loginNames5.stream().filter(item -> !interfaceList5.contains(item)).collect(Collectors.toList());
|
|
|
+ this.uninoncw(collect5, 5);
|
|
|
+ List<String> collect7 = loginNames7.stream().filter(item -> !interfaceList7.contains(item)).collect(Collectors.toList());
|
|
|
+ this.uninoncw(collect7, 7);
|
|
|
+ List<String> collect9 = loginNames9.stream().filter(item -> !interfaceList9.contains(item)).collect(Collectors.toList());
|
|
|
+ this.uninoncw(collect9, 9);
|
|
|
+ return count;
|
|
|
+ }
|
|
|
+
|
|
|
+ void uninoncw( List<String> collect, int isManager){
|
|
|
if (collect.size() > 0) {
|
|
|
- for (String login:collect
|
|
|
+ for (String login:collect
|
|
|
) {
|
|
|
SysUser u = sysUserService.selectUserByLoginName(login);
|
|
|
if(("0").equals(u.getIsSync())){
|
|
@@ -994,8 +1033,6 @@ public class AnalysisDiyCustomerComponent {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- return count;
|
|
|
}
|
|
|
|
|
|
/***
|
|
@@ -1129,6 +1166,8 @@ public class AnalysisDiyCustomerComponent {
|
|
|
user.setUserName(name);
|
|
|
sysUserService.updateUserInfo(user);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}catch (Exception e){
|