Commit cf3a2504 by 徐高华

群活码

parent 0578882e
......@@ -21,7 +21,7 @@ public interface HmLinkChatService {
public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId);
public int save(Long linkId, List<HmLinkChatDTO> list , Long otherHmId , TabHmLink link);
public int save(String wxEnterpriseId,String enterpriseId,Long linkId, List<HmLinkChatDTO> list , Long otherHmId , TabHmLink link);
public Page<HmLinkChatDTO> listPage(HmLinkChatQDTO qdto, BasePageInfo basePageInfo);
......
......@@ -46,16 +46,13 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
}
@Override
public int save(Long linkId, List<HmLinkChatDTO> list, Long otherHmId, TabHmLink link) {
public int save(String wxEnterpriseId,String enterpriseId,Long linkId, List<HmLinkChatDTO> list, Long otherHmId, TabHmLink oldLink) {
log.info("保存群链接={}", JSON.toJSONString(list));
List<HmLinkChatDTO> updateList = list.stream().filter(dto -> null != dto.getLinkChatId())
.collect(Collectors.toList());
List<HmLinkChatDTO> oldList = this.hmLinkChatMapper.listByLinkId(wxEnterpriseId, enterpriseId, linkId) ;
if(CollectionUtils.isNotEmpty(list)) {
List<HmLinkChatDTO> updateList = list.stream().filter(dto -> null != dto.getLinkChatId()).collect(Collectors.toList());
List<Long> notDelIdList = updateList.stream().map(dto -> dto.getLinkChatId()).collect(Collectors.toList());
log.info("不删除关联群活码={},{}", linkId, notDelIdList);
String wxEnterpriseId = list.get(0).getWxEnterpriseId();
String enterpriseId = list.get(0).getEnterpriseId();
// 先查出历史记录
List<HmLinkChatDTO> oldList = this.hmLinkChatMapper.listByLinkId(wxEnterpriseId, enterpriseId, linkId);
this.hmLinkChatMapper.delete(linkId, notDelIdList , 0);
if (CollectionUtils.isNotEmpty(updateList)) {
for (HmLinkChatDTO item : updateList) {
......@@ -79,15 +76,15 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
}
}
}
}
// 更新其他链接
List<Long> chatHmIdList = list.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toList());
chatHmIdList.add(otherHmId);
boolean addOther = false;
if (null != link) {
chatHmIdList.add(link.getOtherChatHmId());
if (!otherHmId.equals(link.getOtherChatHmId())) {
this.hmLinkChatMapper.delete(linkId, Arrays.asList(link.getOtherChatHmId()) , 1);
if (null != oldLink) {
chatHmIdList.add(oldLink.getOtherChatHmId());
if (!otherHmId.equals(oldLink.getOtherChatHmId())) {
this.hmLinkChatMapper.delete(linkId, Arrays.asList(oldLink.getOtherChatHmId()) , 1);
addOther = true;
}
} else {
......@@ -107,7 +104,6 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
other.setLinkChatId(UniqueIdUtils.uniqueLong());
this.hmLinkChatMapper.insert(other);
}
// 统计活码关联的链接数量
for (HmLinkChatDTO old : oldList) {
chatHmIdList.add(old.getChatHmId());
......
......@@ -169,7 +169,7 @@ public class HmLinkServiceImpl implements HmLinkService {
item.setEnterpriseId(dto.getEnterpriseId());
item.setSortNum(index++);
}
this.hmLinkChatService.save(linkId, dto.getLinkChatList() , dto.getOtherChatHmId() , oldLink);
this.hmLinkChatService.save(dto.getWxEnterpriseId(),dto.getEnterpriseId(),linkId, dto.getLinkChatList() , dto.getOtherChatHmId() , oldLink);
}
return dto.getLinkCode();
}
......
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