fix better quantities for UI

This commit is contained in:
Hannes Huber 2020-05-08 13:01:29 +02:00 committed by localhorst
parent bb4aa79243
commit 143a53acf5
4 changed files with 14 additions and 10 deletions

View File

@ -9,11 +9,10 @@ public class GetRandomArticlesAction {
public static List<Article> getRandomArticles(int quantity, List<Article> advertisedArticles) {
List<Article> randomisedArticles = new ArrayList<Article>();
for (int i = 0; i < quantity; i++) {
int loopcount = quantity > advertisedArticles.size() ? advertisedArticles.size() : quantity;
for (int i = 0; i < loopcount; i++) {
int index = (int) (Math.random() * advertisedArticles.size());
randomisedArticles.add(advertisedArticles.remove(index));
if(advertisedArticles.size() == 0)
break;
}
return randomisedArticles;
}

View File

@ -4,7 +4,9 @@ import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.hso.ecommerce.action.shop.GetRandomArticlesAction;
import org.hso.ecommerce.entities.shop.Article;
import org.hso.ecommerce.entities.shop.ShoppingCart;
import org.hso.ecommerce.entities.warehouse.WarehouseBookingPositionSlotEntry;
import org.hso.ecommerce.repos.shop.ArticleRepository;
import org.hso.ecommerce.repos.warehouse.WarehouseBookingPositionSlotEntryRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
@ -27,6 +29,9 @@ public class ShopArticleController {
@Autowired
private final ArticleRepository articleRepository = null;
@Autowired
private final WarehouseBookingPositionSlotEntryRepository warehouseBookingPositionSlotEntryRepository = null;
@GetMapping("/{id}")
public String shopArticlesById(Model model,
@PathVariable("id") Long id,
@ -46,14 +51,15 @@ public class ShopArticleController {
model.addAttribute("article", article);
//TODO: Check if in Stock
if (false) {
//if (warehouseBookingPositionSlotEntryRepository.getByArticle(id).get(0).newSumSlot > 0) { //TODO: use this as soon as warehouse works
if (true) {
model.addAttribute("inStock", true);
} else {
model.addAttribute("inStock", false);
}
List<Article> commercialArticles = GetRandomArticlesAction.getRandomArticles(4, articleRepository.getAdvertisedArticles());
List<Article> commercialArticles = GetRandomArticlesAction.getRandomArticles(3, articleRepository.getAdvertisedArticles());
model.addAttribute("commercialArticles", commercialArticles);

View File

@ -32,7 +32,6 @@ public class ShopIndexController {
List<Article> commercialArticles = GetRandomArticlesAction.getRandomArticles(8, articleRepository.getAdvertisedArticles());
model.addAttribute("commercialArticles", commercialArticles);
boolean isLoggedIn = false;
boolean hasOrders = false;
if (session != null && session.getAttribute("id") != null) {
@ -41,8 +40,8 @@ public class ShopIndexController {
}
if (isLoggedIn) {
List<Article> suggestedArticles = articleRepository.getLastOrderedArticles();
suggestedArticles = suggestedArticles.size() > 3 ? suggestedArticles.subList(0,3) : suggestedArticles; //only latest 4 articles
List<Article> suggestedArticles = articleRepository.getOrderedArticles();
suggestedArticles = suggestedArticles.size() > 3 ? suggestedArticles.subList(0,4) : suggestedArticles; //only latest 4 articles
if (suggestedArticles.size() > 0) {
model.addAttribute("suggestedArticles", suggestedArticles);
hasOrders = true;

View File

@ -22,7 +22,7 @@ public interface ArticleRepository extends JpaRepository<Article, Long> {
@Query("SELECT a FROM CustomerOrderPosition cop JOIN cop.order co JOIN co.customer c JOIN cop.article a ORDER BY co.id DESC")
List<Article> getLastOrderedArticles();
List<Article> getOrderedArticles();
}