웹/Spring vue 웹 개발

spring vue 장바구니 04

컴퓨터과학 2023. 6. 10. 00:31

장바구니쪽을 조금 생각을 해봤는데요. db쪽을 좀더 바꿀것 같습니다.
기존에는 
주문상품들이 있는지 확인해서 카운팅만 업데이트 해주려고 했는데요.
곰곰히 생각해보니 데이터를 insert를 쭉 시키고 
어차피 update에서 상태만 바꿔줄거여서 db를 다시한번 변경해야할듯합니다. 
현재 코드 상태 :(변경 예정) 

 @PostMapping("/Basket/Post")
    public ResponseEntity<?> PostBaskets(@RequestBody Baskets baskets, HttpServletRequest request) {
        HttpSession session = request.getSession(false);
        if (session == null || session.getAttribute("user") == null) {
            // 세션에 사용자 정보가 없으면 로그인 페이지로 리다이렉트
            return ResponseEntity.badRequest().build();
        }
        //유저
        String userId="";
        Object attribute = session.getAttribute("user");
        if (attribute instanceof org.springframework.security.core.userdetails.User) {
            org.springframework.security.core.userdetails.User user = (org.springframework.security.core.userdetails.User) attribute;
           // notice.setUsername(user.getUsername());
              userId=user.getUsername();
        }
        baskets.getBasketId().setUsersId(userId);

        //날짜
        LocalDateTime currentDateTime = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        String formattedDateTime = currentDateTime.format(formatter);
        baskets.getBasketId().setDate(formattedDateTime);

        //TODO
        //날짜 갯수카운팅 후 데이터 변경 상품, 유저아이디 체크할것
        baskets.setCount(1L);
        try{
            basketService.save(baskets);
        }catch (Exception e){
            return ResponseEntity.badRequest().build();
        }
        return ResponseEntity.ok().build();
    }