Sfoglia il codice sorgente

切换通过手机号获取UserID 为post方法;bug修复

zhouy 3 anni fa
parent
commit
7a62de46bb

+ 7 - 6
qywx-sdk/src/main/java/com/usoftchina/qywx/sdk/AddrBookSdk.java

@@ -341,11 +341,12 @@ public class AddrBookSdk extends BaseSdk {
      * @param mobile 手机号
      * */
     public GetUserInfoResp getUserInfoByMobile(String mobile) {
-        ResponseEntity<GetUserInfoResp> resp = restTemplate.postForEntity(baseUrl + "/cgi-bin/user/getuserid?access_token={access_token}",
-                new ModelMap("mobile", mobile),
-                GetUserInfoResp.class,
-                new ModelMap("access_token", getAccessToken(ADDRESS_BOOK_AGENT_CODE)));
-        assertOK(resp);
-        return resp.getBody();
+        ResponseEntity<GetUserInfoResp> resp =  tryAndIgnoreSystemError(() ->
+                restTemplate.postForEntity(baseUrl + "/cgi-bin/user/getuserid?access_token={access_token}",
+                        new ModelMap("mobile", mobile),
+                        GetUserInfoResp.class,
+                        new ModelMap("access_token", getAccessToken(ADDRESS_BOOK_AGENT_CODE)))
+        );
+        return null == resp ? null : resp.getBody();
     }
 }

+ 41 - 35
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/service/UasEmployeeService.java

@@ -441,47 +441,53 @@ public class UasEmployeeService extends AbstractService {
             return;
         }
         logger.info("query by mobile :"+employee.getEm_mobile());
-        GetUserInfoResp getUserInfoResp = addrBookSdk.getUserInfoByMobile(employee.getEm_mobile());
-        if(StringUtils.hasText(getUserInfoResp.getUserId())){
-            //--人员资料存在
-            if ("离职".equals(employee.getEm_class())) {
-                addrBookSdk.deleteUser(getUserInfoResp.getUserId());
-                logger.debug("delete qywx user " + employee.getEm_code() + ", because of 人员类型:离职" );
-                employee.setEm_qywx(null);
-                setQywx(employee);
-            } else {
-                //--更新人员信息
-                UpdateUserReq req = new UpdateUserReq();
-                if (StringUtils.hasText(employee.getEm_name())) {
-                    req.name(employee.getEm_name());
-                }
-                if(StringUtils.hasText(employee.getEm_mobile())) {
-                    req.mobile(employee.getEm_mobile());
-                }
-                if(StringUtils.hasText(employee.getEm_email())) {
-                    req.email(employee.getEm_email());
-                }
-                if(StringUtils.hasText(employee.getEm_tel())) {
-                    req.telephone(employee.getEm_tel());
-                }
-                if(StringUtils.hasText(employee.getEm_csshortname())){
-                    req.address(employee.getEm_csshortname());
-                }
-                if(StringUtils.hasText(employee.getEm_sex())){
-                    UpdateUserReq.Gender gender = "男".equals(employee.getEm_sex()) ? UpdateUserReq.Gender.MALE : UpdateUserReq.Gender.FEMALE;
-                    req.gender(gender);
-                }
-                if(StringUtils.hasText(employee.getEm_position())){
-                    req.position(employee.getEm_position());
+        if(StringUtils.hasText(employee.getEm_qywx())) {
+            GetUserInfoResp getUserInfoResp = addrBookSdk.getUserInfoByMobile(employee.getEm_mobile());
+            if(StringUtils.hasText(getUserInfoResp.getUserId())){
+                if ("离职".equals(employee.getEm_class())) {
+                    addrBookSdk.deleteUser(getUserInfoResp.getUserId());
+                    logger.debug("delete qywx user " + employee.getEm_code() + ", because of 人员类型:离职" );
+                    employee.setEm_qywx(null);
+                    setQywx(employee);
+                } else {
+                    //--更新人员信息
+                    UpdateUserReq req = new UpdateUserReq();
+                    if (StringUtils.hasText(employee.getEm_name())) {
+                        req.name(employee.getEm_name());
+                    }
+                    if(StringUtils.hasText(employee.getEm_mobile())) {
+                        req.mobile(employee.getEm_mobile());
+                    }
+                    if(StringUtils.hasText(employee.getEm_email())) {
+                        req.email(employee.getEm_email());
+                    }
+                    if(StringUtils.hasText(employee.getEm_tel())) {
+                        req.telephone(employee.getEm_tel());
+                    }
+                    if(StringUtils.hasText(employee.getEm_csshortname())){
+                        req.address(employee.getEm_csshortname());
+                    }
+                    if(StringUtils.hasText(employee.getEm_sex())){
+                        UpdateUserReq.Gender gender = "男".equals(employee.getEm_sex()) ? UpdateUserReq.Gender.MALE : UpdateUserReq.Gender.FEMALE;
+                        req.gender(gender);
+                    }
+                    if(StringUtils.hasText(employee.getEm_position())){
+                        req.position(employee.getEm_position());
+                    }
+                    addrBookSdk.updateUser(new UpdateUserReq().userId(employee.getEm_qywx()).enable(true));
+                    if(employee.getEm_qywx() !=getUserInfoResp.getUserId()){
+                        employee.setEm_qywx(getUserInfoResp.getUserId());
+                        setQywx(employee);
+                    }
                 }
-                addrBookSdk.updateUser(new UpdateUserReq().userId(employee.getEm_qywx()).enable(true));
             }
 
-        }else{
+        }else {
             //--创建人员
             List<HrOrg> orgList = getOrgListByEmployee(employee);
             createUser(employee, orgList);
+            employee.setEm_qywx(employee.getEm_code());
+            setQywx(employee);
         }
-
     }
 }