Quellcode durchsuchen

企业微信BUG修改0629_1152

whc vor 4 Jahren
Ursprung
Commit
241552fb0e

+ 1 - 1
UI/src/pages/externalWechat/externalCleanMobile.js

@@ -60,7 +60,7 @@ class tag_setting extends React.Component {
     console.log(fileName);
     if (fileName != null && fileName != "") {
       // window.location.href = staticCpApi + "/api/excel/downloadTemplate?fileName=" + fileName;
-      window.location.href = WXAPIV5 + "/api/excel/downloadTemplate?fileName=" + fileName+"&Sso-token="+token;
+      window.location.href = WXAPIV5 + "/api/excel/downloadTemplate?fileName=" + fileName+"&Sso-Token="+token;
     }
   }
   getExcelTemp() {

+ 5 - 1
UI/src/pages/firmWeChat/addPeoplePlan.js

@@ -1,7 +1,7 @@
 import React from 'react';
 import { BirdGrid } from 'components/Grid';
 import { BirdForm } from 'components/Form';
-import { config, request } from 'utils'
+import { config, request, util } from 'utils'
 const { WXAPIV5 } = config;
 import { connect } from "dva";
 import { Modal, Row, Col, Button, Icon, Upload, Model, message, Input } from 'antd';
@@ -179,6 +179,7 @@ class addPeoplePlan extends React.Component {
 
     render() {
         var { corpid } = this.props;
+        let token = util.auth.getToken();
         let self = this;
         // 任务列表
         let gridOption = {
@@ -221,6 +222,9 @@ class addPeoplePlan extends React.Component {
             fileList: self.state.fileList,
             action: WXAPIV5 + "/plan/" + corpid + "/upload",
             onChange: (e) => self.fileChange(e),
+            headers: {
+                "Sso-Token": token
+            }
         }
         // 添加任务表单
         let addFields = [

+ 6 - 0
mpwechatApp/mpwechatApp.iml

@@ -244,5 +244,11 @@
     <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:5.1.47" level="project" />
     <orderEntry type="library" name="Maven: com.mchange:c3p0:0.9.5.5" level="project" />
     <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.19" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-amqp:2.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.0.10.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.amqp:spring-rabbit:2.0.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.amqp:spring-amqp:2.0.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.2.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: com.rabbitmq:amqp-client:3.6.5" level="project" />
   </component>
 </module>

+ 3 - 1
qiyewechatApp/src/main/java/com/liangjiang11/wx/cp/config/QuartzConfig.java

@@ -3,6 +3,7 @@ package com.liangjiang11.wx.cp.config;
 import com.liangjiang11.wx.cp.quartz.QuartzUtils;
 import com.liangjiang11.wx.cp.quartz.UserJob;
 import com.liangjiang11.wx.cp.service.ExternalUserService;
+import com.liangjiang11.wx.cp.utils.DateUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.*;
 import org.quartz.impl.StdSchedulerFactory;
@@ -74,8 +75,9 @@ public class QuartzConfig {
         userJob.executeInternal(null);
     }
 
-    @Scheduled(cron = "0 0 2 * * ?")
+//    @Scheduled(cron = "0 0/2 * * * ?")
     private void syncExternalUser() {
+        log.info(DateUtil.getNowDateTimeStr()+"-----"+corpid);
         externalUserService.syncExternalUser(corpid, restTemplate);
     }
 }

+ 2 - 2
qiyewechatApp/src/main/java/com/liangjiang11/wx/cp/controller/QiyeUsersController.java

@@ -48,9 +48,9 @@ public class QiyeUsersController {
         Map<String, Map<Integer, WxCpService>> cpService = WxCpConfiguration.getCpService();
         for(String corpid: cpService.keySet()) {
             Map<Integer, WxCpService> agentIdMap = cpService.get(corpid);
-            WxCpService wxCpService = agentIdMap.get(1000001);
+            WxCpService wxCpService = agentIdMap.get(1000003);
             if(wxCpService==null){
-                logger.error(String.format("企业微信%s:未配置通讯录应用或通讯录应用agentId配置错误!", corpid));
+                logger.error(String.format("企业微信%s:未配置客户联系应用或客户联系应用agentId配置错误!", corpid));
             }else {
                 logger.info(String.format("企业微信%s:同步客服开始", corpid));
                 try {

+ 1 - 1
qiyewechatApp/src/main/java/com/liangjiang11/wx/cp/quartz/UserJob.java

@@ -19,7 +19,7 @@ public class UserJob extends QuartzJobBean {
     private static Logger logger= LoggerFactory.getLogger(UserJob.class);
 
     // 通讯录规定配置的agentId
-    private static Integer agentId = 1000001;
+    private static Integer agentId = 1000003;
 
     @Autowired
     private QiyeUsersService qiyeUsersService;

+ 7 - 3
qiyewechatApp/src/main/java/com/liangjiang11/wx/cp/service/impl/ExternalUserServiceImpl.java

@@ -12,6 +12,7 @@ import me.chanjar.weixin.cp.bean.WxCpUserExternalContactInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -33,6 +34,9 @@ public class ExternalUserServiceImpl implements ExternalUserService {
     @Autowired
     private ExternalUserMapper externalUserMapper;
 
+    @Value("${sync-user.domainname}")
+    private String syncUserDomainName;
+
     @Override
     public Integer updateExternalUser(ExternalUser externalUser) {
         return externalUserMapper.insert(externalUser);
@@ -174,10 +178,10 @@ public class ExternalUserServiceImpl implements ExternalUserService {
     }
 
     public ResultInfo getOtherExternalUser(RestTemplate restTemplate, Integer pageIndex){
-//        String token = getToken(restTemplate);
+        String token = getToken(restTemplate);
         MultiValueMap<String, String> headersAuth = new LinkedMultiValueMap<String, String>();
 //        headersAuth.add("Content-Type", "application/x-www-form-urlencoded");
-//        headersAuth.add("Sso-Token", token);
+        headersAuth.add("Sso-Token", token);
 
         // 封装查询入参
         FiltersData filtersData = null;
@@ -230,7 +234,7 @@ public class ExternalUserServiceImpl implements ExternalUserService {
 
         HttpEntity<FiltersData> requestEntity = new HttpEntity<>(filtersData, headersAuth);
         ResponseEntity<String> responseAuth =
-            restTemplate.postForEntity("http://119.130.113.245:8005/memberList/index", requestEntity, String.class);
+            restTemplate.postForEntity(syncUserDomainName, requestEntity, String.class);
         String body = responseAuth.getBody();
         ResultInfo resultInfo = JSON.parseObject(body, ResultInfo.class);
         return resultInfo;

+ 23 - 6
qiyewechatApp/src/main/java/com/liangjiang11/wx/cp/service/impl/QiyeUsersServiceImpl.java

@@ -7,6 +7,7 @@ import com.liangjiang11.wx.cp.service.QiyeUsersService;
 import com.liangjiang11.wx.cp.utils.FiltersData;
 import me.chanjar.weixin.common.error.WxErrorException;
 import me.chanjar.weixin.cp.api.WxCpDepartmentService;
+import me.chanjar.weixin.cp.api.WxCpExternalContactService;
 import me.chanjar.weixin.cp.api.WxCpService;
 import me.chanjar.weixin.cp.api.WxCpUserService;
 import me.chanjar.weixin.cp.bean.WxCpDepart;
@@ -97,22 +98,38 @@ public class QiyeUsersServiceImpl implements QiyeUsersService {
 
     @Override
     public void syncUser(String corpid, WxCpService wxCpService) throws WxErrorException {
+        WxCpExternalContactService externalContactService = wxCpService.getExternalContactService();
         WxCpUserService userService = wxCpService.getUserService();
-        List<WxCpUser> wxCpUserList = userService.listByDepartment(1L, true, null);
 
-        for (WxCpUser wxCpUser : wxCpUserList) {
-            String userid = wxCpUser.getUserId();
+
+        List<String> useridList = externalContactService.listFollowUser();
+        for (String userid : useridList) {
             QueryWrapper<Users> wrapper = new QueryWrapper<>();
             wrapper.eq("corpid", corpid);
             wrapper.eq("userid", userid);
             Integer count = usersMapper.selectCount(wrapper);
 
-            Users users = new Users(wxCpUser, corpid);
             if(count==0){
+                WxCpUser wxCpUser = userService.getById(userid);
+                Users users = new Users(wxCpUser, corpid);
                 usersMapper.insert(users);
-            }else{
-                usersMapper.update(users, wrapper);
             }
         }
+
+//        List<WxCpUser> wxCpUserList = userService.listByDepartment(1L, true, null);
+//        for (WxCpUser wxCpUser : wxCpUserList) {
+//            String userid = wxCpUser.getUserId();
+//            QueryWrapper<Users> wrapper = new QueryWrapper<>();
+//            wrapper.eq("corpid", corpid);
+//            wrapper.eq("userid", userid);
+//            Integer count = usersMapper.selectCount(wrapper);
+//
+//            Users users = new Users(wxCpUser, corpid);
+//            if(count==0){
+//                usersMapper.insert(users);
+//            }else{
+//                usersMapper.update(users, wrapper);
+//            }
+//        }
     }
 }

+ 5 - 0
qiyewechatApp/src/main/resources/application-dev.yml

@@ -173,3 +173,8 @@ mybatis-plus:
 #spring:
 #    aop:
 #        proxy-target-class: true
+
+sync-user:
+    domainname: http://mem.360lj.com:13000/memb/memberList/index
+#    test: http://192.168.50.32:8005/memberList/index
+#    prod: http://mem.360lj.com:13000/memb/memberList/index