localhost-back/src/main/java/io/company/localhost/controller/api/ProjectController.java
2025-02-18 11:14:52 +09:00

145 lines
4.0 KiB
Java

/************************************************************
*
* @packageName : io.company.localhost.controller.api
* @fileName : ProjectListController.java
* @author : 박지윤
* @date : 25.02.10
* @description : 프로젝트 목록
*
* ===========================================================
* DATE AUTHOR NOTE
* -----------------------------------------------------------
* 25.02.10 박지윤 최초 생성
*
*************************************************************/
package io.company.localhost.controller.api;
import java.util.List;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import io.company.localhost.common.annotation.ParameterCheck;
import io.company.localhost.common.annotation.ReqMap;
import io.company.localhost.common.dto.ApiResponse;
import io.company.localhost.common.dto.MapDto;
import io.company.localhost.service.NetprojctService;
import io.company.localhost.service.commoncodService;
import io.company.localhost.utils.AuthUtil;
import io.company.localhost.vo.MemberVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@RestController
@RequestMapping("/api/project")
@RequiredArgsConstructor
@Slf4j
public class ProjectController {
private final commoncodService commoncodservice;
private final NetprojctService netprojctService;
/**
* 프로젝트 연도 조회
*
* @return ApiResponse<List<MapDto>>
*
*/
@ParameterCheck
@GetMapping("/yearCategory")
public ApiResponse<List<MapDto>> selectYearCategories() {
List<MapDto> yearCategory = commoncodservice.selectYearCategories();
return ApiResponse.ok(yearCategory);
}
/**
* 프로젝트 목록 조회
*
* * @return ApiResponse<List<MapDto>>
*
*/
@ParameterCheck
@GetMapping("/select")
public ApiResponse<MapDto> selectProject() {
List<MapDto> projectList = netprojctService.selectProject();
MapDto outData = new MapDto();
outData.put("projectList", projectList);
return ApiResponse.ok(outData);
}
/**
* 프로젝트 등록
*
* @param map
* @return ApiResponse<Integer>
*/
@PostMapping("/insert")
public ApiResponse<Integer> insertProject(@ReqMap MapDto map) {
int project = netprojctService.insertProject(map);
return ApiResponse.ok(project);
}
/**
* 프로젝트 수정
*
* @param map
* @return ApiResponse<Boolean>
*
*/
@PatchMapping("/update")
public ApiResponse<Boolean> updateProject(@ReqMap MapDto map) {
boolean isUpdate = netprojctService.updateProject(map);
return ApiResponse.ok(isUpdate);
}
/**
* 비밀번호 재설정
*
* @param map
* @return ApiResponse<Boolean>
*
*/
@PatchMapping("/updateYon")
public ApiResponse<Boolean> updateProjectMember(@ReqMap MapDto map) {
boolean isMember = netprojctService.updateProjectMember(map);
return ApiResponse.ok(isMember);
}
/**
* 프로젝트 멤버리스트 조회
*
* * @return ApiResponse<List<MapDto>>
*
*/
@ParameterCheck
@GetMapping("/members/{projctSeq}")
public ApiResponse<List<MapDto>> selectProjectMembers(@PathVariable int projctSeq) {
return ApiResponse.ok(netprojctService.getProjectMembers(projctSeq));
}
/**
* 프로젝트 log 조회
*
* * @return ApiResponse<List<MapDto>>
*
*/
@ParameterCheck
@GetMapping("/log/{projctSeq}")
public ApiResponse<List<MapDto>> selectProjectLog(@PathVariable int projctSeq) {
return ApiResponse.ok(netprojctService.selectProjectLog(projctSeq));
}
}