#3 - исправление NPE для загрузки фото
This commit is contained in:
@@ -44,6 +44,7 @@ public class AuthController {
|
||||
Visitor visitor = visitorsRepository.findById(Long.valueOf(decodeArr[0]))
|
||||
.orElseThrow();
|
||||
|
||||
log.info("Попытка авторизации пользователя {}", visitor.getId());
|
||||
Integer visitorCode = visitor.getCode();
|
||||
if (visitorCode == null) {
|
||||
return new AuthResponseDto(null, "Повторите запрос кода из бота");
|
||||
@@ -66,6 +67,7 @@ public class AuthController {
|
||||
return new AuthResponseDto(null, "Не найдет пользователь " + login);
|
||||
}
|
||||
Visitor visitor = visitorOpt.get();
|
||||
log.info("Попытка авторизации пользователя {}", visitor.getId());
|
||||
if (passwordEncoder.matches(password, visitor.getPassword())) {
|
||||
return new AuthResponseDto(jwtTokenProvider.generateToken(visitor), null);
|
||||
} else {
|
||||
@@ -77,6 +79,7 @@ public class AuthController {
|
||||
public AuthResponseDto refreshToken(@RequestHeader("Authorization") String token) {
|
||||
Claims claims = jwtTokenProvider.extractAllClaims(token);
|
||||
Long visitorId = claims.get("id", Long.class);
|
||||
log.info("обновление токена для пользователя {}", visitorId);
|
||||
Visitor visitor = visitorsRepository.findById(visitorId).orElseThrow();
|
||||
return new AuthResponseDto(jwtTokenProvider.generateToken(visitor), null);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package ru.kayashov.bar.controller;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.hibernate.Session;
|
||||
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PatchMapping;
|
||||
@@ -10,14 +11,13 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import ru.kayashov.bar.controller.dto.SessionResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.VisitorResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.bar.BarResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.bar.CategoryResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.bar.GlassResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.ReceiptResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.SessionResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.bar.TagResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.VisitorResponseDto;
|
||||
import ru.kayashov.bar.model.entity.BarEntity;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.ReceiptResponseDto;
|
||||
import ru.kayashov.bar.model.entity.BarResident;
|
||||
import ru.kayashov.bar.model.entity.SessionEntity;
|
||||
import ru.kayashov.bar.model.entity.Unit;
|
||||
@@ -105,12 +105,14 @@ public class BarController {
|
||||
@PostMapping("session")
|
||||
public void changeSessionStatus(@RequestParam Boolean value) {
|
||||
if (value) {
|
||||
sessionService.createEmptySession();
|
||||
SessionEntity entity = sessionService.createEmptySession();
|
||||
log.info("Открыта смена {}", entity.getId());
|
||||
return;
|
||||
}
|
||||
SessionEntity session = sessionService.findActiveSession();
|
||||
session.setIsActive(false);
|
||||
sessionRepository.save(session);
|
||||
log.info("Закрыта смена {}", session.getId());
|
||||
}
|
||||
|
||||
@GetMapping("/getMe")
|
||||
|
||||
@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailFilterRequestDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailForIngredientModalDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailForListResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.ErrorDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailModalDto;
|
||||
@@ -43,6 +44,16 @@ public class CocktailController {
|
||||
return cocktailService.getMenu(dto);
|
||||
}
|
||||
|
||||
@GetMapping("/instructions")
|
||||
public String getInstructions(@RequestParam Long id) {
|
||||
return cocktailService.findInstructions(id);
|
||||
}
|
||||
|
||||
@GetMapping("/byIngredient")
|
||||
public List<CocktailForIngredientModalDto> getByIngredient(@RequestParam Long id) {
|
||||
return cocktailService.findByIngredient(id);
|
||||
}
|
||||
|
||||
@PostMapping("/photo")
|
||||
public String savePhoto(@RequestBody MultipartFile file) throws IOException {
|
||||
if(file == null) {
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package ru.kayashov.bar.controller.dto.cocktail;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CocktailForIngredientModalDto {
|
||||
private Long id;
|
||||
private String name;
|
||||
private RatingResponseDto rating;
|
||||
private String image;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailForIngredientModalDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailModalDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailForListResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.ingredient.IngredientSimpleResponseDto;
|
||||
@@ -224,4 +225,13 @@ public class CocktailMapper {
|
||||
}
|
||||
|
||||
|
||||
public CocktailForIngredientModalDto cocktailToIngredientDtoList(CocktailEntity e) {
|
||||
Visitor visitor = getCurrentVisitor();
|
||||
return CocktailForIngredientModalDto.builder()
|
||||
.id(e.getId())
|
||||
.name(e.getName())
|
||||
.image(e.getImage())
|
||||
.rating(createRatingDto(e.getRating(), visitor))
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,9 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import ru.kayashov.bar.controller.IngredientController;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailFilterRequestDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailForIngredientModalDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailForListResponseDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailModalDto;
|
||||
import ru.kayashov.bar.controller.dto.cocktail.CocktailSimpleResponseDto;
|
||||
@@ -161,7 +163,7 @@ public class CocktailService {
|
||||
}
|
||||
}
|
||||
|
||||
if(dto.getICount() != null) {
|
||||
if (dto.getICount() != null) {
|
||||
log.info("iii");
|
||||
}
|
||||
//
|
||||
@@ -473,4 +475,19 @@ public class CocktailService {
|
||||
log.info("Удален коктейль {}", cocktail);
|
||||
repository.delete(cocktail);
|
||||
}
|
||||
|
||||
public String findInstructions(Long id) {
|
||||
CocktailEntity cocktail = repository.findById(id).orElseThrow(RuntimeException::new);
|
||||
return cocktail.getInstructions();
|
||||
}
|
||||
|
||||
public List<CocktailForIngredientModalDto> findByIngredient(Long id) {
|
||||
return ingredientRepository.findById(id).orElseThrow(RuntimeException::new)
|
||||
.getReceipts()
|
||||
.stream()
|
||||
.map(ReceiptEntity::getCocktail)
|
||||
.distinct()
|
||||
.map(mapper::cocktailToIngredientDtoList)
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user