diff --git a/src/main/java/com/example/cosmos_serversb/entities/Shop.java b/src/main/java/com/example/cosmos_serversb/entities/Shop.java new file mode 100644 index 0000000..11b6c42 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/entities/Shop.java @@ -0,0 +1,65 @@ +package com.example.cosmos_serversb.entities; + +import com.example.cosmos_serversb.views.ShopsView; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonView; + +import java.util.HashSet; +import java.util.Set; + +public class Shop { + /** + * SHOP用のクラス + * + * @param longitude string + * @param latitude String + * @param longitudeRange String + * @param latitudeRange String + * @param shop String + * + */ + @JsonInclude(JsonInclude.Include.NON_NULL) + public String longitude; + @JsonView(ShopsView.getShopsView.class) + public String latitude; + @JsonView(ShopsView.getShopsView.class) + public String longitudeRange; + public String latitudeRange; + public String shop; + + public Set shops = new HashSet<>(); + + public Shop() { + } + + public Shop(String longitude, String latitude, String longitudeRange, String latitudeRange, String shop) { + setlongitude(longitude); + setlatitude(latitude); + setlongitudeRange(longitudeRange); + setlatitudeRange(latitudeRange); + setshop(shop); + } + + public void setlongitude(String longitude) { + this.longitude = longitude; + } + + public void setlatitude(String latitude) { + this.latitude = latitude; + } + + public void setlongitudeRange(String longitudeRange) { + this.longitudeRange = longitudeRange; + } + + public void setlatitudeRange(String latitudeRange) { + this.latitudeRange = latitudeRange; + } + + public void setshop(String shop) { + this.shop = shop; + } + +} \ No newline at end of file diff --git a/src/main/java/com/example/cosmos_serversb/models/Shops.java b/src/main/java/com/example/cosmos_serversb/models/Shops.java new file mode 100644 index 0000000..cc26d93 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/models/Shops.java @@ -0,0 +1,37 @@ +package com.example.cosmos_serversb.models; + +import com.example.common.LogUtils; +import com.example.cosmos_serversb.entities.*; +import org.hibernate.Session; +import org.hibernate.SessionFactory; + +import javax.inject.Singleton; + +@Singleton +public class Shops { + + private static Shops theInstance = null; + private static SessionFactory sessionFactory; + private static String baseURI="http://nitta-lab-www.is.konan-u.ac.jp/"; + private static String AppName="cosmos"; + + private Shops() { + sessionFactory = SessionFactoryManager.getInstance().getSessionFactory(); + } + + public static Shops getInstance() { + if (theInstance == null) { + theInstance = new Shops(); + } + return theInstance; + } + + public static Shop getShop(String longitude, String latitude, String longitudeRange, String latitudeRange, String shop) { + String uri = baseURI + AppName +shop; + + Session session = SessionManager.getInstance().getSession(); + Shop testShop = new Shop(longitude,latitude,longitudeRange,latitudeRange,shop); + session.save(testShop); + return testShop; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/cosmos_serversb/resources/ShopsRest.java b/src/main/java/com/example/cosmos_serversb/resources/ShopsRest.java new file mode 100644 index 0000000..98fb8a0 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/resources/ShopsRest.java @@ -0,0 +1,32 @@ +package com.example.cosmos_serversb.resources; + +import com.example.common.LogUtils; +import com.example.cosmos_serversb.models.SessionManager; +import com.example.cosmos_serversb.models.Shops; +import com.example.cosmos_serversb.views.UsersView; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.stereotype.Component; + +import javax.ws.rs.*; +import com.example.cosmos_serversb.views.ShopsView; + +@Component + +@Path("/shops") +public class ShopsRest { + + @GET + public String getShopsInfo(@QueryParam("longitude") String longitude, + @QueryParam("latitude") String latitude, + @QueryParam("longitudeRange") String longitudeRange, + @QueryParam("latitudeRange") String latitudeRange, + @QueryParam("shop") String shop)throws JsonProcessingException { + SessionManager.getInstance().getSession(); + ObjectMapper mapper = new ObjectMapper(); + String json = mapper.writerWithView(ShopsView.getShopsView.class).writeValueAsString(Shops.getInstance().getShop(longitude,latitude,longitudeRange,latitudeRange,shop)); + SessionManager.getInstance().closeSession(); + LogUtils.info("位置情報を取得"); + return json; + } +} diff --git a/src/main/java/com/example/cosmos_serversb/views/ShopsView.java b/src/main/java/com/example/cosmos_serversb/views/ShopsView.java new file mode 100644 index 0000000..3346f75 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/views/ShopsView.java @@ -0,0 +1,8 @@ +package com.example.cosmos_serversb.views; + +public class ShopsView { + public class postShopsView{} + public class getShopsView{} + public class putShopsView{} +} +