|
|
@@ -75,8 +75,89 @@ public class AnalysisDiyCustomerComponent {
|
|
|
private Long[] roleStoreIds; //3.6门店经销商
|
|
|
private Long[] roleBusiness;//7.5厨卫业务人员角色
|
|
|
private Long[] roleXls;//13.1新零售经销商角色
|
|
|
-
|
|
|
+ private Long[] roleMsq;//经销商魔术漆
|
|
|
+ private Long[] roleWqBm;//经销商外墙业务经理
|
|
|
private Long[] roleSfa;//5.1家装顾问挂sfa角色
|
|
|
+ public SyncLog analyDiyCustomer1() {
|
|
|
+
|
|
|
+ if (roleMsq == null) {
|
|
|
+ Long roleId = Long.parseLong(configService.selectConfigByKey("libang.msq.roleid"));
|
|
|
+ roleMsq = new Long[]{roleId};
|
|
|
+ }
|
|
|
+ Map<String, Customers> chainsMap = customersMapper.selectCustomerMapByChainsCode();
|
|
|
+
|
|
|
+ List<SyncFailDetail> failDetails = new ArrayList<>();
|
|
|
+ SyncLog syncLog = new SyncLog();
|
|
|
+ syncLog.setStartTime(new Date());
|
|
|
+ String packageId = "diycustomer" + syncLog.getStartTime().getTime();
|
|
|
+ syncLog.setPackageId(packageId);
|
|
|
+ long total = 0;
|
|
|
+ long success = 0;
|
|
|
+ Set<String> loginNameSet = sysUserService.selectAllUserLoginName();
|
|
|
+ Set<String> diyNameSet = sysUserService.selectDiyUserLoginName();
|
|
|
+
|
|
|
+
|
|
|
+ String MsqUserJson = "";
|
|
|
+ try {
|
|
|
+ MsqUserJson = HttpUtils.sendSSLGet(customerAccessTokenUtil.getUrl(UrlType.MSQ, 1 + ""));
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("获取经销商魔术漆施工人员接口错误!");
|
|
|
+ customerAccessTokenUtil.reSetToken();
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ JSONObject msqjson = JSONObject.parseObject(MsqUserJson);
|
|
|
+ Integer msqcount = msqjson.getInteger("count");
|
|
|
+ JSONArray MSQ = new JSONArray();
|
|
|
+ if (msqcount > 100) {
|
|
|
+ int co = 0;
|
|
|
+ if (msqcount % 100 != 0) {
|
|
|
+ co = (msqcount / 100) + 2;
|
|
|
+ } else {
|
|
|
+ co = (msqcount / 100) + 1;
|
|
|
+ }
|
|
|
+ for (int i = 1; i < co; i++) {
|
|
|
+ try {
|
|
|
+ msqjson = JSONObject.parseObject(HttpUtils.sendSSLGet(customerAccessTokenUtil.getUrl(UrlType.MSQ, i + "")));
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("循环获取经销魔术漆施工人员列表接口错误!第" + i + "页");
|
|
|
+ customerAccessTokenUtil.reSetToken();
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ int code = msqjson.getInteger("code");
|
|
|
+ if (code == 0) {
|
|
|
+ MSQ.addAll(msqjson.getJSONArray("data"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ success += buildSysUser(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);
|
|
|
+ total += MSQ.size();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ try{
|
|
|
+ syncLog.setTotalCount(total);
|
|
|
+ syncLog.setSuccessCount(success);
|
|
|
+ syncLog.setFaileCount((long)failDetails.size());
|
|
|
+ syncLog.setEndTime(new Date());
|
|
|
+ syncLog.setSyncType("diycustomer");
|
|
|
+
|
|
|
+ if(failDetails.size()>0){
|
|
|
+ syncFailDetailMapper.batchInsertSyncFailDetail(failDetails);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("解析用户插入解析日志出错",e);
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new BusinessException("解析用户插入解析日志出错",e);
|
|
|
+ }finally {
|
|
|
+ syncLogService.insertSyncLog(syncLog);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
/**
|
|
|
* 获取并解析DIY经销商用户
|
|
|
* 因为经销商用户并不涉及用信息更新等方面 所以只插入不更新
|
|
|
@@ -133,6 +214,15 @@ public class AnalysisDiyCustomerComponent {
|
|
|
Long roleId = Long.parseLong(configService.selectConfigByKey("libang.storeCustomer.roleid"));
|
|
|
roleStoreIds = new Long[]{roleId};
|
|
|
}
|
|
|
+ if (roleMsq == null) {
|
|
|
+ Long roleId = Long.parseLong(configService.selectConfigByKey("libang.msq.roleid"));
|
|
|
+ roleMsq = new Long[]{roleId};
|
|
|
+ }
|
|
|
+ if (roleWqBm == null) {
|
|
|
+ Long roleId = Long.parseLong(configService.selectConfigByKey("libang.wqbm.roleid"));
|
|
|
+ roleWqBm = new Long[]{roleId};
|
|
|
+ }
|
|
|
+
|
|
|
Map<String,Customers> chainsMap = customersMapper.selectCustomerMapByChainsCode();
|
|
|
|
|
|
List<SyncFailDetail> failDetails = new ArrayList<>();
|
|
|
@@ -325,9 +415,6 @@ public class AnalysisDiyCustomerComponent {
|
|
|
success+=buildSysUser(MANAGER,loginNameSet,diyNameSet,1,failDetails,packageId,chainsMap);
|
|
|
total+=mjson.getJSONArray("userlist").size();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//财务3.2
|
|
|
String financeJson ="";
|
|
|
try{
|
|
|
@@ -772,6 +859,10 @@ public class AnalysisDiyCustomerComponent {
|
|
|
user.setRoleIds(roleGuideIds);
|
|
|
}else if(isManager == 2){
|
|
|
user.setRoleIds(FinanceRoleIds);
|
|
|
+ }else if(isManager == 4){
|
|
|
+ user.setRoleIds(roleMsq);
|
|
|
+ }else if(isManager == 5){
|
|
|
+ user.setRoleIds(roleWqBm);
|
|
|
}else if(isManager == 3){
|
|
|
user.setRoleIds(HouseRoleIds);
|
|
|
}else if(isManager == 7){
|
|
|
@@ -846,6 +937,10 @@ public class AnalysisDiyCustomerComponent {
|
|
|
sysUserService.insertUserRole(user.getUserId(), FinanceRoleIds[0]);
|
|
|
}else if(isManager == 3){
|
|
|
sysUserService.insertUserRole(user.getUserId(), HouseRoleIds[0]);
|
|
|
+ }else if(isManager == 4){
|
|
|
+ sysUserService.insertUserRole(user.getUserId(), roleMsq[0]);
|
|
|
+ }else if(isManager == 5){
|
|
|
+ sysUserService.insertUserRole(user.getUserId(), roleWqBm[0]);
|
|
|
}else if (isManager ==7){
|
|
|
sysUserService.insertUserRole(user.getUserId(), roleXls[0]);
|
|
|
}else if(isManager == 9){
|