add-既存の食材の場合

dev-backend-stocks
zhang.pengcheng 5 months ago
parent e40755598f
commit cb2ffbd493
  1. 22
      backend/src/main/java/com/example/todoapp/controller/ToBuysController.java
  2. 18
      backend/src/main/java/com/example/todoapp/dto/ToBuyDTO.java
  3. 12
      backend/src/main/java/com/example/todoapp/repository/StuffsRepository.java
  4. 9
      backend/src/main/java/com/example/todoapp/repository/ToBuysRepository.java
  5. 51
      backend/src/main/java/com/example/todoapp/service/ToBuysService.java

@ -0,0 +1,22 @@
package com.example.todoapp.controller;
import com.example.todoapp.dto.ToBuyDTO;
import com.example.todoapp.service.ToBuysService;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/tobuy/add")
public class ToBuysController {
@Autowired
private ToBuysService toBuysService;
@PostMapping
public ResponseEntity<String> addToBuys(@Valid @RequestBody ToBuyDTO dto) {
toBuysService.addToBuys(dto);
return ResponseEntity.ok("Item added to 'To Buys' successfully");
}
}

@ -0,0 +1,18 @@
package com.example.todoapp.dto;
import lombok.Data;
/**
* カテゴリDTOクラス
* このクラスはタスクのカテゴリ情報を表します
* カテゴリは名前所有ユーザーなどの情報を持ちます
*
*/
@Data
public class ToBuyDTO {
private Long stuffsId;
private Long userId;
private int amount;
private String store;
}

@ -0,0 +1,12 @@
package com.example.todoapp.repository;
import com.example.todoapp.model.Stuffs;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.Optional;
@Repository
public interface StuffsRepository extends JpaRepository<Stuffs, Long> {
Optional<Stuffs> findById(Long id);
}

@ -0,0 +1,9 @@
package com.example.todoapp.repository;
import com.example.todoapp.model.ToBuys;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ToBuysRepository extends JpaRepository<ToBuys, Integer> {
}

@ -0,0 +1,51 @@
package com.example.todoapp.service;
import com.example.todoapp.dto.ToBuyDTO;
import com.example.todoapp.model.Stuffs;
import com.example.todoapp.model.ToBuys;
import com.example.todoapp.model.User;
import com.example.todoapp.repository.StuffsRepository;
import com.example.todoapp.repository.ToBuysRepository;
import com.example.todoapp.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Optional;
@Service
public class ToBuysService {
@Autowired
private ToBuysRepository toBuysRepository;
@Autowired
private UserRepository userRepository;
@Autowired
private StuffsRepository stuffsRepository;
public void addToBuys(ToBuyDTO toBuyDTO) {
//get user
Optional<User> user = userRepository.findById(toBuyDTO.getUserId());
if (!user.isPresent()) {
throw new RuntimeException("no: " + toBuyDTO.getUserId());
}
//get stuffs
Optional<Stuffs> stuffs = stuffsRepository.findById(toBuyDTO.getStuffsId());
if (!stuffs.isPresent()) {
throw new RuntimeException("材料不存在");
}
ToBuys toBuys = new ToBuys();
toBuys.setUser_id(user.get());
toBuys.setStuffs(stuffs.get());
toBuys.setAmount(toBuyDTO.getAmount());
toBuys.setStore(toBuyDTO.getStore());
// 保存到数据库
toBuysRepository.save(toBuys);
}
}
Loading…
Cancel
Save