xueyiming 8 mesi fa
parent
commit
7e6937a824

+ 5 - 0
we-com-server/src/main/java/com/tzld/piaoquan/wecom/job/WeComUserDataJob.java

@@ -47,6 +47,9 @@ public class WeComUserDataJob {
     @Autowired
     private StaffWithUserMapper staffWithUserMapper;
 
+    @Autowired
+    private WeComUserDataJob1 weComUserDataJob1;
+
     @XxlJob("insertStaffWithUserJob")
     public ReturnT<String> insertStaffWithUser(String param) {
         XxlJobParam xxlJobParam = new XxlJobParam();
@@ -202,6 +205,8 @@ public class WeComUserDataJob {
                     Long userId;
                     if (CollectionUtils.isEmpty(list)) {
                         //没有用户,走插入逻辑
+                        String externalUserId = weComUserDataJob1.getExternalUserId(user.getExternalUserId3rdParty());
+                        user.setExternalUserId(externalUserId);
                         userMapper.insert(user);
                         userId = user.getId();
                     } else {

+ 4 - 1
we-com-server/src/main/java/com/tzld/piaoquan/wecom/job/WeComUserDataJob1.java

@@ -145,6 +145,9 @@ public class WeComUserDataJob1 {
     public ReturnT<String> setExternalUserId(String param) {
         try {
             UserExample example = new UserExample();
+            if(StringUtils.isNotEmpty(param)){
+                example.createCriteria().andIdGreaterThanOrEqualTo(Long.parseLong(param));
+            }
             long count = userMapper.countByExample(example);
             int page = 1;
             int pageSize = 1000;
@@ -174,7 +177,7 @@ public class WeComUserDataJob1 {
         return ReturnT.SUCCESS;
     }
 
-    private String getExternalUserId(String externalUserId3rdParty) throws IOException {
+    public String getExternalUserId(String externalUserId3rdParty) throws IOException {
         String weComAccessToken = accessTokenService.getWeComAccessToken();
         String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/externalcontact/from_service_external_userid?access_token=%s", weComAccessToken);
         JSONObject param = new JSONObject();