瀏覽代碼

Merge branch '新角色排除逻辑调整0813' into uat

# Conflicts:
#	suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java
#	suishenbang-wxportal/suishenbang-wxportal-api/src/main/java/com/dgtly/wxportal/controller/WxPortalController.java
zxfqwert 2 月之前
父節點
當前提交
6bc5f002b5

+ 40 - 2
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java

@@ -16,6 +16,7 @@ import com.dgtly.sync.mapper.SyncFailDetailMapper;
 import com.dgtly.sync.utils.CustomerAccessTokenUtil;
 import com.dgtly.sync.utils.CustomerAccessTokenUtil.UrlType;
 import com.dgtly.system.domain.AssRelcustomerinfo;
+import com.dgtly.system.domain.SysDictData;
 import com.dgtly.system.domain.SysUser;
 import com.dgtly.system.domain.SysUserExt;
 import com.dgtly.system.mapper.SysUserExtMapper;
@@ -23,11 +24,13 @@ import com.dgtly.system.mapper.SysUserMapper;
 import com.dgtly.system.mapper.SysUserShopExtMapper;
 import com.dgtly.system.service.IAssRelcustomerinfoService;
 import com.dgtly.system.service.ISysConfigService;
+import com.dgtly.system.service.ISysDictDataService;
 import com.dgtly.system.service.impl.SysUserServiceImpl;
 import com.dgtly.wxportal.mapper.WxQyUserMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -42,7 +45,8 @@ public class AnalysisDiyCustomerComponent {
 
     @Autowired
     private CustomerAccessTokenUtil customerAccessTokenUtil;
-
+    @Autowired
+    private ISysDictDataService sysDictDataService;
     @Autowired
     private CustomersMapper customersMapper;
     @Autowired
@@ -65,6 +69,8 @@ public class AnalysisDiyCustomerComponent {
 
     @Autowired
     private SysUserShopExtMapper userShopExtMapper;
+    @Autowired
+    JdbcTemplate jdbcTemplate;
     private Long deptId;
     //老板角色
     private Long[] roleIds;
@@ -148,6 +154,7 @@ public class AnalysisDiyCustomerComponent {
             if (code == 0) {
                 MSQ.addAll(msqjson.getJSONArray("data"));
                 success += buildSysUser(MSQ, loginNameSet, diyNameSet, 4, failDetails, packageId, chainsMap);
+
                 total += MSQ.size();
             }
         }
@@ -931,8 +938,23 @@ public class AnalysisDiyCustomerComponent {
                 *//*人员信息是否已更新入企业微信。true:更新成功false:更新失败*//*
                 if(!isSync){
                     continue;
+                }*/
+                //如果人员来自字典配置并且信息是删除状态的话   需要删除  cust_exclusion_info表中 按照类型和登录名称进行删除
+                Set<String> res = new HashSet<>();
+                List<SysDictData> dictDatas = sysDictDataService.selectSimpleDictDataByType("customer_user_is_customer_manager");
+                for(SysDictData d: dictDatas){
+                    res.add(d.getDictValue());
                 }
-                *//*人员信息是否被标记删除true:删除,false:未删除*/
+                if(res.contains(String.valueOf(isManager))){
+                    if(isDelete){
+                        //需要去删除排除表中的数据  按照用户类型和登录名称
+                        jdbcTemplate.update("delete from cust_exclusion_info where loginName=? and type=?  ",userid,isManager);
+                    }
+                }
+
+
+
+                /*人员信息是否被标记删除true:删除,false:未删除*/
                 if(isDelete){
                     continue;
                 }
@@ -1137,6 +1159,22 @@ public class AnalysisDiyCustomerComponent {
                         }
                     }
                 }
+
+                if(res.contains(String.valueOf(isManager))){
+                    //查找用户userid
+                    List<Map<String,Object>> userInfo=jdbcTemplate.queryForList("select user_id from  sys_user where login_name=? and del_flag='0' and quit is null",userid);
+                    //在这里进行插入排除用户的操作
+                    if(userInfo.size()!=0){
+                        List<Map<String,Object>> insertOrno=jdbcTemplate.queryForList("select userId from  cust_exclusion_info where userId=? and type=? and customerCode =?",userInfo.get(0).get("user_id"),isManager,customerCode);
+                        if(insertOrno.size()==0){
+                            jdbcTemplate.update("insert into  cust_exclusion_info (loginName,customerCode,type,userId) values (?,?,?,?)",userid,customerCode,isManager,userInfo.get(0).get("user_id"));
+                        }
+                    }
+                }
+
+
+
+
             } catch (Exception e) {
                 log.error(e.getMessage());
                 e.printStackTrace();

+ 17 - 2
suishenbang-wxportal/suishenbang-wxportal-api/src/main/java/com/dgtly/wxportal/controller/EsignController.java

@@ -21,6 +21,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.tomcat.util.digester.ArrayStack;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -69,6 +70,8 @@ public class EsignController extends ApiBaseController {
     private ICustomersCodeService customersService;
     @Autowired
     private ISysUserCustomerAuthorizationService authorizationService;
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
     /**
      * @description: 经销商订单签收方法
      * 没有注册就注册,注册完就认证,然后再点击签署按钮,获取经销商用户id,对应主体id
@@ -743,6 +746,12 @@ public class EsignController extends ApiBaseController {
 //       /*根据org_code查询多个经销商列表*/
         List<SysUserExt> sysUserExtList = new ArrayStack<>();
         List<AssRelcustomerinfo>  assRelcustomerinfoList= assRelcustomerinfoService.selectRelcustomerinfoListByorgCode(sysUser.getSysUserExt().getOrgCode(),sysUser.getUserId().toString());
+        List<String> res = new ArrayList<>();
+        List<Map<String,Object>> custInfo = jdbcTemplate.queryForList("select  customerCode from cust_exclusion_info  where  userId=?",userId);
+        res=custInfo.stream()
+                .map(row -> (String) row.get("customerCode"))
+                .collect(Collectors.toList());
+
         if (assRelcustomerinfoList.size()>0){
             for (AssRelcustomerinfo ar:assRelcustomerinfoList) {
                 SysUserExt sysUserExt = new SysUserExt();
@@ -757,7 +766,10 @@ public class EsignController extends ApiBaseController {
                 sysUserExt.setIsCustomerManager(sysUser.getSysUserExt().getIsCustomerManager());
                 sysUserExt.setPostCode(sysUser.getSysUserExt().getPostCode());
                 sysUserExt.setPostName(sysUser.getSysUserExt().getPostName());
-                sysUserExtList.add(sysUserExt);
+                if(!res.contains(ar.getMainkunnr())){
+                    sysUserExtList.add(sysUserExt);
+                }
+
             }
 
             for (AssRelcustomerinfo ar:assRelcustomerinfoList) {
@@ -773,7 +785,10 @@ public class EsignController extends ApiBaseController {
                 sysUserExt.setIsCustomerManager(sysUser.getSysUserExt().getIsCustomerManager());
                 sysUserExt.setPostCode(sysUser.getSysUserExt().getPostCode());
                 sysUserExt.setPostName(sysUser.getSysUserExt().getPostName());
-                sysUserExtList.add(sysUserExt);
+                if(!res.contains(ar.getKunnr())){
+                    sysUserExtList.add(sysUserExt);
+                }
+
             }
             /*SysUserExt sysUserExt = new SysUserExt();
             sysUserExt.setUserId(sysUser.getSysUserExt().getUserId());

+ 19 - 4
suishenbang-wxportal/suishenbang-wxportal-api/src/main/java/com/dgtly/wxportal/controller/WxPortalController.java

@@ -63,10 +63,11 @@ public class WxPortalController extends ApiBaseController {
     private ISysUserCustomerAuthorizationService authorizationService;
     @Autowired
     private ISysUserExtService sysUserExtService;
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
+
 
 
-    @Autowired
-    JdbcTemplate jdbcTemplate;
     @ApiOperation(value = "微信门户首页",notes = "参数:{userId:1}")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "params" , paramType = "body")
@@ -197,6 +198,14 @@ public class WxPortalController extends ApiBaseController {
         /*根据org_code查询多个经销商列表*/
         List<SysUserExt> sysUserExtList = new ArrayList<>();
         List<AssRelcustomerinfo>  assRelcustomerinfoList= assRelcustomerinfoService.selectRelcustomerinfoListByorgCode(customerCode,sysUser.getUserId().toString());
+
+        //查询需要过滤的客户信息
+        List<String> res = new ArrayList<>();
+        List<Map<String,Object>> custInfo = jdbcTemplate.queryForList("select  customerCode from cust_exclusion_info  where  userId=?",userId);
+        res=custInfo.stream()
+                .map(row -> (String) row.get("customerCode"))
+                .collect(Collectors.toList());
+
         if (assRelcustomerinfoList.size()>0){
             for (AssRelcustomerinfo ar:assRelcustomerinfoList) {
                 SysUserExt sysUserExt = new SysUserExt();
@@ -211,7 +220,11 @@ public class WxPortalController extends ApiBaseController {
                 sysUserExt.setIsCustomerManager(sysUser.getSysUserExt().getIsCustomerManager());
                 sysUserExt.setPostCode(sysUser.getSysUserExt().getPostCode());
                 sysUserExt.setPostName(sysUser.getSysUserExt().getPostName());
-                sysUserExtList.add(sysUserExt);
+                if(!res.contains(ar.getMainkunnr())){
+                    sysUserExtList.add(sysUserExt);
+                }
+
+
             }
 
             for (AssRelcustomerinfo ar:assRelcustomerinfoList) {
@@ -227,7 +240,9 @@ public class WxPortalController extends ApiBaseController {
                 sysUserExt.setIsCustomerManager(sysUser.getSysUserExt().getIsCustomerManager());
                 sysUserExt.setPostCode(sysUser.getSysUserExt().getPostCode());
                 sysUserExt.setPostName(sysUser.getSysUserExt().getPostName());
-                sysUserExtList.add(sysUserExt);
+                if(!res.contains(ar.getKunnr())){
+                    sysUserExtList.add(sysUserExt);
+                }
             }
 
             /*