mirror of
https://github.com/won-ktds/smarketing-backend.git
synced 2025-12-06 07:06:24 +00:00
fix store
This commit is contained in:
parent
9ec87678d3
commit
4f87b5f726
@ -4,10 +4,12 @@ import com.won.smarketing.common.dto.ApiResponse;
|
|||||||
import com.won.smarketing.store.dto.SalesResponse;
|
import com.won.smarketing.store.dto.SalesResponse;
|
||||||
import com.won.smarketing.store.service.SalesService;
|
import com.won.smarketing.store.service.SalesService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@ -26,12 +28,16 @@ public class SalesController {
|
|||||||
/**
|
/**
|
||||||
* 매출 정보 조회
|
* 매출 정보 조회
|
||||||
*
|
*
|
||||||
|
* @param storeId 가게 ID
|
||||||
* @return 매출 정보 (오늘, 월간, 전일 대비)
|
* @return 매출 정보 (오늘, 월간, 전일 대비)
|
||||||
*/
|
*/
|
||||||
@Operation(summary = "매출 조회", description = "오늘 매출, 월간 매출, 전일 대비 매출 정보를 조회합니다.")
|
@Operation(summary = "매출 조회", description = "오늘 매출, 월간 매출, 전일 대비 매출 정보를 조회합니다.")
|
||||||
@GetMapping
|
@GetMapping("/{storeId}")
|
||||||
public ResponseEntity<ApiResponse<SalesResponse>> getSales() {
|
public ResponseEntity<ApiResponse<SalesResponse>> getSales(
|
||||||
SalesResponse response = salesService.getSales();
|
@Parameter(description = "가게 ID", required = true)
|
||||||
|
@PathVariable Long storeId
|
||||||
|
) {
|
||||||
|
SalesResponse response = salesService.getSales(storeId);
|
||||||
return ResponseEntity.ok(ApiResponse.success(response));
|
return ResponseEntity.ok(ApiResponse.success(response));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -58,17 +58,17 @@ public class StoreController {
|
|||||||
/**
|
/**
|
||||||
* 매장 정보 수정
|
* 매장 정보 수정
|
||||||
*
|
*
|
||||||
* @param storeId 수정할 매장 ID
|
* //@param storeId 수정할 매장 ID
|
||||||
* @param request 매장 수정 요청 정보
|
* @param request 매장 수정 요청 정보
|
||||||
* @return 수정된 매장 정보
|
* @return 수정된 매장 정보
|
||||||
*/
|
*/
|
||||||
@Operation(summary = "매장 수정", description = "매장 정보를 수정합니다.")
|
@Operation(summary = "매장 수정", description = "매장 정보를 수정합니다.")
|
||||||
@PutMapping("/{storeId}")
|
@PutMapping()
|
||||||
public ResponseEntity<ApiResponse<StoreResponse>> updateStore(
|
public ResponseEntity<ApiResponse<StoreResponse>> updateStore(
|
||||||
@Parameter(description = "매장 ID", required = true)
|
@Parameter(description = "매장 ID", required = true)
|
||||||
@PathVariable Long storeId,
|
// @PathVariable Long storeId,
|
||||||
@Valid @RequestBody StoreUpdateRequest request) {
|
@Valid @RequestBody StoreUpdateRequest request) {
|
||||||
StoreResponse response = storeService.updateStore(storeId, request);
|
StoreResponse response = storeService.updateStore(request);
|
||||||
return ResponseEntity.ok(ApiResponse.success(response, "매장 정보가 성공적으로 수정되었습니다."));
|
return ResponseEntity.ok(ApiResponse.success(response, "매장 정보가 성공적으로 수정되었습니다."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,7 @@ public class Menu {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
@Column(name = "menu_id")
|
@Column(name = "menu_id")
|
||||||
private Long id;
|
private Long menuId;
|
||||||
|
|
||||||
@Column(name = "store_id", nullable = false)
|
@Column(name = "store_id", nullable = false)
|
||||||
private Long storeId;
|
private Long storeId;
|
||||||
|
|||||||
@ -5,6 +5,8 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
|||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 메뉴 정보 데이터 접근을 위한 Repository
|
* 메뉴 정보 데이터 접근을 위한 Repository
|
||||||
|
|||||||
@ -79,6 +79,7 @@ public class MenuServiceImpl implements MenuService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public MenuResponse updateMenu(Long menuId, MenuUpdateRequest request) {
|
public MenuResponse updateMenu(Long menuId, MenuUpdateRequest request) {
|
||||||
|
|
||||||
Menu menu = menuRepository.findById(menuId)
|
Menu menu = menuRepository.findById(menuId)
|
||||||
.orElseThrow(() -> new BusinessException(ErrorCode.MENU_NOT_FOUND));
|
.orElseThrow(() -> new BusinessException(ErrorCode.MENU_NOT_FOUND));
|
||||||
|
|
||||||
@ -117,7 +118,7 @@ public class MenuServiceImpl implements MenuService {
|
|||||||
*/
|
*/
|
||||||
private MenuResponse toMenuResponse(Menu menu) {
|
private MenuResponse toMenuResponse(Menu menu) {
|
||||||
return MenuResponse.builder()
|
return MenuResponse.builder()
|
||||||
.menuId(menu.getId())
|
.menuId(menu.getMenuId())
|
||||||
.menuName(menu.getMenuName())
|
.menuName(menu.getMenuName())
|
||||||
.category(menu.getCategory())
|
.category(menu.getCategory())
|
||||||
.price(menu.getPrice())
|
.price(menu.getPrice())
|
||||||
|
|||||||
@ -13,5 +13,5 @@ public interface SalesService {
|
|||||||
*
|
*
|
||||||
* @return 매출 정보
|
* @return 매출 정보
|
||||||
*/
|
*/
|
||||||
SalesResponse getSales();
|
SalesResponse getSales(Long storeId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.won.smarketing.store.service;
|
|||||||
import com.won.smarketing.store.dto.SalesResponse;
|
import com.won.smarketing.store.dto.SalesResponse;
|
||||||
import com.won.smarketing.store.entity.Sales;
|
import com.won.smarketing.store.entity.Sales;
|
||||||
import com.won.smarketing.store.repository.SalesRepository;
|
import com.won.smarketing.store.repository.SalesRepository;
|
||||||
|
import com.won.smarketing.store.repository.StoreRepository;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@ -21,6 +22,7 @@ import java.util.List;
|
|||||||
public class SalesServiceImpl implements SalesService {
|
public class SalesServiceImpl implements SalesService {
|
||||||
|
|
||||||
private final SalesRepository salesRepository;
|
private final SalesRepository salesRepository;
|
||||||
|
private final StoreRepository storeRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 매출 정보 조회
|
* 매출 정보 조회
|
||||||
@ -28,10 +30,7 @@ public class SalesServiceImpl implements SalesService {
|
|||||||
* @return 매출 정보 (오늘, 월간, 전일 대비)
|
* @return 매출 정보 (오늘, 월간, 전일 대비)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SalesResponse getSales() {
|
public SalesResponse getSales(Long storeId) {
|
||||||
// TODO: 현재는 더미 데이터 반환, 실제로는 현재 로그인한 사용자의 매장 ID를 사용해야 함
|
|
||||||
Long storeId = 1L; // 임시로 설정
|
|
||||||
|
|
||||||
// 오늘 매출 계산
|
// 오늘 매출 계산
|
||||||
BigDecimal todaySales = calculateSalesByDate(storeId, LocalDate.now());
|
BigDecimal todaySales = calculateSalesByDate(storeId, LocalDate.now());
|
||||||
|
|
||||||
|
|||||||
@ -36,9 +36,9 @@ public interface StoreService {
|
|||||||
/**
|
/**
|
||||||
* 매장 정보 수정
|
* 매장 정보 수정
|
||||||
*
|
*
|
||||||
* @param storeId 매장 ID
|
* //@param storeId 매장 ID
|
||||||
* @param request 매장 수정 요청 정보
|
* @param request 매장 수정 요청 정보
|
||||||
* @return 수정된 매장 정보
|
* @return 수정된 매장 정보
|
||||||
*/
|
*/
|
||||||
StoreResponse updateStore(Long storeId, StoreUpdateRequest request);
|
StoreResponse updateStore(StoreUpdateRequest request);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -104,14 +104,16 @@ public class StoreServiceImpl implements StoreService {
|
|||||||
/**
|
/**
|
||||||
* 매장 정보 수정
|
* 매장 정보 수정
|
||||||
*
|
*
|
||||||
* @param storeId 매장 ID
|
* //@param storeId 매장 ID
|
||||||
* @param request 매장 수정 요청 정보
|
* @param request 매장 수정 요청 정보
|
||||||
* @return 수정된 매장 정보
|
* @return 수정된 매장 정보
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public StoreResponse updateStore(Long storeId, StoreUpdateRequest request) {
|
public StoreResponse updateStore(StoreUpdateRequest request) {
|
||||||
Store store = storeRepository.findById(storeId)
|
String userId = getCurrentUserId();
|
||||||
|
|
||||||
|
Store store = storeRepository.findByUserId(userId)
|
||||||
.orElseThrow(() -> new BusinessException(ErrorCode.STORE_NOT_FOUND));
|
.orElseThrow(() -> new BusinessException(ErrorCode.STORE_NOT_FOUND));
|
||||||
|
|
||||||
// 매장 정보 업데이트
|
// 매장 정보 업데이트
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user