프로젝트 목록 리스트
This commit is contained in:
parent
aeb96802f9
commit
f33fd48eef
@ -0,0 +1,116 @@
|
||||
/************************************************************
|
||||
*
|
||||
* @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>> getYearCategories() {
|
||||
List<MapDto> yearCategory = commoncodservice.getYearCategories();
|
||||
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("/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>> getProjectMembers(@PathVariable int projctSeq) {
|
||||
|
||||
return ApiResponse.ok(netprojctService.getProjectMembers(projctSeq));
|
||||
}
|
||||
}
|
||||
@ -1,51 +0,0 @@
|
||||
/************************************************************
|
||||
*
|
||||
* @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.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import io.company.localhost.common.annotation.ParameterCheck;
|
||||
import io.company.localhost.common.dto.ApiResponse;
|
||||
import io.company.localhost.common.dto.MapDto;
|
||||
import io.company.localhost.service.commoncodService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/project")
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class ProjectListController {
|
||||
|
||||
private final commoncodService commoncodservice;
|
||||
|
||||
/**
|
||||
* 프로젝트 년도 조회
|
||||
*
|
||||
* @return ApiResponse<List<MapDto>>
|
||||
*
|
||||
*/
|
||||
@ParameterCheck
|
||||
@GetMapping("/yearCategory")
|
||||
public ApiResponse<List<MapDto>> getYearCategories() {
|
||||
List<MapDto> yearCategory = commoncodservice.getYearCategories();
|
||||
return ApiResponse.ok(yearCategory);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
/************************************************************
|
||||
*
|
||||
* @packageName : io.company.localhost.mapper
|
||||
* @fileName : NetprojctMapper.java
|
||||
* @author : 박지윤
|
||||
* @date : 24.02.13
|
||||
* @description :
|
||||
*
|
||||
* ===========================================================
|
||||
* DATE AUTHOR NOTE
|
||||
* -----------------------------------------------------------
|
||||
* 24.02.13 박지윤 최초 생성
|
||||
*
|
||||
*************************************************************/
|
||||
package io.company.localhost.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import io.company.localhost.common.dto.MapDto;
|
||||
|
||||
@Mapper
|
||||
public interface NetprojctMapper {
|
||||
|
||||
List<MapDto> selectProject();
|
||||
|
||||
int insertProject(MapDto map);
|
||||
|
||||
int insertProjectMember(Integer projctSeq);
|
||||
|
||||
int updateProjectMember(MapDto map);
|
||||
|
||||
List<MapDto> selectProjectMembers(int projctSeq);
|
||||
}
|
||||
@ -0,0 +1,92 @@
|
||||
/************************************************************
|
||||
*
|
||||
* @packageName : io.company.localhost.NetprojctService
|
||||
* @fileName : NetprojctService.java
|
||||
* @author : 박지윤
|
||||
* @date : 25.02.13
|
||||
* @description :
|
||||
*
|
||||
* ===========================================================
|
||||
* DATE AUTHOR NOTE
|
||||
* -----------------------------------------------------------
|
||||
* 25.02.13 박지윤 최초 생성
|
||||
*
|
||||
*************************************************************/
|
||||
package io.company.localhost.service;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import io.company.localhost.common.dto.MapDto;
|
||||
import io.company.localhost.mapper.NetprojctMapper;
|
||||
import io.company.localhost.mapper.commoncodMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class NetprojctService {
|
||||
private final commoncodMapper commoncodMapper;
|
||||
private final NetprojctMapper netprojctMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 프로젝트 목록 조회
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
public List<MapDto> selectProject() {
|
||||
return netprojctMapper.selectProject();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 프로젝트 등록
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
public int insertProject(MapDto map) {
|
||||
map.put("projctCdt", LocalDateTime.now());
|
||||
int result = netprojctMapper.insertProject(map);
|
||||
|
||||
String color = map.getString("projctCol");
|
||||
|
||||
MapDto colorMap = new MapDto();
|
||||
colorMap.put("color", color);
|
||||
colorMap.put("type", "YNP");
|
||||
|
||||
commoncodMapper.updateColorYon(colorMap);
|
||||
|
||||
Integer projctSeq = map.getInt("PROJCTSEQ");
|
||||
|
||||
netprojctMapper.insertProjectMember(projctSeq);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 프로젝트 참여, 미참여 member
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
public boolean updateProjectMember(MapDto map) {
|
||||
return netprojctMapper.updateProjectMember(map) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 프로젝트 멤버리스트 조회
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
public List<MapDto> getProjectMembers(int projctSeq) {
|
||||
return netprojctMapper.selectProjectMembers(projctSeq);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
67
src/main/resources/mapper/netprojctMapper.xml
Normal file
67
src/main/resources/mapper/netprojctMapper.xml
Normal file
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="io.company.localhost.mapper.NetprojctMapper">
|
||||
|
||||
<!-- 프로젝트 목록 조회 -->
|
||||
<select id="selectProject" parameterType="map" resultType="io.company.localhost.common.dto.MapDto">
|
||||
SELECT *
|
||||
FROM netprojct
|
||||
ORDER BY PROJCTSEQ DESC
|
||||
</select>
|
||||
|
||||
<!-- 프로젝트 등록 -->
|
||||
<insert id="insertProject" useGeneratedKeys="true" keyProperty="PROJCTSEQ">
|
||||
INSERT INTO netprojct (
|
||||
PROJCTNAM,
|
||||
PROJCTCOL,
|
||||
PROJCTSTR,
|
||||
PROJCTEND,
|
||||
PROJCTDES,
|
||||
PROJCTARR,
|
||||
PROJCTDTL,
|
||||
PROJCTZIP,
|
||||
PROJCTCDT,
|
||||
PROJCTCMB
|
||||
) VALUES (
|
||||
#{projctNam},
|
||||
#{projctCol},
|
||||
#{projctStr},
|
||||
#{projctEnd},
|
||||
#{projctDes},
|
||||
#{projctAdd},
|
||||
#{projctDtl},
|
||||
#{projctZip},
|
||||
#{projctCdt},
|
||||
#{projctCmb}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 프로젝트 등록 후 모든 사용자 자동 참여 -->
|
||||
<insert id="insertProjectMember">
|
||||
INSERT INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON)
|
||||
SELECT #{projctSeq}, MEMBERSEQ, '1' FROM netmember;
|
||||
</insert>
|
||||
|
||||
<!-- 프로젝트 참여 미참여 -->
|
||||
<update id="updateProjectMember">
|
||||
UPDATE promember
|
||||
SET PROJCTYON = #{projctYon}
|
||||
WHERE PROJCTSEQ = #{projctSeq}
|
||||
AND MEMBERSEQ = #{memberSeq}
|
||||
</update>
|
||||
|
||||
<!-- 프로젝트 멤버 조회 -->
|
||||
<select id="selectProjectMembers" resultType="io.company.localhost.common.dto.MapDto">
|
||||
SELECT pm.PROJCTSEQ,
|
||||
pm.MEMBERSEQ,
|
||||
pm.PROJCTYON,
|
||||
nm.MEMBERNAM,
|
||||
nm.MEMBERPRF,
|
||||
nm.MEMBERCOL as usercolor
|
||||
FROM promember pm
|
||||
JOIN netmember nm ON pm.MEMBERSEQ = nm.MEMBERSEQ
|
||||
WHERE pm.PROJCTSEQ = #{projctSeq}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user