From b4b54de6d24abc120f44e654dea36c8c49b8a524 Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Fri, 4 Apr 2025 12:36:31 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B6=9C=EC=9E=A5=EB=93=B1=EB=A1=9D=20?= =?UTF-8?q?=EC=A7=84=ED=96=89=EC=A4=91=20->=20=ED=99=94=EB=A9=B4=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/itn/trip/web/TripController.java | 42 ++ .../itn/admin/itn/user/mapper/UserMapper.java | 3 + .../admin/itn/user/mapper/domain/UserVO.java | 2 + .../admin/itn/user/service/UserService.java | 2 + .../user/service/impl/UserServiceImpl.java | 22 + .../itn/user/web/UserRestController.java | 15 +- src/main/resources/application.properties | 1 - .../mapper/itn/code/CodeDetailMapper.xml | 1 + .../resources/mapper/itn/user/UserMapper.xml | 1 + .../templates/fragments/mainsidebar.html | 35 ++ .../resources/templates/itn/dict/list.html | 4 - .../resources/templates/itn/trip/reg.html | 377 ++++++++++++++++++ 12 files changed, 496 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/itn/admin/itn/trip/web/TripController.java create mode 100644 src/main/resources/templates/itn/trip/reg.html diff --git a/src/main/java/com/itn/admin/itn/trip/web/TripController.java b/src/main/java/com/itn/admin/itn/trip/web/TripController.java new file mode 100644 index 0000000..9c997a0 --- /dev/null +++ b/src/main/java/com/itn/admin/itn/trip/web/TripController.java @@ -0,0 +1,42 @@ +package com.itn.admin.itn.trip.web; + +import com.itn.admin.cmn.config.CustomUserDetails; +import com.itn.admin.itn.user.mapper.domain.UserVO; +import com.itn.admin.itn.user.service.UserService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; + +import java.util.Map; + +@Slf4j +@Controller +public class TripController { + + @Autowired + private UserService userService; + + + @GetMapping("/itn/trip/reg") + public String list(@ModelAttribute("userVO") UserVO userVO + ,@AuthenticationPrincipal CustomUserDetails loginUser + ,Model model + ) { + log.info(" + loginUser :: [{}]", loginUser.getUser()); + +/* + Map resultMap = userService.getList(userVO); + + model.addAttribute("list", resultMap.get("resultList")); +*/ + model.addAttribute("loginUser", loginUser.getUser()); + + return "itn/trip/reg"; + } + +} diff --git a/src/main/java/com/itn/admin/itn/user/mapper/UserMapper.java b/src/main/java/com/itn/admin/itn/user/mapper/UserMapper.java index b0e93ce..150f717 100644 --- a/src/main/java/com/itn/admin/itn/user/mapper/UserMapper.java +++ b/src/main/java/com/itn/admin/itn/user/mapper/UserMapper.java @@ -40,4 +40,7 @@ public interface UserMapper { void changepassword(UserVO userVO); + + @Select("SELECT * FROM users WHERE user_name LIKE CONCAT('%', #{userName}, '%')") + List findByUniqUserName(String userName); } diff --git a/src/main/java/com/itn/admin/itn/user/mapper/domain/UserVO.java b/src/main/java/com/itn/admin/itn/user/mapper/domain/UserVO.java index c5f251b..a2bdc24 100644 --- a/src/main/java/com/itn/admin/itn/user/mapper/domain/UserVO.java +++ b/src/main/java/com/itn/admin/itn/user/mapper/domain/UserVO.java @@ -22,9 +22,11 @@ public class UserVO extends CmnVO { private String password; private String userName; private String userRank; + private String mobilePhone; private String gwId; private String biostarId; private String deptCd; + private String deptNm; private String activeYn; private Role role; // 단일 역할로 변경 private String hireDate; // 입사일 diff --git a/src/main/java/com/itn/admin/itn/user/service/UserService.java b/src/main/java/com/itn/admin/itn/user/service/UserService.java index db8c17f..0719abf 100644 --- a/src/main/java/com/itn/admin/itn/user/service/UserService.java +++ b/src/main/java/com/itn/admin/itn/user/service/UserService.java @@ -24,4 +24,6 @@ public interface UserService { RestResponse updateUserInfo(UserVO userVO); RestResponse changepassword(UserVO userVO); + + RestResponse findByUniqUserName(String userName); } diff --git a/src/main/java/com/itn/admin/itn/user/service/impl/UserServiceImpl.java b/src/main/java/com/itn/admin/itn/user/service/impl/UserServiceImpl.java index e6ab200..0654d60 100644 --- a/src/main/java/com/itn/admin/itn/user/service/impl/UserServiceImpl.java +++ b/src/main/java/com/itn/admin/itn/user/service/impl/UserServiceImpl.java @@ -1,6 +1,7 @@ package com.itn.admin.itn.user.service.impl; import com.itn.admin.cmn.msg.RestResponse; +import com.itn.admin.cmn.util.thymeleafUtils.TCodeUtils; import com.itn.admin.commute.mapper.CommuteMapper; import com.itn.admin.commute.mapper.domain.CommuteVO; import com.itn.admin.commute.mapper.domain.UserEnum; @@ -34,6 +35,9 @@ public class UserServiceImpl implements UserService { @Autowired UserMapper userMapper; + @Autowired + TCodeUtils tCodeUtils; + public Map getList(UserVO userVO) { @@ -94,11 +98,29 @@ public class UserServiceImpl implements UserService { // .msg("수정되었습니다.") .build(); + } + @Override + public RestResponse findByUniqUserName(String userName) { + + List users = userMapper.findByUniqUserName(userName); + // 코드 이름을 붙여주는 처리 (가공) + users.forEach(user -> { + String deptNm = tCodeUtils.getCodeName("DEPT", user.getDeptCd()); + user.setDeptNm(deptNm); // UserVO에 deptCdName 필드 있어야 함 + }); + + return RestResponse.builder() + .status(HttpStatus.OK) // 200 성공 + .data(users) +// .msg("수정되었습니다.") + .build(); + } @Override public RestResponse updateUserInfo(UserVO userVO) { userMapper.updateUserInfo(userVO); + return RestResponse.builder() .status(HttpStatus.OK) // 200 성공 .data(userVO.getUserName()) diff --git a/src/main/java/com/itn/admin/itn/user/web/UserRestController.java b/src/main/java/com/itn/admin/itn/user/web/UserRestController.java index 7a7bed3..9e24aab 100644 --- a/src/main/java/com/itn/admin/itn/user/web/UserRestController.java +++ b/src/main/java/com/itn/admin/itn/user/web/UserRestController.java @@ -27,13 +27,13 @@ public class UserRestController { private final PasswordEncoder passwordEncoder; public UserRestController(PasswordEncoder passwordEncoder) { - log.info(" + UserRestController 등록된 PasswordEncoder instance: {}", passwordEncoder); this.passwordEncoder = passwordEncoder; } @PostMapping("/user/updateRole") @ResponseBody - public ResponseEntity updateRole(@RequestParam("uniqId") String uniqId, @RequestParam("role") Role role) { + public ResponseEntity updateRole(@RequestParam("uniqId") String uniqId + , @RequestParam("role") Role role) { return ResponseEntity.ok(userService.updateRole(uniqId, role)); } @@ -41,12 +41,19 @@ public class UserRestController { // 특정 코드 그룹을 ID로 가져오는 메서드 @GetMapping("/api/admin/user/{uniqId}") public ResponseEntity findByUniqId(@PathVariable String uniqId) { - log.info("getCodeGroupById uniqId={}", uniqId); return ResponseEntity.ok(userService.findByUniqId(uniqId)); } + // 특정 코드 그룹을 ID로 가져오는 메서드 + @GetMapping("/api/admin/user/search/name") + public ResponseEntity findByUniqUserName(@RequestParam String userName) { + log.info("userName: {}", userName); + return ResponseEntity.ok(userService.findByUniqUserName(userName)); + } + // 코드 그룹 수정 메서드 @PutMapping("/api/admin/user/{uniqId}") - public ResponseEntity updateUserInfo(@PathVariable String uniqId, @RequestBody UserVO userVO) { + public ResponseEntity updateUserInfo(/*@PathVariable String uniqId + , */@RequestBody UserVO userVO) { return ResponseEntity.ok().body(userService.updateUserInfo(userVO)); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7a80943..032abbb 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -28,7 +28,6 @@ spring.thymeleaf.prefix=classpath:templates/ spring.thymeleaf.suffix=.html spring.thymeleaf.cache=false - # itn_admin #spring.main.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.main.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy diff --git a/src/main/resources/mapper/itn/code/CodeDetailMapper.xml b/src/main/resources/mapper/itn/code/CodeDetailMapper.xml index 04689a4..1d47ab0 100644 --- a/src/main/resources/mapper/itn/code/CodeDetailMapper.xml +++ b/src/main/resources/mapper/itn/code/CodeDetailMapper.xml @@ -8,6 +8,7 @@ diff --git a/src/main/resources/mapper/itn/user/UserMapper.xml b/src/main/resources/mapper/itn/user/UserMapper.xml index 70fb528..cf5ecc3 100644 --- a/src/main/resources/mapper/itn/user/UserMapper.xml +++ b/src/main/resources/mapper/itn/user/UserMapper.xml @@ -34,6 +34,7 @@ , user_pw AS password , user_name , user_rank + , mobile_phone , dept_cd , role , gw_id AS gwId diff --git a/src/main/resources/templates/fragments/mainsidebar.html b/src/main/resources/templates/fragments/mainsidebar.html index eb738ea..8df4574 100644 --- a/src/main/resources/templates/fragments/mainsidebar.html +++ b/src/main/resources/templates/fragments/mainsidebar.html @@ -82,6 +82,41 @@ +