Browse Source

修复老钉钉用户同步时模式切换错误的问题;优化moveReport性能。

seyason 1 year ago
parent
commit
0f43ac2a97

+ 7 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -497,10 +497,10 @@ public class DingDingServiceImpl implements DingDingService {
         dingding.setCorpName(corpName);
         dingding.setAgentId(agentId);
         dingding.setAuthUserId(authUserId);
-        dingding.setSyncContact(1);
-        dingding.setContactNeedTranslate(1);//上架到钉钉应用市场,通讯录为加密模式,需要转译
-
         if (oldD == null) {
+            //新开通的情况,给字段默认值
+            dingding.setSyncContact(1);
+            dingding.setContactNeedTranslate(1);//上架到钉钉应用市场,通讯录为加密模式,需要转译
             //第一次,查询对方企业的accessToken
             SysConfig config = sysConfigMapper.selectOne(new QueryWrapper<SysConfig>().eq("param_key", "dingding_suite_ticket"));
             String suiteTicket = config.getParamValue();
@@ -1708,9 +1708,12 @@ public class DingDingServiceImpl implements DingDingService {
         DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
         OapiV2UserGetRequest req = new OapiV2UserGetRequest();
         req.setUserid(dingdingUserid);
+        if ("0515450852840252".equals(dingdingUserid)) {
+            System.out.println("这是张杰====================");
+        }
         req.setLanguage("zh_CN");
         OapiV2UserGetResponse rsp = client.execute(req, access_token);
-        System.out.println(rsp.getBody());
+        System.out.println("用户详情:"+rsp.getBody());
         JSONObject resp = JSONObject.parseObject(rsp.getBody());
         if (resp.getInteger("errcode") == 0) {
             JSONObject userJson = resp.getJSONObject("result");

+ 20 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -7140,29 +7140,41 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         //转移日报
         List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().eq("creator_id", sourceUser.getId()));
         if (reportList.size() != 0){
+            List<Report> upList = new ArrayList<>();
             for (Report report : reportList) {
-                report.setCreatorId(targetUser.getId());
-                report.setDeptId(targetUser.getDepartmentId());
+                Report upItem = new Report();
+                upItem.setId(report.getId());
+                upItem.setCreatorId(targetUser.getId());
+                upItem.setDeptId(targetUser.getDepartmentId());
+                upList.add(upItem);
             }
-            reportService.updateBatchById(reportList);
+            reportService.updateBatchById(upList);
         }
         //转移日报的log
         List<ReportLog> reportCreatorLogList = reportLogMapper.selectList(new QueryWrapper<ReportLog>().eq("creator_id", sourceUser.getId()));
         if (reportCreatorLogList.size() != 0){
+            List<ReportLog> upList = new ArrayList<>();
             for (ReportLog log : reportCreatorLogList) {
-                log.setCreatorId(targetUser.getId());
+                ReportLog upItem = new ReportLog();
+                upItem.setId(log.getId());
+                upItem.setCreatorId(targetUser.getId());
+                upList.add(upItem);
             }
-            reportLogService.updateBatchById(reportCreatorLogList);
+            reportLogService.updateBatchById(upList);
         }
 
         List<ReportLog> reportOperatorLogList = reportLogMapper.selectList(new QueryWrapper<ReportLog>().eq("operator_id", sourceUser.getId()));
         if (reportCreatorLogList.size() != 0){
+            List<ReportLog> upList = new ArrayList<>();
             for (ReportLog log : reportOperatorLogList) {
-                log.setOperatorId(targetUser.getId());
+                ReportLog upItem = new ReportLog();
+                upItem.setId(log.getId());
+                upItem.setOperatorId(targetUser.getId());
                 String msg = log.getMsg().replace(sourceUser.getName(), targetUser.getName());
-                log.setMsg(msg);
+                upItem.setMsg(msg);
+                upList.add(upItem);
             }
-            reportLogService.updateBatchById(reportOperatorLogList);
+            reportLogService.updateBatchById(upList);
         }
 
         List<ReportAlogMembdate> reportAlogMembdateList = reportAlogMembdateMapper.selectList(new QueryWrapper<ReportAlogMembdate>().eq("user_id", sourceUser.getId()));