Commit ee0af121 by 徐高华

自建回调过滤

parent d9df1c8b
...@@ -44,6 +44,17 @@ public class MemberUnionidRelatedDTO implements Serializable{ ...@@ -44,6 +44,17 @@ public class MemberUnionidRelatedDTO implements Serializable{
private String state; private String state;
private String staffId ; private String staffId ;
// 是否从自建应用下的回调
private int selfCallback = 0;
public int getSelfCallback() {
return selfCallback;
}
public void setSelfCallback(int selfCallback) {
this.selfCallback = selfCallback;
}
public String getStaffId() { public String getStaffId() {
return staffId; return staffId;
......
...@@ -48,6 +48,16 @@ public class QwFrientNoticeDTO implements Serializable { ...@@ -48,6 +48,16 @@ public class QwFrientNoticeDTO implements Serializable {
private String staffId; private String staffId;
private String changeType; private String changeType;
// 是否从自建应用下的回调
private int selfCallback = 0;
public int getSelfCallback() {
return selfCallback;
}
public void setSelfCallback(int selfCallback) {
this.selfCallback = selfCallback;
}
public String getStaffId() { public String getStaffId() {
return staffId; return staffId;
......
...@@ -37,7 +37,17 @@ public class QywxCallBackDTO implements Serializable{ ...@@ -37,7 +37,17 @@ public class QywxCallBackDTO implements Serializable{
/**部门创建:create_party;部门修改:update_party;部门删除:delete_party* /**部门创建:create_party;部门修改:update_party;部门删除:delete_party*
* 成员创建:create_user;成员修改:update_user;成员删除:delete_user*/ * 成员创建:create_user;成员修改:update_user;成员删除:delete_user*/
private String changeType; private String changeType;
// 是否自建应用的回调
private int selfCallback = 0 ;
public int getSelfCallback() {
return selfCallback;
}
public void setSelfCallback(int selfCallback) {
this.selfCallback = selfCallback;
}
public String getAvatar() { public String getAvatar() {
return avatar; return avatar;
} }
......
...@@ -16,6 +16,15 @@ public class ChatEventDTO implements Serializable { ...@@ -16,6 +16,15 @@ public class ChatEventDTO implements Serializable {
private Integer quitScene; private Integer quitScene;
private Integer memChangeCnt; private Integer memChangeCnt;
private String corpid; private String corpid;
// 是否自建应用的回调
private int selfCallback = 0 ;
public int getSelfCallback() {
return selfCallback;
}
public void setSelfCallback(int selfCallback) {
this.selfCallback = selfCallback;
}
public String getChangeType() { public String getChangeType() {
return changeType; return changeType;
......
...@@ -581,6 +581,9 @@ public class GroupChatServiceImpl implements GroupChatService { ...@@ -581,6 +581,9 @@ public class GroupChatServiceImpl implements GroupChatService {
chat.setGicFlag(1); chat.setGicFlag(1);
} }
chat.setWxChatId(wxChatId); chat.setWxChatId(wxChatId);
if(qwDTO.isSelf()) {
chat.setWxChatIdDk(wxChatId);
}
chat.setChatStatus(chatStatus); chat.setChatStatus(chatStatus);
chat.setCreateTime(new Date()); chat.setCreateTime(new Date());
chat.setUpdateTime(new Date()); chat.setUpdateTime(new Date());
......
...@@ -715,23 +715,18 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -715,23 +715,18 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
} }
this.externalClerkRelatedService.insert(related); this.externalClerkRelatedService.insert(related);
}else { }else {
log.info("更新好友表");
TabHaobanExternalClerkRelated exsitDTO = externalList.get(0); TabHaobanExternalClerkRelated exsitDTO = externalList.get(0);
log.info("更新好友表,{},{}",exsitDTO.getExternalUserId(),exsitDTO.getStatusFlag());
if(exsitDTO.getStatusFlag()==1) {
return ;
}
exsitDTO.setMemberUnionidRelatedId(memberUnionidRelatedId); exsitDTO.setMemberUnionidRelatedId(memberUnionidRelatedId);
exsitDTO.setRelationKey(relationKey); exsitDTO.setRelationKey(relationKey);
exsitDTO.setHeadUrl(avatar); exsitDTO.setHeadUrl(avatar);
if(null != memberId) { exsitDTO.setMemberId(memberId);
exsitDTO.setMemberId(memberId); exsitDTO.setUnionid(unionId);
} exsitDTO.setStoreId(storeId);
if(null != unionId) { exsitDTO.setClerkId(clerkId);
exsitDTO.setUnionid(unionId);
}
if(StringUtils.isEmpty(exsitDTO.getStoreId())) {
exsitDTO.setStoreId(storeId);
}
if(StringUtils.isEmpty(exsitDTO.getClerkId())) {
exsitDTO.setClerkId(clerkId);
}
exsitDTO.setEnterpriseId(enterpriseId); exsitDTO.setEnterpriseId(enterpriseId);
if(StringUtils.isNotBlank(exsitDTO.getMemberId()) && exsitDTO.getStatusFlag() != 1) { if(StringUtils.isNotBlank(exsitDTO.getMemberId()) && exsitDTO.getStatusFlag() != 1) {
exsitDTO.setStatusFlag(1); exsitDTO.setStatusFlag(1);
...@@ -834,6 +829,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -834,6 +829,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String externalUserid = dto.getExternalUserid(); String externalUserid = dto.getExternalUserid();
ExternalUserDTO externalUserDTO; ExternalUserDTO externalUserDTO;
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
if(qwDTO.isSelf() && dto.getSelfCallback()==0) {
log.info("非自建应用回调");
return null ;
}
if(qwDTO.isSelf()) { if(qwDTO.isSelf()) {
String unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(qwDTO.getDkCorpid(), qwDTO.getSelfSecret(), dto.getExternalUserid(),qwDTO.getUrlHost()); String unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(qwDTO.getDkCorpid(), qwDTO.getSelfSecret(), dto.getExternalUserid(),qwDTO.getUrlHost());
if (StringUtils.isBlank(unionIdJson)) { if (StringUtils.isBlank(unionIdJson)) {
......
...@@ -149,6 +149,17 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -149,6 +149,17 @@ public class MessageApiServiceImpl implements MessageApiService {
log.info("通讯录只处理自建应用回调 dto={}", JSON.toJSONString(param)); log.info("通讯录只处理自建应用回调 dto={}", JSON.toJSONString(param));
return; return;
} }
TabHaobanWxApplication wxApplication = wxApplicationService.selectByCorpId(dto.getAuthCorpId());
if (Objects.isNull(wxApplication)) {
log.info("授权企业不存在,{}", dto.getAuthCorpId());
return;
}
String wxEnterpriseId = wxApplication.getWxEnterpriseId();
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
if(qwDTO.isSelf() && dto.getSelfCallback()==0) {
log.info("非自建应用回调");
return ;
}
// 处理部门 // 处理部门
dealQywxDepartment(dto); dealQywxDepartment(dto);
// 处理成员 // 处理成员
......
...@@ -300,6 +300,9 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -300,6 +300,9 @@ public class StaffApiServiceImpl implements StaffApiService {
* @return * @return
*/ */
private String getOpenUserid(String userId, String corpid, WxEnterpriseQwDTO qwDTO) { private String getOpenUserid(String userId, String corpid, WxEnterpriseQwDTO qwDTO) {
if(qwDTO.isSelf()) {
return null ;
}
if (qwDTO.getWxSecurityType() == 2) { if (qwDTO.getWxSecurityType() == 2) {
return userId; return userId;
} }
......
...@@ -23,6 +23,7 @@ import com.gic.api.base.commons.ServiceResponse; ...@@ -23,6 +23,7 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil; import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils; import com.gic.commons.util.PageHelperUtils;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.chat.ChatEventDTO; import com.gic.haoban.manage.api.dto.chat.ChatEventDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO;
...@@ -33,11 +34,13 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO; ...@@ -33,11 +34,13 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatApiService; import com.gic.haoban.manage.api.service.chat.GroupChatApiService;
import com.gic.haoban.manage.service.entity.TabHaobanStaff; import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatBO; import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatBO;
import com.gic.haoban.manage.service.service.StaffClerkRelationService; import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.StaffService; import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService; import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatService; import com.gic.haoban.manage.service.service.chat.GroupChatService;
import com.gic.haoban.manage.service.service.chat.GroupChatUserService; import com.gic.haoban.manage.service.service.chat.GroupChatUserService;
...@@ -56,6 +59,8 @@ public class GroupChatApiServiceImpl implements GroupChatApiService { ...@@ -56,6 +59,8 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
private WxEnterpriseRelatedService wxEnterpriseRelatedService; private WxEnterpriseRelatedService wxEnterpriseRelatedService;
@Autowired @Autowired
private StaffClerkRelationService staffClerkRelationService; private StaffClerkRelationService staffClerkRelationService;
@Autowired
private WxEnterpriseService wxEnterpriseService ;
@Override @Override
public ServiceResponse<Page<GroupChatDTO>> listPage(GroupChatSearchQDTO qdto, BasePageInfo basePageInfo) { public ServiceResponse<Page<GroupChatDTO>> listPage(GroupChatSearchQDTO qdto, BasePageInfo basePageInfo) {
...@@ -183,6 +188,17 @@ public class GroupChatApiServiceImpl implements GroupChatApiService { ...@@ -183,6 +188,17 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
String changeType = dto.getChangeType(); String changeType = dto.getChangeType();
String wxChatId = dto.getChatId(); String wxChatId = dto.getChatId();
String corpid = dto.getCorpid(); String corpid = dto.getCorpid();
TabHaobanWxEnterprise wxEnterprise = this.wxEnterpriseService.getEnterpriseBycorpId(corpid);
if (wxEnterprise == null) {
logger.info("企业不存在,corpid={}", corpid);
return ServiceResponse.success();
}
String wxEnterpriseId = wxEnterprise.getWxEnterpriseId();
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if(qwDTO.isSelf() && dto.getSelfCallback()==0) {
logger.info("非自建应用回调");
return ServiceResponse.success();
}
// 群解散事件 // 群解散事件
if ("dismiss".equals(changeType)) { if ("dismiss".equals(changeType)) {
this.groupChatService.dismissChat(corpid, wxChatId); this.groupChatService.dismissChat(corpid, wxChatId);
......
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