[api] admin/member/delete

회원 정보삭제 다중으로 받을수 있게 수정
This commit is contained in:
2026-06-24 10:49:59 +09:00
parent 70f674f6e7
commit d00b7dca70
5 changed files with 31 additions and 8 deletions
@@ -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;
}
@@ -131,8 +131,11 @@
/*AdminMemberMapper.updateAdminMemberDelete*/
UPDATE ALISTLMS.test_user
SET del_yn = 0
, update_at = now()
WHERE user_idx = #{userIdx}
, update_at = now()
WHERE user_idx IN
<foreach collection="userIdxList" item="userIdx" open="(" separator="," close=")">
#{userIdx}
</foreach>
AND del_yn = 1
</update>
</mapper>