Skip to content
Snippets Groups Projects
Commit d1b40f90 authored by John Watkins's avatar John Watkins
Browse files

Changed return value to formatted gson

parent 002ab17d
No related branches found
No related tags found
3 merge requests!114LoggingService service class, new method to add a log to the "Logs" table when...,!106Branch Update,!105Issue thirty
......@@ -23,6 +23,7 @@ repositories {
}
dependencies {
implementation 'com.google.code.gson:gson:2.8.9'
implementation 'commons-io:commons-io:2.8.0'
implementation 'io.jsonwebtoken:jjwt:0.9.1'
implementation 'org.springframework.session:spring-session-jdbc:2.4.3'
......
......@@ -4,11 +4,14 @@ import com.example.clientproject.data.shops.Shops;
import com.example.clientproject.data.shops.ShopsRepo;
import com.example.clientproject.data.tags.Tags;
import com.example.clientproject.data.tags.TagsRepo;
import com.example.clientproject.services.RecommendationGenerator;
import com.google.gson.Gson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpSession;
import java.util.*;
import java.util.stream.Collectors;
......@@ -20,10 +23,14 @@ public class ShopSearch {
@Autowired
TagsRepo tagsRepo;
@Autowired
RecommendationGenerator recommendationGenerator;
@GetMapping("/shop/search")
public String searchShops(@RequestParam(value = "q", required = false) String query,
@RequestParam(value = "p", required = false) Integer page,
@RequestParam(value = "t", required = false) List<String> tags){
@RequestParam(value = "t", required = false) List<String> tags,
HttpSession session) throws Exception {
final Integer ITEMS_PER_PAGE = 6;
//Get all the active shops
......@@ -83,12 +90,33 @@ public class ShopSearch {
}
}
//Convert to required format
//Sort in order of relevance
allShops = recommendationGenerator.getRecommendations(session, allShops);
//Convert to required format
List<HashMap<String, String>> formattedShops = new ArrayList<>();
for(Shops shop : allShops){
HashMap<String,String> data = new HashMap<>();
data.put("name",shop.getShopName());
data.put("banner",shop.getShopBanner());
data.put("id", String.valueOf(shop.getShopId()));
data.put("category",shop.getCategory().getCategoryName());
data.put("website",shop.getShopWebsite());
Integer reward_count = shop.getStampBoard().getRewards().size();
data.put("reward_count",String.valueOf(reward_count));
if(reward_count != 0){
data.put("next_reward_name",shop.getStampBoard().getRewards().get(0).getRewardName());
data.put("next_reward_pos",String.valueOf(shop.getStampBoard().getRewards().get(0).getRewardStampLocation()));
}else{
data.put("next_reward_name","No Rewards");
}
formattedShops.add(data);
}
//Add details such as the amount of rewards
Gson gson = new Gson();
String json = gson.toJson(formattedShops);
return allShops.toString();
return json;
}
......
......@@ -52,6 +52,6 @@ function doSearch(){
url += "&t=" + t.toString()
}
fetch(url)
.then(e=>e.text())
.then(e=>e.json())
.then(data=>console.log(data))
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment