Procházet zdrojové kódy

监听企业微信人员离职事件

seyason před 2 roky
rodič
revize
83ba9da73a

+ 17 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -361,6 +361,23 @@ public class WeiXinCorpController {
                     param.setIndate(LocalDateTime.now());
                     sysConfigMapper.updateById(param);
                 }
+            } else if (jsonObject.has("ChangeType")) {
+                //{"xml":{"ChangeType":"delete_user","UserID":"ShanShuiGongZhangTianYiSe",
+                // "SuiteId":"ww4e237fd6abb635af","InfoType":"change_contact","AuthCorpId":"wwf11426cf618e1703",
+                // "TimeStamp":1655908762,"OpenUserID":"woy9TkCAAApdqSxsfJbmK4cBJhbzI5Ug"}}
+                String changeType = jsonObject.getString("ChangeType");
+                if ("delete_user".equals(changeType)) {
+                    //监听到员工离职
+                    String corpId = jsonObject.getString("AuthCorpId");
+                    String corpWxUserId = jsonObject.getString("UserID");
+                    Integer companyId = wxCorpInfoMapper.selectById(corpId).getCompanyId();
+                    User user = userMapper.selectOne(new QueryWrapper<User>().eq("corpwx_userid", corpWxUserId).eq("company_id", companyId));
+                    if (user.getIsActive() == 1) {
+                        user.setIsActive(0);
+                        user.setInactiveDate(LocalDate.now());
+                        userMapper.updateById(user);
+                    }
+                }
             }
         } catch (Exception e) {
             // TODO

+ 4 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/SysRoleServiceImpl.java

@@ -129,7 +129,10 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
         queryWrapper.orderByAsc("orderitem");
 
         List<SysModule> modules = sysModuleMapper.selectList(queryWrapper);
-
+        if (modules.size() == 0) {
+            System.err.println("请先初始化sys_module和sys_function表");
+            return null;
+        }
         QueryWrapper<SysFunction> functionQueryWrapper = new QueryWrapper<SysFunction>().eq("package_time", 1);
         if (company.getPackageProject() == 1) {
             functionQueryWrapper.or().eq("package_project", 1);