Commit ee0af121 by 徐高华

自建回调过滤

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