瀏覽代碼

修复钉钉回调空指针bug . 增加针对basecostId数组越界的打印日志

seyason 2 年之前
父節點
當前提交
455c1715bf

+ 9 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DingDingController.java

@@ -262,12 +262,15 @@ public class DingDingController {
                                         //员工离职
                                         String corpId = bizItem.getString("corp_id");
                                         String unionId = actionBizData.getString("unionid");
-                                        Integer companyId = companyDingdingMapper.selectById(corpId).getCompanyId();
-                                        User user = userMapper.selectOne(new QueryWrapper<User>().eq("company_id", companyId).eq("dingding_unionid", unionId));
-                                        if (user != null && user.getIsActive() == 1) {
-                                            user.setIsActive(0);
-                                            user.setInactiveDate(LocalDate.now());
-                                            userMapper.updateById(user);
+                                        CompanyDingding companyDingding = companyDingdingMapper.selectById(corpId);
+                                        if (companyDingding != null) {
+                                            Integer companyId = companyDingding.getCompanyId();
+                                            User user = userMapper.selectOne(new QueryWrapper<User>().eq("company_id", companyId).eq("dingding_unionid", unionId));
+                                            if (user != null && user.getIsActive() == 1) {
+                                                user.setIsActive(0);
+                                                user.setInactiveDate(LocalDate.now());
+                                                userMapper.updateById(user);
+                                            }
                                         }
                                     }
                                 }

+ 10 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -265,6 +265,16 @@ public class ReportController {
             ProjectBasecostSetting alarmSetting = projectBasecostSettingMapper.selectOne(new QueryWrapper<ProjectBasecostSetting>()
                     .eq("company_id", company.getId()).eq("alarm_type", 1).last("limit 1"));
             if (alarmSetting != null) {
+                if (basecostId.length < projectId.length) {
+                    System.err.println("预算成本数组与项目id数组长度不一致:");
+                    for (Integer pid : projectId) {
+                        System.out.println("项目id="+pid);
+                    }
+                    System.out.println("========================");
+                    for (Integer b : basecostId) {
+                        System.out.println("预算项id="+b);
+                    }
+                }
                 //有预警类型的预算成本,默认给选上
                 for (int i=0;i<projectId.length; i++) {
                     if (basecostId[i] == 0) {