Commit fc691986 by 徐高华

parent 2184abab
......@@ -11,17 +11,54 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO;
public interface GroupChatApiService {
// 群列表
/**
*
* @Title: listPage
* @Description: 群列表
* @author xugh
* @param qdto
* @param basePageInfo
* @return
* @throws
*/
public ServiceResponse<Page<GroupChatDTO>> listPage(GroupChatSearchQDTO qdto, BasePageInfo basePageInfo);
// 群列表
/**
*
* @Title: detail
* @Description: 群详情
* @author xugh
* @param wxEnterpriseId
* @param groupChatId
* @return
* @throws
*/
public ServiceResponse<GroupChatDTO> detail(String wxEnterpriseId, Long groupChatId);
// 刷新群信息
/**
*
* @Title: refreshChatInfo
* @Description: 刷新群信息
* @author xugh
* @param groupChatId
* @return
* @throws
*/
public ServiceResponse<Void> refreshChatInfo(Long groupChatId);
/**
*
* @Title: refreshChatInfo
* @Description: 刷新群信息
* @author xugh
* @param groupChatId
* @return
* @throws
*/
public ServiceResponse<Void> refreshWxEnterpriseChatInfo(String wxEnterpriseId);
/**
*
* @Title: updateChatEnterpriseId
* @Description: 客户群认领,更新企业ID
* @author xugh
......
......@@ -5,6 +5,7 @@ import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
......@@ -22,6 +23,7 @@ import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
......@@ -38,6 +40,7 @@ import com.gic.haoban.manage.service.entity.chat.TabGroupChat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatUser;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatBO;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatService;
import com.gic.member.api.dto.MemberDTO;
......@@ -72,6 +75,8 @@ public class GroupChatServiceImpl implements GroupChatService {
private SecretSettingService secretSettingService;
@Autowired
private ChatNoticeMapper chatNoticeMapper;
@Autowired
private StaffClerkRelationService staffClerkRelationService ;
// 每次拉取成员数
private int pageSize = 10;
// 每次拉取群数
......@@ -160,7 +165,10 @@ public class GroupChatServiceImpl implements GroupChatService {
@Override
public void updateChatEnterpriseId(String wxEnterpriseId, String enterpriseId, List<Long> groupChatIdList) {
// 更新后重新同步群数据
}
@Override
......@@ -347,15 +355,30 @@ public class GroupChatServiceImpl implements GroupChatService {
// 处理群主
String owner = detail.getOwner();
TabHaobanStaff staff = this.staffMapper.selectByUserIdAndEnterpriseId(owner, wxEnterpriseId);
if (null == staff) {
logger.info("群主不存在,userid={}", owner);
return;
if (null != staff) {
chat.setStaffId(staff.getStaffId());
}else {
logger.info("群主未关联好办,不同步群成员,userid={}", owner);
}
if(StringUtils.isBlank(enterpriseId)) {
logger.info("开始匹配群的gic商户id,staffid={}",staff.getStaffId());
List<StaffClerkRelationDTO> clerkList = this.staffClerkRelationService.listByStaffId(wxEnterpriseId, staff.getStaffId()) ;
if(CollectionUtils.isNotEmpty(clerkList)) {
Set<String> enterpriseIdSet = clerkList.stream().map(dto->dto.getEnterpriseId()).collect(Collectors.toSet()) ;
logger.info("成员关联导购数={},商户={}",clerkList.size(),enterpriseIdSet);
if(enterpriseIdSet.size()==1) {
enterpriseId = clerkList.get(0).getEnterpriseId();
}
}
}
chat.setStaffId(staff.getStaffId());
logger.info("更新群信息={}", JSON.toJSONString(chat));
this.groupChatMapper.update(chat);
if(null == staff) {
logger.info("不同步群成员信息,群主未关联好办,owner={}",owner);
return ;
}
if (!syncMember) {
logger.info("不同步群员信息");
logger.info("不同步群员信息");
return;
}
List<GroupChatDetailMemberDTO> memberList = detail.getMember_list();
......@@ -383,6 +406,7 @@ public class GroupChatServiceImpl implements GroupChatService {
user.setGroupChatId(groupChatId);
user.setUserId(userId);
user.setJoinScene(member.getJoin_scene());
user.setJoinState(null);
user.setUnionid(member.getUnionid());
user.setDeleteFlag(0);
user.setStatusFlag(1);
......
......@@ -47,11 +47,17 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
this.groupChatService.refreshChatInfo(chatHmId);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> refreshWxEnterpriseChatInfo(String wxEnterpriseId) {
this.groupChatService.initEnterpriseGroupChat(wxEnterpriseId);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> updateChatEnterpriseId(String wxEnterpriseId, String enterpriseId,
List<Long> groupChatIdList) {
this.groupChatService.updateChatEnterpriseId(wxEnterpriseId,enterpriseId,groupChatIdList);
this.groupChatService.updateChatEnterpriseId(wxEnterpriseId, enterpriseId, groupChatIdList);
return ServiceResponse.success();
}
......
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