diff --git a/src/main/java/org/ntlab/nemophila/models/accounts/Account.java b/src/main/java/org/ntlab/nemophila/models/accounts/Account.java index 61edc30..3547dc6 100644 --- a/src/main/java/org/ntlab/nemophila/models/accounts/Account.java +++ b/src/main/java/org/ntlab/nemophila/models/accounts/Account.java @@ -62,8 +62,8 @@ //新規投稿 - public Post createPost(String sid, int rate, String genre, String comment, String image1, String image2, String image3) { - Post post = new Post(this, genre, rate, sid); + public Post createPost(Shop shop, int rate, String genre, String comment, String image1, String image2, String image3) { + Post post = new Post(this, genre, rate, shop); //pidの登録.始めの投稿が"1" post.setId(String.valueOf(newPid)); newPid++; @@ -74,6 +74,7 @@ post.setComment(comment); posts.put(post.getId(), post); + shop.addPost(post); return post; } diff --git a/src/main/java/org/ntlab/nemophila/models/accounts/Post.java b/src/main/java/org/ntlab/nemophila/models/accounts/Post.java index 84cbf94..96cd42a 100644 --- a/src/main/java/org/ntlab/nemophila/models/accounts/Post.java +++ b/src/main/java/org/ntlab/nemophila/models/accounts/Post.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import org.ntlab.nemophila.models.shops.Shop; public class Post { @JsonProperty("id") @@ -18,16 +19,16 @@ private int rate; @JsonProperty("comment") private String comment; - @JsonProperty("sid") - private String sid; @JsonIgnore private Account owner; + @JsonIgnore + private Shop shop; - public Post(Account owner, String genre, int rate, String sid){ + public Post(Account owner, String genre, int rate, Shop shop){ this.owner = owner; this.genre = genre; this.rate = rate; - this.sid = sid; + this.shop = shop; } //Getter @@ -52,12 +53,12 @@ public String getComment() { return comment; } - public String getSid() { - return sid; - } public Account getOwner() { return owner; } + public Shop getShop() { + return shop; + } //Setter public void setId(String id) { diff --git a/src/main/java/org/ntlab/nemophila/resources/accounts/AccountPostsRest.java b/src/main/java/org/ntlab/nemophila/resources/accounts/AccountPostsRest.java index c94c2fb..3345ac4 100644 --- a/src/main/java/org/ntlab/nemophila/resources/accounts/AccountPostsRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/accounts/AccountPostsRest.java @@ -22,9 +22,14 @@ public String postAccountPost(@PathParam("uid") String uid, @FormParam("token") String token, @FormParam("sid") String sid, @FormParam("rate") int rate, @FormParam("genre") String genre, @FormParam("comment") String comme, @FormParam("image1") String img1, @FormParam("image2") String img2, @FormParam("image3") String img3) { + //この時点で新規投稿店舗の場合は、shopが生成されている想定 + // アカウントインスタンスを生成する AccountManager am = AccountManager.getInstance(); Account account = am.getAccount(uid); + //ショップインスタンスを生成する + ShopManager sm = ShopManager.getInstance(); + Shop shop = sm.getShop(sid); /* (対象のアカウントインスタンスが) @@ -32,8 +37,7 @@ 存在しない場合:何も返さない */ if (account != null && account.getToken().equals(token)) { - Post post = account.createPost(sid, rate, genre, comme, img1, img2, img3); - + Post post = account.createPost(shop, rate, genre, comme, img1, img2, img3); return post.getId(); } diff --git a/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java b/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java index ea3df8d..cbea99a 100644 --- a/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java @@ -54,33 +54,27 @@ //相手が既にフレンドの時か、相手から申請を受けている時は実行できない //同じ相手にもう一度申請を送る時は前のものを消して再送(重複しないように、かつArrayListの時系列順を更新できるように) String acToken = ac.getToken(); - if(token.equals(acToken)) { - if(!(acFriends.contains(acTo))) { - if (!(acToRequesting.contains(ac) || acRequested.contains(acTo))) { - if (acRequesting.contains(acTo)) { - fm.removeRequesting(acTo); - } - fm.addRequesting(acTo); - - if (acToRequested.contains(ac)) { - fmTo.removeRequested(ac); - } - fmTo.addRequested(ac); - } else { - var response = Response.status(Response.Status.NO_CONTENT); - response.status(400).entity("リクエストが不正です"); - throw new WebApplicationException(response.build()); - } - }else{ - var response = Response.status(Response.Status.NO_CONTENT); - response.status(400).entity("リクエストが不正です"); - throw new WebApplicationException(response.build()); - } - }else{ + if(!(token.equals(acToken))) { var response = Response.status(Response.Status.NO_CONTENT); response.status(401).entity("認証に失敗しました"); throw new WebApplicationException(response.build()); } + + if(!(acFriends.contains(acTo) || (acToRequesting.contains(ac) || acRequested.contains(acTo)) ) ){ + if (acRequesting.contains(acTo)) { + fm.removeRequesting(acTo); + } + fm.addRequesting(acTo); + + if (acToRequested.contains(ac)) { + fmTo.removeRequested(ac); + } + fmTo.addRequested(ac); + }else{ + var response = Response.status(Response.Status.NO_CONTENT); + response.status(400).entity("リクエストが不正です"); + throw new WebApplicationException(response.build()); + } } @DELETE diff --git a/src/main/java/org/ntlab/nemophila/resources/shops/ShopPostsRest.java b/src/main/java/org/ntlab/nemophila/resources/shops/ShopPostsRest.java index a72b159..7ded7cd 100644 --- a/src/main/java/org/ntlab/nemophila/resources/shops/ShopPostsRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/shops/ShopPostsRest.java @@ -29,21 +29,6 @@ return null; } - @PUT - @Path("{sid}/posts/{uid}/{pid}") - public void putPost(@PathParam("sid") String sid, - @PathParam("uid") String uid, - @PathParam("pid") String pid){ - ShopManager sm = ShopManager.getInstance(); - Shop shop = sm.getShop(sid); - AccountManager am = AccountManager.getInstance(); - Account ac = am.getAccount(uid); - - //店舗ごとの投稿を追加する - shop.addPost(ac.getPost(pid)); - - } - @DELETE @Path("{sid}/posts/{uid}/{pid}") public void deletePost(@PathParam("sid") String sid,