Commit 4ba0c821 by songyinghui

feat: 取当前用户分享朋友圈最近的一个

parent 864ab228
...@@ -339,7 +339,7 @@ public class GroupMessageServiceImpl implements GroupMessageService { ...@@ -339,7 +339,7 @@ public class GroupMessageServiceImpl implements GroupMessageService {
if (qwInfo.needOpenUserId3th()) { if (qwInfo.needOpenUserId3th()) {
userId = staff.getWxOpenUseId(); userId = staff.getWxOpenUseId();
} }
List<String> externalUserIds = this.queryMomentResult(corpId, userId); List<String> externalUserIds = this.queryMomentResult(corpId, userId, clerkShareLogBo.getCreateTime());
if (CollectionUtils.isEmpty(externalUserIds)) { if (CollectionUtils.isEmpty(externalUserIds)) {
log.info("处理导购群发朋友圈触达客户日志, 成员无好友. staffId:{}", clerkShareLogBo.getStaffId()); log.info("处理导购群发朋友圈触达客户日志, 成员无好友. staffId:{}", clerkShareLogBo.getStaffId());
return; return;
...@@ -471,7 +471,7 @@ public class GroupMessageServiceImpl implements GroupMessageService { ...@@ -471,7 +471,7 @@ public class GroupMessageServiceImpl implements GroupMessageService {
* @param userId * @param userId
* @return * @return
*/ */
public List<String> queryMomentResult(String corpid, String userId) { public List<String> queryMomentResult(String corpid, String userId, Date createTime) {
Date currentTime = new Date(); Date currentTime = new Date();
QywxMomentInfoQDTO qywxMomentInfoQDTO = new QywxMomentInfoQDTO(); QywxMomentInfoQDTO qywxMomentInfoQDTO = new QywxMomentInfoQDTO();
...@@ -486,14 +486,23 @@ public class GroupMessageServiceImpl implements GroupMessageService { ...@@ -486,14 +486,23 @@ public class GroupMessageServiceImpl implements GroupMessageService {
log.info("查询客户发表朋友圈记录失败 {}", JSON.toJSONString(serviceResponse)); log.info("查询客户发表朋友圈记录失败 {}", JSON.toJSONString(serviceResponse));
return Collections.emptyList(); return Collections.emptyList();
} }
List<String> result = new ArrayList<>(); long filterTime = createTime.getTime() / 1000;
for (QywxMomentRespDTO.QywxMomentInfoDTO qywxMomentInfo : serviceResponse.getResult().getQywxMomentInfos()) {
List<String> externalUserIds = this.queryMomentSendResultList(corpid, userId, qywxMomentInfo.getMomentId()); Optional<QywxMomentRespDTO.QywxMomentInfoDTO> before = serviceResponse.getResult().getQywxMomentInfos()
if (CollectionUtils.isNotEmpty(externalUserIds)) { .stream()
result.addAll(externalUserIds); .filter(item -> item.getCreateTime() - filterTime <= 0)
.min((first, second) -> (int) (second.getCreateTime() - first.getCreateTime()));
if (before.isPresent()) {
return this.queryMomentSendResultList(corpid, userId, before.get().getMomentId());
} }
Optional<QywxMomentRespDTO.QywxMomentInfoDTO> after = serviceResponse.getResult().getQywxMomentInfos()
.stream()
.filter(item -> item.getCreateTime() - filterTime >= 0)
.min((first, second) -> (int) (second.getCreateTime() - first.getCreateTime()));
if (after.isPresent()) {
return this.queryMomentSendResultList(corpid, userId, after.get().getMomentId());
} }
return result; return Collections.emptyList();
} }
public List<String> queryMomentSendResultList(String corpid, String userId, String momentId) { public List<String> queryMomentSendResultList(String corpid, String userId, String momentId) {
......
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