|
|
@@ -124,6 +124,9 @@ public class CorpServiceImpl implements CorpService {
|
|
|
@Autowired
|
|
|
private CorpKfAccountSessionChatMapper corpKfAccountSessionChatMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CorpKfUserMapper corpKfUserMapper;
|
|
|
+
|
|
|
@PostConstruct
|
|
|
private void init() {
|
|
|
corpMessageRouter = new CorpMessageRouter(this)
|
|
|
@@ -764,6 +767,8 @@ public class CorpServiceImpl implements CorpService {
|
|
|
wxCpKfMsgSendRequest.setOpenKfid(event.getOpenKfid());
|
|
|
try {
|
|
|
wxCorpOps.sendMsgOnEvent(corpId, wxCpKfMsgSendRequest);
|
|
|
+ //同步用户信息
|
|
|
+ syncCorpkfUserInfo(event.getExternalUserId());
|
|
|
} catch (Exception e) {
|
|
|
log.error("发送微信客服欢迎语失败:{}", StringUtil.getErrorText(e));
|
|
|
}
|
|
|
@@ -773,6 +778,29 @@ public class CorpServiceImpl implements CorpService {
|
|
|
assignKfSession(corpId, openKfId, event.getExternalUserId(), corpKfAccountSessionConfig, sendDate, msgid);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 同步用户信息
|
|
|
+ */
|
|
|
+ private void syncCorpkfUserInfo(String externalUserid) throws Exception {
|
|
|
+ CorpKfUserInfo corpKfUserInfo = wxCorpOps.getCorpKfUserInfo(externalUserid);
|
|
|
+ CorpKfUser corpKfUser = corpKfUserMapper.selectOne(Wrappers.lambdaQuery(CorpKfUser.class)
|
|
|
+ .eq(CorpKfUser::getExternalUserid, externalUserid)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (corpKfUser == null) {
|
|
|
+ try {
|
|
|
+ corpKfUser = new CorpKfUser();
|
|
|
+ BeanUtil.copyProperties(corpKfUserInfo, corpKfUser);
|
|
|
+ corpKfUserMapper.insert(corpKfUser);
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ corpKfUser.setAvatar(corpKfUserInfo.getAvatar());
|
|
|
+ corpKfUser.setNickname(corpKfUserInfo.getNickname());
|
|
|
+ corpKfUser.setGender(corpKfUserInfo.getGender());
|
|
|
+ corpKfUserMapper.updateById(corpKfUser);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 变更用户会话状态
|
|
|
* serviceState 0未处理 1由智能助手接待 2待接入池排队中 3由人工接待 4 已结束/未开始
|