woals
07-31
240731 권민수 UserClass crud 추가(미완성)
@8515607ecea8f3eb19a326ff74d10ffcf359f12d
--- src/main/java/com/takensoft/ai_lms/common/confing/SecurityConfig.java
+++ src/main/java/com/takensoft/ai_lms/common/confing/SecurityConfig.java
... | ... | @@ -84,6 +84,7 @@ |
84 | 84 |
.requestMatchers("/word/**").permitAll() // 단어 정보 진입 허용 |
85 | 85 |
.requestMatchers("/survey/**").permitAll() // 설문 조사 진입 허용 |
86 | 86 |
.requestMatchers("/api/**").permitAll() // Google Cloud api 진입 허용 |
87 |
+ .requestMatchers("/userclass/**").permitAll() // 반별 학생 맵핑 진입 허용 |
|
87 | 88 |
.anyRequest().authenticated()); // 나머지 경로는 인증 필요 |
88 | 89 |
|
89 | 90 |
// jwt 필터 처리 적용 |
+++ src/main/java/com/takensoft/ai_lms/lms/user_class/dao/UserClassDAO.java
... | ... | @@ -0,0 +1,33 @@ |
1 | +package com.takensoft.ai_lms.lms.user_class.dao; | |
2 | + | |
3 | +import com.takensoft.ai_lms.lms.user_class.vo.UserClassVO; | |
4 | +import org.egovframe.rte.psl.dataaccess.mapper.Mapper; | |
5 | + | |
6 | +import java.util.List; | |
7 | + | |
8 | +/** | |
9 | + * @author | |
10 | + * @since 2024.07.31 | |
11 | + * | |
12 | + * 반별 학생 맵핑 DAO 인터페이스 | |
13 | + */ | |
14 | + | |
15 | +@Mapper("userClassDAO") | |
16 | +public interface UserClassDAO { | |
17 | + | |
18 | + // 유저 클래스 리스트 조회 | |
19 | + List<UserClassVO> getUserClasses(); | |
20 | + | |
21 | + // 특정 유저 클래스 조회 | |
22 | + UserClassVO getUserClassById(UserClassVO userClass); | |
23 | + | |
24 | + // 유저 클래스 생성 | |
25 | + int insertUserClass(UserClassVO userClass); | |
26 | + | |
27 | + // 유저 클래스 수정 | |
28 | + int updateUserClass(UserClassVO userClass); | |
29 | + | |
30 | + // 유저 클래스 삭제 | |
31 | + int deleteUserClass(UserClassVO userClass); | |
32 | + | |
33 | +} |
+++ src/main/java/com/takensoft/ai_lms/lms/user_class/service/Impl/UserClassServiceImpl.java
... | ... | @@ -0,0 +1,53 @@ |
1 | +package com.takensoft.ai_lms.lms.user_class.service.Impl; | |
2 | + | |
3 | +import com.takensoft.ai_lms.common.idgen.service.IdgenService; | |
4 | +import com.takensoft.ai_lms.lms.user_class.dao.UserClassDAO; | |
5 | +import com.takensoft.ai_lms.lms.user_class.service.UserClassService; | |
6 | +import com.takensoft.ai_lms.lms.user_class.vo.UserClassVO; | |
7 | +import lombok.RequiredArgsConstructor; | |
8 | +import org.springframework.stereotype.Service; | |
9 | + | |
10 | +import java.util.List; | |
11 | + | |
12 | +/** | |
13 | + * @author | |
14 | + * @since 2024.07.31 | |
15 | + * | |
16 | + * 반별 학생 맵핑 Service 구현 클래스 | |
17 | + */ | |
18 | +@Service | |
19 | +@RequiredArgsConstructor | |
20 | +public class UserClassServiceImpl implements UserClassService { | |
21 | + | |
22 | + private final UserClassDAO userClassDAO; | |
23 | + | |
24 | + private final IdgenService userClassIdgn; | |
25 | + | |
26 | + @Override | |
27 | + public List<UserClassVO> getUserClasses() { | |
28 | + return userClassDAO.getUserClasses(); | |
29 | + } | |
30 | + | |
31 | + @Override | |
32 | + public UserClassVO getUserClassById(UserClassVO userClass) { | |
33 | + return userClassDAO.getUserClassById(userClass); | |
34 | + } | |
35 | + | |
36 | + @Override | |
37 | + public void insertUserClass(UserClassVO userClass) { | |
38 | + String stdId = userClassIdgn.getNextStringId(); | |
39 | + userClass.setStdId(stdId); | |
40 | + userClassDAO.insertUserClass(userClass); | |
41 | + } | |
42 | + | |
43 | + @Override | |
44 | + public void updateUserClass(UserClassVO userClass) { | |
45 | + userClassDAO.updateUserClass(userClass); | |
46 | + } | |
47 | + | |
48 | + @Override | |
49 | + public void deleteUserClass(UserClassVO userClass) { | |
50 | + userClassDAO.deleteUserClass(userClass); | |
51 | + } | |
52 | + | |
53 | +} |
+++ src/main/java/com/takensoft/ai_lms/lms/user_class/service/UserClassService.java
... | ... | @@ -0,0 +1,31 @@ |
1 | +package com.takensoft.ai_lms.lms.user_class.service; | |
2 | + | |
3 | +import com.takensoft.ai_lms.lms.user_class.vo.UserClassVO; | |
4 | + | |
5 | +import java.util.List; | |
6 | + | |
7 | +/** | |
8 | + * @author | |
9 | + * @since 2024.07.31 | |
10 | + * | |
11 | + * 반별 학생 맵핑 Service 인터페이스 | |
12 | + */ | |
13 | + | |
14 | +public interface UserClassService { | |
15 | + | |
16 | + // 유저 클래스 리스트 조회 | |
17 | + List<UserClassVO> getUserClasses(); | |
18 | + | |
19 | + // 특정 유저 클래스 조회 | |
20 | + UserClassVO getUserClassById(UserClassVO userClass); | |
21 | + | |
22 | + // 유저 클래스 생성 | |
23 | + void insertUserClass(UserClassVO userClass); | |
24 | + | |
25 | + // 유저 클래스 수정 | |
26 | + void updateUserClass(UserClassVO userClass); | |
27 | + | |
28 | + // 유저 클래스 삭제 | |
29 | + void deleteUserClass(UserClassVO userClass); | |
30 | + | |
31 | +} |
+++ src/main/java/com/takensoft/ai_lms/lms/user_class/vo/UserClassVO.java
... | ... | @@ -0,0 +1,23 @@ |
1 | +package com.takensoft.ai_lms.lms.user_class.vo; | |
2 | + | |
3 | +import lombok.Getter; | |
4 | +import lombok.Setter; | |
5 | + | |
6 | +/** | |
7 | + * @author 권민수 | |
8 | + * @since 2024.07.31 | |
9 | + * | |
10 | + * 반별 학생 맵핑 VO 클래스 | |
11 | + */ | |
12 | + | |
13 | +@Getter | |
14 | +@Setter | |
15 | +public class UserClassVO { | |
16 | + | |
17 | + private String stdId; | |
18 | + private String userId; | |
19 | + private String sclsId; | |
20 | + private String stnQna; | |
21 | + private String fileMngId; | |
22 | + | |
23 | +} |
+++ src/main/java/com/takensoft/ai_lms/lms/user_class/web/UserClassController.java
... | ... | @@ -0,0 +1,62 @@ |
1 | +package com.takensoft.ai_lms.lms.user_class.web; | |
2 | + | |
3 | +import com.takensoft.ai_lms.lms.user_class.service.UserClassService; | |
4 | +import com.takensoft.ai_lms.lms.user_class.vo.UserClassVO; | |
5 | +import lombok.RequiredArgsConstructor; | |
6 | +import lombok.extern.slf4j.Slf4j; | |
7 | +import org.springframework.web.bind.annotation.*; | |
8 | + | |
9 | +import java.util.List; | |
10 | +import java.util.Map; | |
11 | + | |
12 | +/** | |
13 | + * @author | |
14 | + * @since 2024.07.31 | |
15 | + * | |
16 | + * 반별 학생 맵핑 컨트롤러 | |
17 | + */ | |
18 | + | |
19 | +@RestController | |
20 | +@RequiredArgsConstructor | |
21 | +@Slf4j | |
22 | +@RequestMapping("/userclass") | |
23 | +public class UserClassController { | |
24 | + | |
25 | + private final UserClassService userClassService; | |
26 | + | |
27 | + // 유저 클래스 리스트 조회 | |
28 | + @PostMapping("/findAll.json") | |
29 | + public List<UserClassVO> getUserClasses() { | |
30 | + return userClassService.getUserClasses(); | |
31 | + } | |
32 | + | |
33 | + // 특정 유저 클래스 조회 | |
34 | + @PostMapping("/find.json") | |
35 | + public UserClassVO getUserClassById(@RequestBody UserClassVO userClass) { | |
36 | + return userClassService.getUserClassById(userClass); | |
37 | + } | |
38 | + | |
39 | + // 유저 클래스 생성 | |
40 | + @PostMapping("/insert.json") | |
41 | + public void insertUserClass(@RequestBody Map<String, String> req) { | |
42 | + UserClassVO userClass = new UserClassVO(); | |
43 | + userClass.setUserId(req.get("userId")); | |
44 | + userClass.setSclsId(req.get("sclsId")); | |
45 | + userClass.setStnQna(req.get("stnQna")); | |
46 | + userClass.setFileMngId(req.get("fileMngId")); | |
47 | + userClassService.insertUserClass(userClass); | |
48 | + } | |
49 | + | |
50 | + // 유저 클래스 수정 | |
51 | + @PostMapping("/update.json") | |
52 | + public void updateUserClass(@RequestBody UserClassVO userClass) { | |
53 | + userClassService.updateUserClass(userClass); | |
54 | + } | |
55 | + | |
56 | + // 유저 클래스 삭제 | |
57 | + @PostMapping("/delete.json") | |
58 | + public void deleteUserClass(@RequestBody UserClassVO userClass) { | |
59 | + userClassService.deleteUserClass(userClass); | |
60 | + } | |
61 | + | |
62 | +} |
--- src/main/java/com/takensoft/ai_lms/lms/word_book/web/WordBookController.java
+++ src/main/java/com/takensoft/ai_lms/lms/word_book/web/WordBookController.java
... | ... | @@ -80,5 +80,3 @@ |
80 | 80 |
} |
81 | 81 |
|
82 | 82 |
} |
83 |
- |
|
84 |
-// 추가 사항: 책에 소속된 단어장 리스트 가져오기(보류) |
+++ src/main/resources/mybatis/mapper/lms/user_class-SQL.xml
... | ... | @@ -0,0 +1,58 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
3 | +<mapper namespace="com.takensoft.ai_lms.lms.user_class.dao.UserClassDAO"> | |
4 | + | |
5 | + <!-- | |
6 | + 작 성 자 : 권민수 | |
7 | + 작 성 일 : 2024.07.31 | |
8 | + 내 용 : 반별 학생 매핑 테이블 sql 매핑 xml 문서 | |
9 | + --> | |
10 | + | |
11 | + <resultMap id="UserClassResultMap" type="UserClassVO"> | |
12 | + <id property="stdId" column="std_id"/> | |
13 | + <id property="userId" column="user_id"/> | |
14 | + <id property="sclsId" column="scls_id"/> | |
15 | + <result property="stnQna" column="stn_qna"/> | |
16 | + <result property="fileMngId" column="file_mng_id"/> | |
17 | + </resultMap> | |
18 | + | |
19 | + <select id="getUserClasses" resultMap="UserClassResultMap"> | |
20 | + SELECT * FROM ai_lms.user_class | |
21 | + </select> | |
22 | + | |
23 | + <select id="getUserClassById" parameterType="UserClassVO" resultMap="UserClassResultMap"> | |
24 | + SELECT * FROM ai_lms.user_class | |
25 | + WHERE std_id = #{stdId} | |
26 | + </select> | |
27 | + | |
28 | + <insert id="insertUserClass" parameterType="UserClassVO"> | |
29 | + INSERT INTO | |
30 | + ai_lms.user_class (std_id, | |
31 | + user_id, | |
32 | + scls_id, | |
33 | + stn_qna, | |
34 | + file_mng_id) | |
35 | + VALUES (#{stdId}, | |
36 | + #{userId}, | |
37 | + #{sclsId}, | |
38 | + #{stnQna}, | |
39 | + #{fileMngId}) | |
40 | + </insert> | |
41 | + | |
42 | + <update id="updateUserClass" parameterType="UserClassVO"> | |
43 | + UPDATE ai_lms.user_class | |
44 | + SET stn_qna = #{stnQna}, | |
45 | + file_mng_id = #{fileMngId} | |
46 | + WHERE std_id = #{stdId} | |
47 | + AND user_id = #{userId} | |
48 | + AND scls_id = #{sclsId} | |
49 | + </update> | |
50 | + | |
51 | + <delete id="deleteUserClass" parameterType="UserClassVO"> | |
52 | + DELETE FROM ai_lms.user_class | |
53 | + WHERE std_id = #{stdId} | |
54 | + AND user_id = #{userId} | |
55 | + AND scls_id = #{sclsId} | |
56 | + </delete> | |
57 | + | |
58 | +</mapper>(파일 끝에 줄바꿈 문자 없음) |
--- src/main/resources/mybatis/mapper/lms/word_book-SQL.xml
+++ src/main/resources/mybatis/mapper/lms/word_book-SQL.xml
... | ... | @@ -28,11 +28,11 @@ |
28 | 28 |
|
29 | 29 |
<select id="getWordBooksByBookId" resultMap="WordBookResultMap"> <!-- 수정됨 --> |
30 | 30 |
SELECT |
31 |
- wd_book_id, |
|
32 |
- wd_book_type_id, |
|
33 |
- text_id, |
|
34 |
- user_id, |
|
35 |
- book_id |
|
31 |
+ wd_book_id, |
|
32 |
+ wd_book_type_id, |
|
33 |
+ text_id, |
|
34 |
+ user_id, |
|
35 |
+ book_id |
|
36 | 36 |
FROM wordbook |
37 | 37 |
WHERE book_id = #{bookId} |
38 | 38 |
</select> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?