yousongbo 1 mesiac pred
rodič
commit
5dac7933ce

+ 17 - 0
suishenbang-api/src/main/java/com/dgtly/api/controller/TestController.java

@@ -0,0 +1,17 @@
+package com.dgtly.api.controller;
+
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("test")
+public class TestController {
+
+
+    @GetMapping("1")
+    public void  test(){
+        System.out.println("test");
+    }
+}

+ 52 - 3
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/ShopUserTypeComponent.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.dgtly.common.utils.ShiroSaltUtil;
+import com.dgtly.common.utils.StringUtils;
 import com.dgtly.common.utils.http.HttpUtils;
 import com.dgtly.common.utils.security.EncryptPassWordClass;
 import com.dgtly.sync.domain.SyncFailDetail;
@@ -264,6 +265,8 @@ public class ShopUserTypeComponent {
             Set<String> loginNameSet = sysUserService.selectAllUserLoginName();
             loginNameSet = loginNameSet.stream().map(String::toUpperCase).collect(Collectors.toSet());
             try {
+                log.info("原始报文为:{}", jo);
+                //本次调用是否走了删除方法
                 String userName = jo.getString("staff_name");
                 String userPhone = jo.getString("staff_mobile");
                 //是否同步企业微信
@@ -308,14 +311,17 @@ public class ShopUserTypeComponent {
                                     }
                                     //修改用户信息
                                     sysUserMapper.updateUser(user);
-
                             }
                         }
                     }
                     continue;
                 }
-
-
+                //当登录的用户名为空时且未走原有删除逻辑开始调用新删除方法,结束当前循环
+                if (StringUtils.isEmpty(jo.getString("wecom_userid"))){
+                    log.info("开始调用新删除方法");
+                    deleteUserAndExt(dataUserId,shopCode,usertype,roleId);
+                    continue;
+                }
                 if (!loginNameSet.contains(loginName.toUpperCase().trim())) {
 
                     /** =============用户基本信息构建 start===============*/
@@ -423,6 +429,49 @@ public class ShopUserTypeComponent {
         return headers;
     }
 
+    /**
+     * @description: 删除用户和角色相关数据
+     * @param: []
+     * @return: void
+     * @author: njs
+     * @date: 2025/8/20 9:32
+     */
+    public void deleteUserAndExt(String dataUserId,String shopCode,String usertype,Long roleId)  {
+        //用户无效后接口获取不到企微id,需从关联表查询
+
+        if(StringUtils.isNotEmpty(dataUserId)) {
+            //用户无效后接口获取不到企微id,需从关联表查询
+            String loginName = userShopExtMapper.selectLoginNameByUserId(dataUserId, shopCode, usertype);
+            if (loginName != null && !loginName.isEmpty()) {
+                //查询用户信息
+                SysUser user = sysUserMapper.selectUserByLoginName(loginName);
+                int count = userShopExtMapper.delByDataUserId(dataUserId, shopCode);
+                log.info("删除门店用户扩展信息成功:" + count);
+                //去掉该用户和角色的关联关系
+                userRoleMapper.deleteUserRoleByUserIdAndExt(user.getUserId(), roleId, usertype);
+                //离职处理以及用户主信息是否有门店账号处理需要添加
+                //查询门店用户表是否存在用户和其他门店的关联关系,如果存在就不离职,不存在查询是否有经销商的关联关系,如果存在就不离职,不存在就离职
+                SysUserShopExt shop = new SysUserShopExt();
+                shop.setUserId(user.getUserId().toString());
+                shop.setDelFlag("0");
+                List<SysUserShopExt> shopExtList = userShopExtMapper.selectSysUserShopExtList(shop);
+                if (shopExtList == null || shopExtList.size() == 0) {
+                    //在查用户经销商扩展信息
+                    SysUserExt userCustomerExt = sysUserExtMapper.selectSysUserExtById(user.getUserId());
+                    user.setIsShopAccount("0");
+                    if (userCustomerExt == null) {
+                        //离职处理2
+                        user.setQuit("2");
+                    }
+                    //修改用户信息
+                    sysUserMapper.updateUser(user);
+                }
+            }
+        }
+    }
+
+
+
     /**
      * @description: 新增用户和角色
      * @param: [user]

+ 1 - 0
suishenbang-system/src/main/java/com/dgtly/system/mapper/SysUserShopExtMapper.java

@@ -74,6 +74,7 @@ public interface SysUserShopExtMapper
 
     void deletePhysicsUserShopExt(@Param("userId") String userId,@Param("loginName") String loginName, @Param("shopCode") String shopCode,@Param("isShopType") String isShopType);
 
+    int delByDataUserId(@Param("dataUserId") String dataUserId, @Param("shopCode") String shopCode);
 
     String  selectLoginNameByUserId(@Param("dataUserId") String dataUserId, @Param("shopCode") String shopCode,@Param("shopType") String shopType);
 }

+ 5 - 0
suishenbang-system/src/main/resources/mapper/system/SysUserShopExtMapper.xml

@@ -115,6 +115,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from sys_user_shop_ext where user_id =#{userId} and login_name = #{loginName} and shop_code = #{shopCode} and  is_shop_type = #{isShopType}
     </delete>
 
+    <update id="delByDataUserId">
+        update sys_user_shop_ext set del_flag = '2', del_time = now()
+           where constraint_user_id = #{dataUserId} and shop_code = #{shopCode} and del_flag = '0'
+    </update>
+
     <select id="selectLoginNameByUserId" resultType="java.lang.String">
         select login_name from sys_user_shop_ext
           where constraint_user_id = #{dataUserId} and shop_code = #{shopCode} and  is_shop_type = #{isShopType} limit 1