Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.demo.service.impl;
- import com.example.demo.model.entity.Item;
- import com.example.demo.model.entity.enums.CategoryEnum;
- import com.example.demo.model.entity.enums.GenderEnum;
- import com.example.demo.model.service.ItemAddServiceModel;
- import com.example.demo.repository.ItemRepository;
- import com.example.demo.service.CategoryService;
- import com.example.demo.service.ItemService;
- import com.example.demo.view.ItemDetailsViewModel;
- import com.example.demo.view.ItemViewModel;
- import org.modelmapper.ModelMapper;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Optional;
- @Service
- public class ItemServiceImpl implements ItemService {
- private final ModelMapper modelMapper;
- private final ItemRepository itemRepository;
- private final CategoryService categoryService;
- public ItemServiceImpl(ModelMapper modelMapper, ItemRepository itemRepository, CategoryService categoryService) {
- this.modelMapper = modelMapper;
- this.itemRepository = itemRepository;
- this.categoryService = categoryService;
- }
- @Override
- public void add(ItemAddServiceModel itemAddServiceModel) {
- Item item = modelMapper.map(itemAddServiceModel, Item.class);
- item.setCategory(this.categoryService.findByName(itemAddServiceModel.getCategory()));
- this.itemRepository.save(item);
- }
- @Override
- public long getItemsCount() {
- return this.itemRepository.count();
- }
- @Override
- public List<ItemViewModel> findAllItems() {
- List<Item> items = this.itemRepository.findAll();
- List<ItemViewModel> itemViewModels = new ArrayList<>();
- for (Item item : items) {
- ItemViewModel itemViewModel = this.modelMapper.map(item, ItemViewModel.class);
- itemViewModel.setImgUrl(findImgUrl(item, item.getGender(), item.getCategory().getName()));
- itemViewModels.add(itemViewModel);
- }
- return itemViewModels;
- }
- private String findImgUrl(Item item, GenderEnum gender, CategoryEnum name) {
- if(item.getGender().equals(GenderEnum.MALE) && item.getCategory().getName().equals(CategoryEnum.DENIM)){
- return "/img/MALE-DENIM.jpg";
- }
- else if(item.getGender().equals(GenderEnum.MALE) && item.getCategory().getName().equals(CategoryEnum.JACKET)){
- return "/img/MALE-JACKET.jpg";
- }
- else if(item.getGender().equals(GenderEnum.MALE) && item.getCategory().getName().equals(CategoryEnum.SHIRT)){
- return "/img/MALE-SHIRT.jpg";
- }
- else if(item.getGender().equals(GenderEnum.MALE) && item.getCategory().getName().equals(CategoryEnum.SHORTS)){
- return "/img/MALE-SHORTS.jpg";
- }
- else if(item.getGender().equals(GenderEnum.FEMALE) && item.getCategory().getName().equals(CategoryEnum.DENIM)){
- return "/img/FEMALE-DENIM.jpg";
- }
- else if(item.getGender().equals(GenderEnum.FEMALE) && item.getCategory().getName().equals(CategoryEnum.JACKET)){
- return "/img/FEMALE-JACKET.jpg";
- }
- else if(item.getGender().equals(GenderEnum.FEMALE) && item.getCategory().getName().equals(CategoryEnum.SHIRT)){
- return "/img/FEMALE-SHIRT.jpg";
- }
- else {
- return "/img/FEMALE-SHORTS.jpg";
- }
- }
- @Override
- public ItemDetailsViewModel findItemDetailsById(String id) {
- Optional<Item> item = this.itemRepository.findById(id);
- ItemDetailsViewModel itemDetailsViewModel = this.modelMapper.map(item.get(), ItemDetailsViewModel.class);
- itemDetailsViewModel.setImageUrl(findImgUrl(item.get(), item.get().getGender(), item.get().getCategory().getName()));
- return itemDetailsViewModel;
- }
- @Override
- public void buyById(String id) {
- this.itemRepository.deleteById(id);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement