diff --git a/src/main/java/com/example/cosmos_serversb/entities/Request.java b/src/main/java/com/example/cosmos_serversb/entities/Request.java index 4cbe7ae..dc99cc5 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/Request.java +++ b/src/main/java/com/example/cosmos_serversb/entities/Request.java @@ -1,11 +1,18 @@ package com.example.cosmos_serversb.entities; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.Date; public class Request { private String rId; private String uri, IssuerUid, product; - private Date date, deadline; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Tokyo") + private Date date; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Tokyo") + private Date deadline; private int location;// YahooローカルサーチAPIの業種コード private boolean done = false; @@ -13,6 +20,17 @@ } + public Request(String rId, String uri, Date date, String IssuerUid, String product, String deadline, int location){ + setrId(rId); + setUri(uri); + setDate(date); + setIssuerUid(IssuerUid); + setProduct(product); + setDeadline(deadline); + setLocation(location); + this.done = false; + } + public Request(String rId, String uri, Date date, String IssuerUid, String product, Date deadline, int location){ setrId(rId); setUri(uri); @@ -24,6 +42,14 @@ this.done = false; } + public void update(String uId, String product, String deadline, int location, boolean done){ + setIssuerUid(uId); + setProduct(product); + setDeadline(deadline); + setLocation(location); + setDone(done); + } + private void setrId(String rId){ this.rId = rId; } @@ -72,12 +98,26 @@ this.deadline = deadline; } + public void setDeadline(String deadline) { + if(deadline == null) return; + //String型をDate型に変換 + try { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + this.deadline = sdf.parse(deadline); + }catch (ParseException e){ + e.printStackTrace(); + } + } + public int getLocation() { return location; } public void setLocation(int location) { - this.location = location; + //更新の際に上書きされないように + if(location != 0) { + this.location = location; + } } public boolean isDone() { diff --git a/src/main/java/com/example/cosmos_serversb/entities/User.java b/src/main/java/com/example/cosmos_serversb/entities/User.java index 441375f..e4f663a 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/User.java +++ b/src/main/java/com/example/cosmos_serversb/entities/User.java @@ -88,6 +88,9 @@ } public void setUri(String uri) { + + + this.uri = uri; } diff --git a/src/main/java/com/example/cosmos_serversb/jsons/RidUriJson.java b/src/main/java/com/example/cosmos_serversb/jsons/RidUriJson.java index fc873cb..6c5e4f8 100644 --- a/src/main/java/com/example/cosmos_serversb/jsons/RidUriJson.java +++ b/src/main/java/com/example/cosmos_serversb/jsons/RidUriJson.java @@ -12,15 +12,15 @@ } public RidUriJson(Request request){ - setuId(request.getrId()); + setrId(request.getrId()); setUri(request.getUri()); } - private void setuId(String uId) { + private void setrId(String rId) { this.rId = rId; } - public String getuId() { + public String getrId() { return rId; } diff --git a/src/main/java/com/example/cosmos_serversb/models/Groups.java b/src/main/java/com/example/cosmos_serversb/models/Groups.java index 9e8965f..811fec5 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -75,7 +75,6 @@ if(editGroup == null){ return DeleteResult.FAILURE; } - //以下に削除処理を行う。 return DeleteResult.SUCCESS; } @@ -91,11 +90,9 @@ session.update(editGroup); //UsersMapJson usersMapJson = new UsersMapJson(editGroup); return editGroup; - }else{ - //例外処理 - return null; } - + //例外処理 + return null; } public static HashMap deleteMember(String gId, String uId){ @@ -129,11 +126,10 @@ return null; } - public static Request addRequests(String gId, String uId, String product, Date deadline, int location){ - //テスト用 + public static Request addRequests(String gId, String uId, String product, String deadline, int location){ String rId = getInstance().createRId(); String uri = baseURI + AppName + "/groups/" + gId + "/requests/" + rId; - Request request = new Request(rId, uri, new Date(1999,01,01), uId, product, deadline, location); + Request request = new Request(rId, uri, new Date(), uId, product, deadline, location); Session session = SessionManager.getInstance().getSession(); Group editGroup = session.get(Group.class, gId); @@ -150,12 +146,20 @@ return null; } - public static Request updateRequest(String gId, String rId, String uId, String product, Date deadline, int location, boolean done){ + public static Request updateRequest(String gId, String rId, String uId, String product, String deadline, int location, boolean done){ + Session session = SessionManager.getInstance().getSession(); + Request editRequest = session.get(Request.class, rId); + if(editRequest != null){ + editRequest.update(uId, product, deadline, location, done); + session.update(editRequest); + } + //例外処理 + return null; - //テスト用 - Request testRequest = new Request(rId, "http://test.com", new Date(1999,01,01), uId, product, new Date(1999,12,01), 999); - - return testRequest; +// //テスト用 +// Request testRequest = new Request(rId, "http://test.com", new Date(), uId, product, new Date(), 999); +// +// return testRequest; } public static DeleteResult deleteRequest(String gId, String rId){ diff --git a/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java b/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java index b2c1024..f5080bb 100644 --- a/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java +++ b/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java @@ -124,7 +124,7 @@ @Path("/{gId}/requests") @POST - public String addRequests(@PathParam("gId") String gId, @FormParam("uId") String uId, @FormParam("product") String product, @FormParam("deadline") Date deadline, @FormParam("location") int location, @FormParam("token") String token) throws JsonProcessingException{ + public String addRequests(@PathParam("gId") String gId, @FormParam("uId") String uId, @FormParam("product") String product, @FormParam("deadline") String deadline, @FormParam("location") int location, @FormParam("token") String token) throws JsonProcessingException{ SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Groups.getInstance().addRequests(gId, uId, product, deadline, location)); @@ -144,7 +144,7 @@ @Path("{gId}/requests/{rId}") @PUT - public String updateRequest(@PathParam("gId") String gId, @PathParam("rId") String rId, @FormParam("uId") String uId, @FormParam("product") String product, @FormParam("deadline") Date deadline, @FormParam("location") int location, @FormParam("done") boolean done, @FormParam("token") String token) throws JsonProcessingException{ + public String updateRequest(@PathParam("gId") String gId, @PathParam("rId") String rId, @FormParam("uId") String uId, @FormParam("product") String product, @FormParam("deadline") String deadline, @FormParam("location") int location, @FormParam("done") boolean done, @FormParam("token") String token) throws JsonProcessingException{ SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Groups.getInstance().updateRequest(gId, rId, uId, product, deadline, location, done));