Kaynağa Gözat

修改企业微信通讯录同步

yurk 2 yıl önce
ebeveyn
işleme
cf4950174a

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

@@ -356,23 +356,24 @@ public class DingDingServiceImpl implements DingDingService {
     public String syncCorpMembs(String corpid) throws ApiException {
         CompanyDingding dingding = companyDingdingMapper.selectById(corpid);
         String accessToken = null;
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
+        Integer companyId = dingding.getCompanyId();
+        Company company = companyMapper.selectById(companyId);
+        String token=company.getCompanyName();
         //判断时间
         long now = System.currentTimeMillis();
         if (syncLog.get(token) == null) {
             syncLog.put(token, now);
-            syncLog.put(user.getCompanyId()+"_status", 1L);
+            syncLog.put(company.getId()+"_status", 1L);
         } else {
             if (now - syncLog.get(token) < 30*1000) {
                 //msg.setError("调用过于频繁,请稍后再试");
                 return MessageUtils.message("Company.callError");
             } else {
                 //检查是否当前公司有同步的正在进行
-                if (syncLog.get(user.getCompanyId()+"_status") == null) {
+                if (syncLog.get(company.getId()+"_status") == null) {
                     //没有进行中的任务,更新最近同步的时间
                     syncLog.put(token, now);
-                    syncLog.put(user.getCompanyId()+"_status", 1L);
+                    syncLog.put(company.getId()+"_status", 1L);
                 } else {
                     if (now - syncLog.get(token) > 0.5*3600*1000) {
                         //更新最近同步的时间
@@ -421,7 +422,7 @@ public class DingDingServiceImpl implements DingDingService {
             System.out.println("syncCorpMembs 开始获取部门, accessToken="+accessToken);
             //获取授权的部门
             getAuthedDeptsAndUsers(dingding, accessToken);
-            syncLog.remove(user.getCompanyId()+"_status");
+            syncLog.remove(company.getId()+"_status");
             return "调用成功";
         }
     }