Commit 315abbd3 by 徐高华

Merge branch 'feature/自建应用验证' into 'master'

Feature/自建应用验证

See merge request !1227
parents 16bc5aa8 38e045c7
......@@ -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);
......
......@@ -25,6 +25,7 @@ import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.constants.Manage3Constants;
import com.gic.haoban.manage.api.dto.AlertMessageDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeAccountInterceptLogDTO;
import com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDTO;
import com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDetailDTO;
......@@ -227,7 +228,10 @@ public class HaobanQywxFeeApiServiceImpl implements HaobanQywxFeeApiService {
this.staffService.activedAccountTimer(wxEnterpriseId);
// 更新企业的激活数量统计
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
if(!qwDTO.isSelf()) {
this.wxEnterpriseActiveDataService.saveOrUpdate(wxEnterpriseId);
}
// 统计 haobanQywxFeeDetailDTO 30天内最新过期的时间和人数
HaobanQywxFeeDetailDTO haobanQywxFeeDetailDTO = haobanQywxFeeAccountStaffService.feeIntercept(wxEnterpriseId);
......
......@@ -61,6 +61,7 @@
name,
staff_id,
wx_chat_id,
wx_chat_id_dk,
chat_add_time,
chat_dissolve_time,
chat_notice,
......@@ -82,6 +83,7 @@
#{name},
#{staffId},
#{wxChatId},
#{wxChatIdDk},
#{chatAddTime},
#{chatDissolveTime},
#{chatNotice},
......
......@@ -209,7 +209,7 @@ public class WxEnterpriseController extends WebBaseController {
desc = "(第三方明文,代开密文)" ;
}
if(wxType==5) {
desc = " (自建 "+wxEnterpriseDTO.getWxaAppid() +"/" + wxEnterpriseDTO.getUrlHost()+") " ;
desc = " ( "+wxEnterpriseDTO.getWxaAppid() +" / " + wxEnterpriseDTO.getUrlHost()+") " ;
}
int newType = this.wxEnterpriseApiService.calcSecretType(wxEnterpriseId) ;
String diff = "";
......
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