Commit a08e8def by 徐高华

Merge branch 'feature/xgh/202506迭代' into 'developer'

群活码

See merge request !3037
parents 7a08def9 cf3a2504
...@@ -21,7 +21,7 @@ public interface HmLinkChatService { ...@@ -21,7 +21,7 @@ public interface HmLinkChatService {
public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId); 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); public Page<HmLinkChatDTO> listPage(HmLinkChatQDTO qdto, BasePageInfo basePageInfo);
......
...@@ -46,48 +46,45 @@ public class HmLinkChatServiceImpl implements HmLinkChatService { ...@@ -46,48 +46,45 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
} }
@Override @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)); log.info("保存群链接={}", JSON.toJSONString(list));
List<HmLinkChatDTO> updateList = list.stream().filter(dto -> null != dto.getLinkChatId()) List<HmLinkChatDTO> oldList = this.hmLinkChatMapper.listByLinkId(wxEnterpriseId, enterpriseId, linkId) ;
.collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(list)) {
List<Long> notDelIdList = updateList.stream().map(dto -> dto.getLinkChatId()).collect(Collectors.toList()); List<HmLinkChatDTO> updateList = list.stream().filter(dto -> null != dto.getLinkChatId()).collect(Collectors.toList());
log.info("不删除关联群活码={},{}", linkId, notDelIdList); List<Long> notDelIdList = updateList.stream().map(dto -> dto.getLinkChatId()).collect(Collectors.toList());
String wxEnterpriseId = list.get(0).getWxEnterpriseId(); log.info("不删除关联群活码={},{}", linkId, notDelIdList);
String enterpriseId = list.get(0).getEnterpriseId(); this.hmLinkChatMapper.delete(linkId, notDelIdList , 0);
// 先查出历史记录 if (CollectionUtils.isNotEmpty(updateList)) {
List<HmLinkChatDTO> oldList = this.hmLinkChatMapper.listByLinkId(wxEnterpriseId, enterpriseId, linkId); for (HmLinkChatDTO item : updateList) {
this.hmLinkChatMapper.delete(linkId, notDelIdList , 0); TabHmLinkChat entity = EntityUtil.changeEntityByJSON(TabHmLinkChat.class, item);
if (CollectionUtils.isNotEmpty(updateList)) { this.hmLinkChatMapper.update(entity);
for (HmLinkChatDTO item : updateList) { if (item.getMemberType() == 0) {
TabHmLinkChat entity = EntityUtil.changeEntityByJSON(TabHmLinkChat.class, item); screeningDetailService.save(HmLinkChatService.ES_ID + entity.getLinkChatId(), item.getSearchJson());
this.hmLinkChatMapper.update(entity); }
if (item.getMemberType() == 0) {
screeningDetailService.save(HmLinkChatService.ES_ID + entity.getLinkChatId(), item.getSearchJson());
} }
} }
} List<HmLinkChatDTO> addList = list.stream().filter(dto -> null == dto.getLinkChatId())
List<HmLinkChatDTO> addList = list.stream().filter(dto -> null == dto.getLinkChatId()) .collect(Collectors.toList());
.collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(addList)) {
if (CollectionUtils.isNotEmpty(addList)) { for (HmLinkChatDTO dto : addList) {
for (HmLinkChatDTO dto : addList) { TabHmLinkChat entity = EntityUtil.changeEntityByJSON(TabHmLinkChat.class, dto);
TabHmLinkChat entity = EntityUtil.changeEntityByJSON(TabHmLinkChat.class, dto); entity.setLinkChatId(UniqueIdUtils.uniqueLong());
entity.setLinkChatId(UniqueIdUtils.uniqueLong()); entity.setLinkId(linkId);
entity.setLinkId(linkId); this.hmLinkChatMapper.insert(entity);
this.hmLinkChatMapper.insert(entity); if (dto.getMemberType() == 0) {
if (dto.getMemberType() == 0) { screeningDetailService.save(HmLinkChatService.ES_ID + entity.getLinkChatId(), dto.getSearchJson());
screeningDetailService.save(HmLinkChatService.ES_ID + entity.getLinkChatId(), dto.getSearchJson()); }
} }
} }
} }
// 更新其他链接 // 更新其他链接
List<Long> chatHmIdList = list.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toList()); List<Long> chatHmIdList = list.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toList());
chatHmIdList.add(otherHmId); chatHmIdList.add(otherHmId);
boolean addOther = false; boolean addOther = false;
if (null != link) { if (null != oldLink) {
chatHmIdList.add(link.getOtherChatHmId()); chatHmIdList.add(oldLink.getOtherChatHmId());
if (!otherHmId.equals(link.getOtherChatHmId())) { if (!otherHmId.equals(oldLink.getOtherChatHmId())) {
this.hmLinkChatMapper.delete(linkId, Arrays.asList(link.getOtherChatHmId()) , 1); this.hmLinkChatMapper.delete(linkId, Arrays.asList(oldLink.getOtherChatHmId()) , 1);
addOther = true; addOther = true;
} }
} else { } else {
...@@ -107,7 +104,6 @@ public class HmLinkChatServiceImpl implements HmLinkChatService { ...@@ -107,7 +104,6 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
other.setLinkChatId(UniqueIdUtils.uniqueLong()); other.setLinkChatId(UniqueIdUtils.uniqueLong());
this.hmLinkChatMapper.insert(other); this.hmLinkChatMapper.insert(other);
} }
// 统计活码关联的链接数量 // 统计活码关联的链接数量
for (HmLinkChatDTO old : oldList) { for (HmLinkChatDTO old : oldList) {
chatHmIdList.add(old.getChatHmId()); chatHmIdList.add(old.getChatHmId());
......
...@@ -169,7 +169,7 @@ public class HmLinkServiceImpl implements HmLinkService { ...@@ -169,7 +169,7 @@ public class HmLinkServiceImpl implements HmLinkService {
item.setEnterpriseId(dto.getEnterpriseId()); item.setEnterpriseId(dto.getEnterpriseId());
item.setSortNum(index++); 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(); 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