Commit 45e3478d by 徐高华

群主离职处理

parent d06f43e8
......@@ -89,4 +89,15 @@ public interface HaobanTimerApiService {
*/
public ServiceResponse<Void> initHaobaonGroupChat(String params);
/**
*
* @Title: ownerDimission
* @Description: 群主离职(每日刷新)
* @author xugh
* @param params
* @return
* @throws
*/
public ServiceResponse<Void> ownerDimission(String params);
}
......@@ -130,4 +130,15 @@ public interface GroupChatService {
*/
public void handleHmChatFull(String params);
public void ownerDimission(String staffId) ;
/**
*
* @Title: ownerDimission
* @Description: 群主离职
* @author xugh
* @throws
*/
public void ownerDimission() ;
}
\ No newline at end of file
......@@ -143,7 +143,7 @@ public class GroupChatServiceImpl implements GroupChatService {
@Override
public void createChat(String corpid, String wxChatId) {
logger.info("创建群,id={}",wxChatId);
logger.info("创建群,id={}", wxChatId);
String wxEnterpriseId = this.getWxEnterpriesId(corpid);
if (null == wxEnterpriseId) {
return;
......@@ -313,6 +313,7 @@ public class GroupChatServiceImpl implements GroupChatService {
// 更新群状态
public void updateChatStatus(WxEnterpriseQwDTO qwDTO, Long groupChatId) {
logger.info("更新群状态,groupchatId={}", groupChatId);
TabGroupChat chat = this.groupChatMapper.selectById(groupChatId);
if (null == chat) {
logger.info("群主变更事件,群不存在");
......@@ -364,19 +365,27 @@ public class GroupChatServiceImpl implements GroupChatService {
} finally {
RedisUtil.delCache(key);
}
// 群主离职列表
List<GroupChatOwnerDTO> dimissionOwnerList = this.groupChatOwnerMapper.dimissionOwnerList() ;
for(GroupChatOwnerDTO dto : dimissionOwnerList) {
logger.info("群主离职,群状态处理={}",JSON.toJSONString(dto));
this.dimissionOwner(dto);
}
@Override
public void ownerDimission(String staffId) {
logger.info("群主离职,刷新群状态,staffId={}", staffId);
if (null != this.groupChatOwnerMapper.selectByStaffId(staffId)) {
TabHaobanStaff staff = this.staffMapper.selectByPrimaryKey(staffId);
this.dimissionOwner(staff.getWxEnterpriseId(), staff.getWxUserId(), staff.getWxOpenUseId());
}
}
// 群主离职列表
public void ownerDimission() {
List<GroupChatOwnerDTO> dimissionOwnerList = this.groupChatOwnerMapper.dimissionOwnerList();
for (GroupChatOwnerDTO dto : dimissionOwnerList) {
logger.info("群主离职,群状态处理={}", JSON.toJSONString(dto));
this.dimissionOwner(dto.getWxEnterpriseId(), dto.getWxUserId(), dto.getWxOpenUserId());
}
}
private void dimissionOwner(GroupChatOwnerDTO dto) {
String wxEnterpriseId = dto.getWxEnterpriseId() ;
private void dimissionOwner(String wxEnterpriseId, String wxUserId, String wxOpenUserId) {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (null == qwDTO) {
logger.info("wxEnterpriseId不存在,id={}", wxEnterpriseId);
......@@ -384,9 +393,9 @@ public class GroupChatServiceImpl implements GroupChatService {
}
List<String> userIdList = null;
if (qwDTO.needOpenUserIdDk()) {
userIdList = Arrays.asList(dto.getWxOpenUserId());
userIdList = Arrays.asList(wxOpenUserId);
} else {
userIdList = Arrays.asList(dto.getWxUserId());
userIdList = Arrays.asList(wxUserId);
}
if (CollectionUtils.isNotEmpty(userIdList)) {
this.syncGroupChatList(qwDTO, userIdList, null, false);
......@@ -895,7 +904,7 @@ public class GroupChatServiceImpl implements GroupChatService {
List<String> wxChatIdList = list.stream().map(dto -> dto.getWxChatId()).collect(Collectors.toList());
ServiceResponse<List<FailChatListDTO>> resp = this.qywxChatApiService.transfer(qwDTO.getThirdCorpid(),
config.getWxSuiteid(), wxChatIdList, userid);
logger.info("群继承={}", JSON.toJSONString(resp));
logger.info("群继承,继承人={}", JSON.toJSONString(resp), userid);
if (!resp.isSuccess()) {
return ServiceResponse.failure("9999", resp.getMessage());
} else {
......
......@@ -63,4 +63,10 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
this.groupChatService.handleHmChatFull(params);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> ownerDimission(String params) {
this.groupChatService.ownerDimission();
return ServiceResponse.success();
}
}
......@@ -62,6 +62,7 @@ import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.WxApplicationService;
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.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil;
import com.gic.thirdparty.api.dto.PicUploadResDTO;
......@@ -123,6 +124,8 @@ public class MessageApiServiceImpl implements MessageApiService {
private QywxUserApiService qywxUserApiService;
@Autowired
private HaobanCommonMQApiService haobanCommonMQApiService ;
@Autowired
private GroupChatService groupChatService;
@Override
public void wxMessageReceive(QywxCallBackDTO qywxCallBackDTO) {
......@@ -344,6 +347,8 @@ public class MessageApiServiceImpl implements MessageApiService {
staffClerkRelationApiService.unbindByStaffAndClerkId(staffId, staffClerkRelationDTO.getClerkId(), ChannelCodeEnum.ADMIN_UNBIND.getCode(),wxEnterpriseId);
}
}
//群状态刷新
this.groupChatService.ownerDimission(staffId);
//删除员工表-注意顺序
this.staffService.delByStaffId(staffId);
}
......
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