Skip to content

Commit

Permalink
refactor: update query
Browse files Browse the repository at this point in the history
  • Loading branch information
doxxx93 committed Feb 22, 2024
1 parent e7abb80 commit 2dc7fc1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,43 +36,40 @@ public interface PaintRepository extends Neo4jRepository<Paint, Long> {
@Query("MATCH path = (u:User {uid: $uid})-[r:CREATES]->(p:Paint)-[us:USES]->(n) RETURN path")
List<Paint> findAllContainingMediaByUid(@Param("uid") Long uid);

@Query("MATCH path = (a:Paint)<-[:CREATES]-(b:User) " +
@Query("MATCH path = (a:Paint)-[:REPLIES*]->(b:Paint) " +
"WHERE a.pid = $pid " +
"WITH [node in nodes(path) WHERE node:Paint] AS intermediateNodes " +
"UNWIND intermediateNodes AS intermediateNode " +
"MATCH (startNode:Paint)<-[r]->(nextNode) " +
"WHERE NOT startNode.pid = $pid AND startNode = intermediateNode AND type(r) <> 'REPLIES' AND type(r) <> 'REPAINTS' AND type(r) <> 'QUOTES' " +
"WHERE startNode = intermediateNode AND type(r) <> 'REPLIES' AND type(r) <> 'REPAINTS' " +
"RETURN startNode, r, nextNode")
List<Paint> findAllBeforePaintByPid(@Param("pid") Long pid);


@Query("MATCH path = (u:User {uid: $uid})-[r:LIKES]->(p:Paint) " +
"WITH [node in nodes(path) WHERE node:Paint] AS intermediateNodes " +
"UNWIND intermediateNodes AS intermediateNode " +
"MATCH (startNode:Paint)<-[r]->(nextNode) " +
"WHERE startNode = intermediateNode AND type(r) <> 'REPLIES' AND type(r) <> 'REPAINTS' AND type(r) <> 'QUOTES' " +
"RETURN startNode, r, nextNode")
List<Paint> findAllLikingByUid(@Param("uid") Long uid);

@Query("MATCH (a:Paint)<-[:REPLIES]-(b:Paint)" +
"WHERE a.pid = $pid " +
"WITH b " +
"MATCH (b)<-[r]->(neighbors) " +
"WHERE NOT b.pid = $pid AND type(r) <> 'REPLIES' AND type(r) <> 'QUOTES' " +
"WHERE NOT type(r) = 'REPLIES' " +
"RETURN b, r, neighbors")
List<Paint> findAllAfterPaintByPid(@Param("pid") Long pid);

@Query("MATCH path=(a:Paint)<-[:REPLIES*]-(b:Paint) " +
@Query("MATCH (a:Paint)<-[:REPLIES*]-(b:Paint)" +
"WHERE a.pid = $pid " +
"WITH path " +
"ORDER BY b.pid DESC " +
"LIMIT 1 " +
"UNWIND nodes(path) as b " +
"WITH b " +
"MATCH (b)<-[r]->(neighbors) " +
"WHERE type(r) <> 'REPLIES' AND type(r) <> 'REPAINTS' AND type(r) <> 'QUOTES' " +
"WHERE NOT type(r) = 'REPLIES' " +
"RETURN b, r, neighbors")
List<Paint> findAllAfterPaintsByPid(@Param("pid") Long pid);


@Query("MATCH path = (u:User {uid: $uid})-[r:LIKES]->(p:Paint) " +
"WITH [node in nodes(path) WHERE node:Paint] AS intermediateNodes " +
"UNWIND intermediateNodes AS intermediateNode " +
"MATCH (startNode:Paint)<-[r]->(nextNode) " +
"WHERE startNode = intermediateNode AND type(r) <> 'REPLIES' AND type(r) <> 'REPAINTS' AND type(r) <> 'QUOTES' " +
"RETURN startNode, r, nextNode")
List<Paint> findAllLikingByUid(@Param("uid") Long uid);

@Query("MATCH (a:Paint)-[r:QUOTES]->(b:Paint)<-[r2]->(c) " +
"WHERE a.pid = $pid AND type(r2) <> 'REPLIES' AND type(r2) <> 'QUOTES' " +
"RETURN b, r2, c")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ public class UserUsecase {

public void likePaint(Long userId, LikePaintRequest likePaintRequest) {
Paint paint = paintService.getPaintById(likePaintRequest.paintId());
kafkaProducer.execute(new LikedPaintEvent(userId, paint.getPid()));
userService.likePaint(userId, paint);
kafkaProducer.execute(new LikedPaintEvent(userId, paint.getPid()));
}

public void follow(Long userId, FollowUserRequest followUserRequest) {
Expand Down Expand Up @@ -64,8 +64,8 @@ public List<PaintResponse> getAllPaintsContainingMedia(Long userId) {
}

public void unlikePaint(final Long userId, final Long paintId) {
kafkaProducer.execute(new UnlikedPaintEvent(userId, paintId));
userService.unlike(userId, paintId);
kafkaProducer.execute(new UnlikedPaintEvent(userId, paintId));
}

@Async
Expand Down

0 comments on commit 2dc7fc1

Please sign in to comment.