|
|
@@ -5,19 +5,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.config.corp.WeChatCorpFactory;
|
|
|
-import com.cyksj.mapper.AddressMapper;
|
|
|
-import com.cyksj.mapper.OrderDonMapper;
|
|
|
-import com.cyksj.mapper.SpotifyUserSelfServiceRecordMapper;
|
|
|
-import com.cyksj.mapper.UserIdentityMapper;
|
|
|
-import com.cyksj.mapper.UserMapper;
|
|
|
+import com.cyksj.mapper.*;
|
|
|
import com.cyksj.mapper.corp.CorpUserAuthMapper;
|
|
|
import com.cyksj.mapper.corp.CorpUserMapper;
|
|
|
import com.cyksj.mapper.market.task.UserBindDetailMapper;
|
|
|
import com.cyksj.model.entity.*;
|
|
|
+import com.cyksj.model.kf.CorpKfUserInfo;
|
|
|
import com.cyksj.model.request.corp.CorpCommonReq;
|
|
|
import com.cyksj.model.request.corp.CorpXmlMessage;
|
|
|
import com.cyksj.model.views.YHLXUserDetailView;
|
|
|
import com.cyksj.service.corp.CorpUserService;
|
|
|
+import com.cyksj.service.corp.WxCorpOps;
|
|
|
import com.cyksj.service.corp.msg.CorpEventActionService;
|
|
|
import com.cyksj.service.user.UserBindRelationService;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
@@ -65,6 +63,8 @@ public class CorpUserServiceImpl implements CorpUserService {
|
|
|
|
|
|
private final UserIdentityMapper userIdentityMapper;
|
|
|
|
|
|
+ private final WxCorpOps wxCorpOps;
|
|
|
+
|
|
|
@Override
|
|
|
public YHLXUserDetailView getUserDetailView(String externalUserid, String corpId) throws Exception {
|
|
|
CorpUser corpUser = getExternalUserId(corpId, externalUserid);
|
|
|
@@ -269,10 +269,29 @@ public class CorpUserServiceImpl implements CorpUserService {
|
|
|
CorpXmlMessage message = new CorpXmlMessage();
|
|
|
message.setToUserName(corpId);
|
|
|
message.setExternalUserId(externalUserid);
|
|
|
- corpEventActionService.addExternalContact(message, null);
|
|
|
- corpUserAuth = corpUserAuthMapper.selectOne(corpUserAuthWrapper);
|
|
|
- if (corpUserAuth != null) {
|
|
|
- corpUser = corpUserMapper.selectOne(Wrappers.lambdaQuery(CorpUser.class).eq(CorpUser::getId, corpUserAuth.getCorpUserId()).last("limit 1"));
|
|
|
+ try {
|
|
|
+ corpEventActionService.addExternalContact(message, null);
|
|
|
+ corpUserAuth = corpUserAuthMapper.selectOne(corpUserAuthWrapper);
|
|
|
+ if (corpUserAuth != null) {
|
|
|
+ corpUser = corpUserMapper.selectOne(Wrappers.lambdaQuery(CorpUser.class).eq(CorpUser::getId, corpUserAuth.getCorpUserId()).last("limit 1"));
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ if (corpUser == null) {
|
|
|
+ corpUser = new CorpUser();
|
|
|
+ CorpKfUserInfo corpKfUserInfo = wxCorpOps.getCorpKfUserInfo(externalUserid);
|
|
|
+ corpUser.setUnionid(corpKfUserInfo.getUnionid());
|
|
|
+ corpUser.setName(corpKfUserInfo.getNickname());
|
|
|
+ corpUser.setGender(corpKfUserInfo.getGender());
|
|
|
+ corpUser.setAvatar(corpKfUserInfo.getAvatar());
|
|
|
+ corpUser.setType(1);
|
|
|
+ corpUserMapper.insert(corpUser);
|
|
|
+
|
|
|
+ corpUserAuth = new CorpUserAuth();
|
|
|
+ corpUserAuth.setWxCorpId(wxCorpApp.getId());
|
|
|
+ corpUserAuth.setCorpUserId(corpUser.getId());
|
|
|
+ corpUserAuth.setExternalUserid(corpKfUserInfo.getExternalUserid());
|
|
|
+ corpUserAuthMapper.insert(corpUserAuth);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
corpUser = corpUserMapper.selectOne(Wrappers.lambdaQuery(CorpUser.class).eq(CorpUser::getId, corpUserAuth.getCorpUserId()).last("limit 1"));
|