Commit 61a23544 by 墨竹

fix:添加好友修改

parent 3985f9fc
......@@ -370,6 +370,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return;
}
//新增导购和外部联系人关系
String clerkId = staffClerkRelationDTO.getClerkId();
String clerkCode = staffClerkRelationDTO.getClerkCode();
String enterpriseId = staffClerkRelationDTO.getEnterpriseId();
ClerkDTO clerk = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
......@@ -395,7 +396,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("生产会员memnerid失败:{}", unionId);
return;
}
String clerkId = staffClerkRelationDTO.getClerkId();
String memberId = member.getMemberId();
List<TabHaobanExternalClerkRelated> externalClerkRelateds = externalClerkRelatedService.listByExTernalUseridAndWxUserIdAllStatus(wxEnterpriseId, externalUserid, dto.getWxUserId());
String relationKey = SecureUtil.md5(staffId + externalUserid);
......@@ -743,36 +743,38 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
} else {
dto.setExternalUserid(externalUserDTO.getExternalUserId());
}
String key = "external" + dto.getWxEnterpriseId() + "_" + dto.getExternalName() + "_" + dto.getAddCreateTime();
String lockKey = key + "-lock";
RedisUtil.lock(lockKey, 10L);
MemberUnionidRelatedDTO midRelatedDto = RedisUtil.getCache(key, MemberUnionidRelatedDTO.class);
if (midRelatedDto != null) {
dto.setUnionid(dto.getUnionid() == null ? midRelatedDto.getUnionid() : dto.getUnionid());
dto.setExternalUserid(dto.getExternalUserid() == null ? midRelatedDto.getExternalUserid() : dto.getExternalUserid());
dto.setSelfExternalUserid(dto.getSelfExternalUserid() == null ? midRelatedDto.getSelfExternalUserid() : dto.getSelfExternalUserid());
dto.setMemberUnionidRelatedId(midRelatedDto.getMemberUnionidRelatedId());
dto.setAvatar(dto.getAvatar() == null ? midRelatedDto.getAvatar() : dto.getAvatar());
List<MemberUnionidRelatedDTO> relatedDTOS = memberUnionRelatedService.listBySelfExternalUserId(dto.getWxUserId(), dto.getWxEnterpriseId(), dto.getSelfExternalUserid());
//老的关联需要删除
if (CollectionUtils.isNotEmpty(relatedDTOS)) {
relatedDTOS.stream().filter(mid -> (!mid.getMemberUnionidRelatedId().equals(midRelatedDto.getMemberUnionidRelatedId())))
.forEach(mid -> {
mid.setStatusFlag(0);
memberUnionRelatedService.update(mid);
});
}
memberUnionRelatedService.update(dto);
RedisUtil.unlock(lockKey);
return dto;
} else {
MemberUnionidRelatedDTO midRelatedDto = RedisUtil.getCache(key, MemberUnionidRelatedDTO.class);
if (midRelatedDto == null) {
String memberUnionidRelatedId = memberUnionRelatedService.addMemberUnionidRelated(dto);
dto.setMemberUnionidRelatedId(memberUnionidRelatedId);
RedisUtil.setCache(key, dto, 60L);
RedisUtil.setCache(key, dto, 180L);
RedisUtil.unlock(lockKey);
return null;
}
dto.setUnionid(dto.getUnionid() == null ? midRelatedDto.getUnionid() : dto.getUnionid());
dto.setExternalUserid(dto.getExternalUserid() == null ? midRelatedDto.getExternalUserid() : dto.getExternalUserid());
dto.setSelfExternalUserid(dto.getSelfExternalUserid() == null ? midRelatedDto.getSelfExternalUserid() : dto.getSelfExternalUserid());
dto.setMemberUnionidRelatedId(midRelatedDto.getMemberUnionidRelatedId());
dto.setAvatar(dto.getAvatar() == null ? midRelatedDto.getAvatar() : dto.getAvatar());
List<MemberUnionidRelatedDTO> relatedDTOS = memberUnionRelatedService.listBySelfExternalUserId(dto.getWxUserId(), dto.getWxEnterpriseId(), dto.getSelfExternalUserid());
//老的关联需要删除
if (CollectionUtils.isNotEmpty(relatedDTOS)) {
relatedDTOS.stream().filter(mid -> (!mid.getMemberUnionidRelatedId().equals(midRelatedDto.getMemberUnionidRelatedId())))
.forEach(mid -> {
mid.setStatusFlag(0);
memberUnionRelatedService.update(mid);
});
}
memberUnionRelatedService.update(dto);
RedisUtil.unlock(lockKey);
RedisUtil.delCache(key);
return dto;
}
......
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