[api] admin/member/delete
회원 정보삭제 다중으로 받을수 있게 수정
This commit is contained in:
@@ -3,8 +3,10 @@ package com.alist.api.modules.admin.member.dto;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class AdminMemberDeleteDto {
|
||||
private Integer userIdx;
|
||||
private List<Integer> userIdxList;
|
||||
}
|
||||
|
||||
@@ -2,21 +2,31 @@ package com.alist.api.modules.admin.member.form;
|
||||
|
||||
import com.alist.api.modules.admin.member.dto.AdminMemberDeleteDto;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@Schema(description = "관리자 회원 계정 삭제 요청 폼")
|
||||
@Getter
|
||||
@Setter
|
||||
public class AdminMemberDeleteForm {
|
||||
@Schema(description = "회원 PK", example = "15", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "회원 PK는 필수입니다.")
|
||||
private Integer userIdx;
|
||||
@Schema(description = "회원 PK 목록. 콤마 구분 문자열", example = "1,2,3", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank(message = "삭제할 회원 PK를 입력해주세요.")
|
||||
@Pattern(regexp = "^\\d+(,\\d+)*$", message = "회원 PK 목록은 1,2,3 형식으로 입력해주세요.")
|
||||
private String userIdxList;
|
||||
|
||||
public AdminMemberDeleteDto toDto() {
|
||||
AdminMemberDeleteDto adminMemberDeleteDto = new AdminMemberDeleteDto();
|
||||
adminMemberDeleteDto.setUserIdx(userIdx);
|
||||
adminMemberDeleteDto.setUserIdxList(
|
||||
Arrays.stream(userIdxList.split(","))
|
||||
.map(String::trim)
|
||||
.map(Integer::valueOf)
|
||||
.distinct()
|
||||
.toList()
|
||||
);
|
||||
return adminMemberDeleteDto;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,6 +93,8 @@ public class AdminMemberService {
|
||||
|
||||
AdminMemberDeleteVo adminMemberDeleteVo = new AdminMemberDeleteVo();
|
||||
adminMemberDeleteVo.setProcessed(updateCount > 0);
|
||||
adminMemberDeleteVo.setRequestedCount(adminMemberDeleteDto.getUserIdxList().size());
|
||||
adminMemberDeleteVo.setDeletedCount(updateCount);
|
||||
return adminMemberDeleteVo;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,4 +10,10 @@ import lombok.Setter;
|
||||
public class AdminMemberDeleteVo {
|
||||
@Schema(description = "회원 계정 삭제 여부", example = "true")
|
||||
private boolean processed;
|
||||
|
||||
@Schema(description = "삭제 요청 회원 수", example = "3")
|
||||
private int requestedCount;
|
||||
|
||||
@Schema(description = "실제 삭제 처리 회원 수", example = "3")
|
||||
private int deletedCount;
|
||||
}
|
||||
|
||||
@@ -132,7 +132,10 @@
|
||||
UPDATE ALISTLMS.test_user
|
||||
SET del_yn = 0
|
||||
, update_at = now()
|
||||
WHERE user_idx = #{userIdx}
|
||||
WHERE user_idx IN
|
||||
<foreach collection="userIdxList" item="userIdx" open="(" separator="," close=")">
|
||||
#{userIdx}
|
||||
</foreach>
|
||||
AND del_yn = 1
|
||||
</update>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user