Commit 3637ba2c by 徐高华

Merge branch 'bugfix/2023-03-17' into 'master'

员工可能修改userId,需要拿到openUserId再去查询一次

See merge request !1038
parents c3e4bf73 c08dc7c4
package com.gic.haoban.manage.service.service.out.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.clerk.api.dto.ClerkDTO;
......@@ -28,6 +29,7 @@ import com.gic.thirdparty.cloudfile.enums.CloudFileBusinessOptEnum;
import com.gic.thirdparty.cloudfile.enums.CloudFileTypeEnum;
import com.gic.thirdparty.cloudfile.pojo.CloudFileInfo;
import com.gic.wechat.api.dto.qywx.ItemDTO;
import com.gic.wechat.api.dto.qywx.QywxNewUseridDTO;
import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxDepartmentApiService;
......@@ -224,6 +226,16 @@ public class MessageApiServiceImpl implements MessageApiService {
//修改
TabHaobanStaff oldStaff = this.staffService.selectByUserIdAndEnterpriseId(userid, wxEnterpriseId);
if (oldStaff == null) {
//员工可能修改userId,需要拿到openUserId再去查询一次
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (qwDTO != null && (qwDTO.getWxSecurityType() == 1 || qwDTO.getWxSecurityType() == 3)){
String openUserid = getOpenUserid(userid, qwDTO);
if (StringUtils.isNotBlank(openUserid)){
oldStaff = this.staffService.selectByUserIdAndEnterpriseId(openUserid, wxEnterpriseId);
}
}
}
if (oldStaff == null){
log.error("成员同步更新失败,无历史员工数据:userid:{},wxEnterpriseId:{}", userid, wxEnterpriseId);
return;
}
......@@ -320,6 +332,14 @@ public class MessageApiServiceImpl implements MessageApiService {
}
log.error("成员同步结束");
}
private String getOpenUserid(String userId,WxEnterpriseQwDTO qwDTO) {
List<QywxNewUseridDTO> list = qywxUserApiService.useridToOpenuserid(qwDTO.getThirdCorpid(), config.getWxSuiteid(), Collections.singletonList(userId));
log.info("明文userId转密文={},{}", userId, JSON.toJSONString(list));
if (CollectionUtils.isEmpty(list)) {
return "";
}
return list.get(0).getOpen_userid();
}
/**
* 处理部门
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment