티스토리 뷰



1. 팝업띄워진 팝업창 jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 var UserMoveController={
         moveUser: function(){
               if(groupId !=null){
                var param={
                uuidDataList: userUuid, //여기서 지정해주는 Param값 uuidDataList라는것이 userSearchVO안에 있는것이다.
                searchGroupId: groupId
               };
               //console.log(param);
            AjaxCall.call("${pageContext.request.contextPath}/user/moveUserUuidAjax",param,"POST",UserMoveController.moveUserRes);
            }else{
                alert("이동시키실 부서를 선택하여주세요!");
            }
        },
           moveUserRes: function(result, status){
               console.log("status ==> " + status);
               if(status=="success"){
                   var splUserUuid = userUuid.split(",");
                   if(splUserUuid.length==result){
                       alert("선택하신 "+splUserUuid.length+"명의 사용자가 "+groupName+"으로 이동되었습니다.");
                       var func = "javascript:${refreshFunction}()";
                    $(opener.location).attr("href", func);
                    self.close();
                }
            }else{
                   alert("실패!");
               }
           }
    };
cs





2. AjaxCall.call 로 부른 moveUserUuidAjax가 있는 controller로 이동 

   컨트롤러 : Dispatcher 역할로 Client 요청을 해당 비즈니스 로직을 호출하여, 수행결과와 함께 응답 java

1
2
3
4
5
6
/*여기는 팝업의 값을 불러오는 곳입니다.사용자 부서이동*/    
    @RequestMapping(value = "/moveUserUuidAjax", method = RequestMethod.POST)
    public int moveUserUuidAjax(UserSearchVO userSearchVO, HttpServletRequest request) throws Exception {
        logger.debug("userSearchVO=======>{}", userSearchVO);
        return userService.moveUser(userSearchVO);
    }
cs

//내생각이지만, VO로 파라미터를 받을 때 리턴을 서비스로 들어가게 되는듯하다.




3. Service 

   return값에서 groupUserMapper의 updateMoveUser로 가라고 한다. java

1
2
3
4
5
/* 사용자 부서이동 */ 
 @Transactional(rollbackFor={Exception.class}) 
 public int moveUser(UserSearchVO userSearchVO)throws Exception{
 return groupUserMapper.updateMoveUser(userSearchVO); 
 }
cs

// updateMoveUser를 GroupUserMapper.xml에 설정해주었는데, return GroupUserMapper가 자꾸 오류나서 헤멨다.
    @Autowired
    private GroupUserMapper groupUserMapper;
    이미 오토와이얼드 되어있었음. 




4. Service의 인터페이스를 모아놓은 IService

1
public int moveUser(UserSearchVO userSearchVO) throws Exception;
cs



5. GroupUserMapper.xml 

   아니 DAO만드는곳도 있고 Helper.xml도 있고 그런데 어쩌다보니

   이곳 만드는경우에 서비스에서 바로 쿼리문으로 가게되었다.

   이동할거라서 부서아이디를 입력받아와서 그 받아온 값으로 업데이트만 하면 되었음. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- 부서이동 업데이트 --> 
 <update id="updateMoveUser" parameterType="jdAdmin.admin.data.entity.UserSearchVO"> 
 update "jdn"."tb_group_users" 
  <set> 
   <if test="searchGroupId != null" > 
    "group_id" =#{searchGroupId,jdbcType=INTEGER} 
      <trim prefix="WHERE" prefixOverrides="AND|OR "> 
         <!-- uuid값을 나누는 쿼리 --> 
         AND user_uuid in 
         <foreach item="item" index="index" collection="uuidDataList" open="(" separator="," close=")"> 
           #{item} 
         </foreach> 
       </trim> 
     </if> 
   </set> 
 </update>
cs



댓글