|
|
@@ -26,7 +26,6 @@ import com.dgtly.system.service.IAssRelcustomerinfoService;
|
|
|
import com.dgtly.system.service.ISysConfigService;
|
|
|
import com.dgtly.system.service.impl.SysUserServiceImpl;
|
|
|
import com.dgtly.wxportal.mapper.WxQyUserMapper;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -143,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();
|
|
|
}
|
|
|
}
|
|
|
@@ -187,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();
|
|
|
}
|
|
|
}
|
|
|
@@ -456,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();
|
|
|
}
|
|
|
|
|
|
@@ -477,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
|
|
|
@@ -513,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();
|
|
|
}
|
|
|
}
|
|
|
@@ -557,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();
|
|
|
}
|
|
|
}
|
|
|
@@ -584,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();
|
|
|
}
|
|
|
|
|
|
@@ -603,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();
|
|
|
}
|
|
|
|
|
|
@@ -669,6 +668,55 @@ public class AnalysisDiyCustomerComponent {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取经销商负责人
|
|
|
+ * @param depCode
|
|
|
+ * @param userNo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public String getManagerList(String depCode , String userNo){
|
|
|
+ try {
|
|
|
+ log.info("接收到参数depCode:{},userNO:{}",depCode,userNo);
|
|
|
+ String url = customerAccessTokenUtil.getUrl(UrlType.MANAGERLIST, null);
|
|
|
+ Map<String,Customers> chainsMap = customersMapper.selectCustomerMapByChainsCodeByCode(depCode);
|
|
|
+ List<SyncFailDetail> failDetails = new ArrayList<>();
|
|
|
+ //获取经销商负责人
|
|
|
+ //拼接请求参数
|
|
|
+ if (StringUtils.isNotEmpty(depCode)){
|
|
|
+ url = url+"&depCode="+depCode;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(userNo)){
|
|
|
+ url = url+"&userNo="+userNo;
|
|
|
+ }
|
|
|
+ log.info("获取经销商负责人请求地址{}",url);
|
|
|
+ JSONObject managerListJson = JSONObject.parseObject(HttpUtils.sendSSLGet(url));
|
|
|
+ log.info("获取经销商负责人请求结果为:{}",managerListJson);
|
|
|
+ int code = managerListJson.getInteger("code");
|
|
|
+ if (code == 0) {
|
|
|
+ JSONArray dataArray = managerListJson.getJSONArray("data");
|
|
|
+ if(dataArray.size() >0){
|
|
|
+ StringBuffer users = new StringBuffer();
|
|
|
+ for (int i = 0; i < dataArray.size(); i++){
|
|
|
+ JSONObject object = dataArray.getJSONObject(i);
|
|
|
+ String name = object.getString("name");
|
|
|
+ users.append(name).append(",");
|
|
|
+ }
|
|
|
+ String packageId = "diycustomer"+new Date().getTime();
|
|
|
+ buildSysUser(true ,dataArray, null, null, 1, failDetails, packageId, chainsMap);
|
|
|
+ return users.substring(0,users.length()-1)+"同步成功";
|
|
|
+ }else {
|
|
|
+ return "同步成功,数据为空";
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ return "获取数据失败";
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ customerAccessTokenUtil.reSetToken();
|
|
|
+ log.error("获取经销商负责人接口错误!",e);
|
|
|
+ return "获取数据失败";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/*
|
|
|
* @description: 厨卫人员拉取
|
|
|
@@ -788,11 +836,13 @@ 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());
|
|
|
log.info("开始解析用户列表{}",jsonArray);
|
|
|
+ if (oneUser){
|
|
|
+ Long roleId = Long.parseLong(configService.selectConfigByKey("libang.customer.roleid"));
|
|
|
+ roleIds = new Long[]{roleId};
|
|
|
+ }
|
|
|
int count = 0;
|
|
|
List<String> interfaceList = new ArrayList<>();
|
|
|
List<UserAssVO> assVOList =new ArrayList<>();
|
|
|
@@ -819,91 +869,95 @@ 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();
|
|
|
- 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{
|
|
|
+ //检测用户是否还有门店账号标识,有则把用户扩展信息离职掉,没有则主账号离职+扩展信息离职
|
|
|
+ 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{
|
|
|
- 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());
|
|
|
- }
|
|
|
+ //检测用户是否还有门店账号标识,有则把用户扩展信息离职掉,没有则主账号离职+扩展信息离职
|
|
|
+ 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{
|
|
|
+ u.setQuit("2");
|
|
|
+ sysUserService.updateUserInfo(u);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1019,7 +1073,7 @@ public class AnalysisDiyCustomerComponent {
|
|
|
SysUser userOld = sysUserService.selectUserByLoginName(userid);
|
|
|
SysUser user = sysUserService.selectUserByLoginName(userid);
|
|
|
//将用户扩展表的信息给加上
|
|
|
- if(StringUtils.isBlank(user.getSysUserExt().getSalesLevel())){
|
|
|
+ if(StringUtils.isBlank(user.getSysUserExt().getSalesLevel())){
|
|
|
log.info("进行用户扩展表信息补偿:--------userId:"+user.getSysUserExt().getUserId().toString());
|
|
|
SysUserExt userExt = new SysUserExt();
|
|
|
userExt.setUserId(user.getUserId());
|
|
|
@@ -1048,7 +1102,6 @@ public class AnalysisDiyCustomerComponent {
|
|
|
user.setSysUserExt(userExt);
|
|
|
userOld.setSysUserExt(userExt);
|
|
|
}
|
|
|
-
|
|
|
if (("0").equals(user.getIsSync())) {
|
|
|
//查询该用户是否存在该接口返回中
|
|
|
user.setPhonenumber(jo.getString("mobile"));
|