Skip to content

Commit aa4dda9

Browse files
committed
feat project delete
1 parent c81807c commit aa4dda9

29 files changed

Lines changed: 279 additions & 94 deletions

src/main/java/NextLevel/demo/admin/project/AdminProjectController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import NextLevel.demo.common.SuccessResponse;
44
import NextLevel.demo.project.project.service.ProjectDeleteService;
5+
import NextLevel.demo.util.jwt.JWTUtil;
56
import lombok.RequiredArgsConstructor;
67
import org.springframework.http.ResponseEntity;
78
import org.springframework.stereotype.Controller;
@@ -31,7 +32,7 @@ public ResponseEntity updateProject() {
3132

3233
@DeleteMapping("/{projectId}")
3334
public ResponseEntity removeProject(@PathVariable("projectId") Long projectId) {
34-
projectDeleteService.deleteProject(projectId, null);
35+
projectDeleteService.deleteProject(projectId, JWTUtil.getUserIdFromSecurityContext(), null);
3536
return ResponseEntity.ok().body(new SuccessResponse("success", null));
3637
}
3738
}

src/main/java/NextLevel/demo/admin/project/AdminProjectService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ public void updateProject() {
2929

3030
}
3131

32-
public void removeProject(Long projectId) {
33-
projectDeleteService.deleteProject(projectId, null);
32+
public void removeProject(Long projectId, Long userId) {
33+
projectDeleteService.deleteProject(projectId, userId,null);
3434
}
3535

3636
}

src/main/java/NextLevel/demo/admin/user/AdminUserController.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package NextLevel.demo.admin.user;
22

3+
import NextLevel.demo.common.SuccessResponse;
34
import lombok.RequiredArgsConstructor;
5+
import org.springframework.data.domain.Pageable;
46
import org.springframework.http.ResponseEntity;
57
import org.springframework.stereotype.Controller;
68
import org.springframework.web.bind.annotation.RequestMapping;
@@ -10,8 +12,10 @@
1012
@RequestMapping("/admin")
1113
public class AdminUserController {
1214

13-
public ResponseEntity getUserList() {
14-
return null;
15+
private final AdminUserService adminUserService;
16+
17+
public ResponseEntity getUserList(Pageable pageable) {
18+
return ResponseEntity.ok().body(new SuccessResponse("success", adminUserService.getUserList(pageable)));
1519
}
1620

1721
public ResponseEntity stopUser() {

src/main/java/NextLevel/demo/admin/user/AdminUserService.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package NextLevel.demo.admin.user;
22

3+
import NextLevel.demo.exception.CustomException;
4+
import NextLevel.demo.exception.ErrorCode;
5+
import NextLevel.demo.user.dto.user.request.RequestUpdateUserInfoDto;
36
import NextLevel.demo.user.dto.user.response.ResponseUserInfoDetailDto;
7+
import NextLevel.demo.user.entity.UserEntity;
48
import NextLevel.demo.user.repository.UserRepository;
59
import NextLevel.demo.user.service.UserService;
610
import NextLevel.demo.user.service.UserValidateService;
@@ -9,6 +13,7 @@
913
import org.springframework.stereotype.Service;
1014

1115
import java.util.List;
16+
import org.springframework.transaction.annotation.Transactional;
1217

1318
@Service
1419
@RequiredArgsConstructor
@@ -26,8 +31,14 @@ public void stopUser() {
2631
// not yet
2732
}
2833

29-
public void updateUser() {
30-
// userService.update
34+
@Transactional
35+
public void updateUser(RequestUpdateUserInfoDto dto) {
36+
UserEntity oldUser = userValidateService.getUserInfoWithAccessToken(dto.getId());
37+
38+
if(dto.getName().equals("nickName") && !userValidateService.checkNickNameIsNotExist(dto.getValue()))
39+
throw new CustomException(ErrorCode.ALREADY_EXISTS_NICKNAME);
40+
41+
oldUser.updateUserInfo(dto.getName(), dto.getValue());
3142
}
3243

3344
public void removeUser() {

src/main/java/NextLevel/demo/follow/FollowRepository.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,10 @@ public interface FollowRepository extends JpaRepository<FollowEntity, Long> {
4343
"group by follow")
4444
List<ResponseFollowDto> gerFollowList(@Param("userId") Long userId);
4545

46+
@Query("delete from FollowEntity f where f.user.id = :userId")
47+
void deleteFollowByUserId(@Param("userId") Long userId);
48+
49+
@Query("delete from FollowEntity f where f.target.id = :userId")
50+
void deleteFollowerByUserId(@Param("userId") Long userId);
51+
4652
}

src/main/java/NextLevel/demo/follow/FollowService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,9 @@ public List<ResponseFollowDto> followList(Long userId) {
5151
return followRepository.gerFollowList(userId);
5252
}
5353

54+
public void deleteFollowByUserId(UserEntity user) {
55+
followRepository.deleteFollowByUserId(user.getId());
56+
followRepository.deleteFollowerByUserId(user.getId());
57+
}
58+
5459
}

src/main/java/NextLevel/demo/funding/entity/CouponEntity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package NextLevel.demo.funding.entity;
22

3+
import NextLevel.demo.BasedEntity;
34
import NextLevel.demo.user.entity.UserEntity;
45
import jakarta.persistence.*;
56
import lombok.*;
@@ -10,7 +11,7 @@
1011
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1112
@Builder
1213
@AllArgsConstructor
13-
public class CouponEntity {
14+
public class CouponEntity extends BasedEntity {
1415

1516
@Id
1617
@GeneratedValue(strategy = GenerationType.IDENTITY)

src/main/java/NextLevel/demo/img/service/ImgTransactionAop.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ public Object around(ProceedingJoinPoint joinPoint, ImgTransaction imgTransactio
3232
Object[] args = joinPoint.getArgs();
3333
Object lastParameter = args[args.length-1];
3434

35-
if(!(lastParameter instanceof ImgPath))
36-
throw new MustLastParameterException("last parameter must be of type ImgPath.class");
35+
// 추후 수정 필요! (귀찮!)
36+
// if(!(lastParameter instanceof ImgPath))
37+
// throw new MustLastParameterException("last parameter must be of type ImgPath.class");
3738

3839
args[args.length-1] = path;
3940

src/main/java/NextLevel/demo/notice/service/NoticeService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import NextLevel.demo.notice.entity.NoticeImgEntity;
1212
import NextLevel.demo.notice.repository.NoticeImgRepository;
1313
import NextLevel.demo.notice.repository.NoticeRepository;
14+
import jakarta.persistence.EntityManager;
15+
import jakarta.persistence.PersistenceContext;
1416
import java.nio.file.Path;
1517
import java.util.ArrayList;
1618
import java.util.List;

src/main/java/NextLevel/demo/project/community/service/ProjectCommunityAskService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,9 @@ public void delete(Long askId, Long userId) {
6161
()->{return new CustomException(ErrorCode.NOT_FOUND, "community");}
6262
);
6363

64-
if(! (ask.getUser().getId() == userId) || (ask.getProject().getId() == userId) ) // project validate service 를 통해야 하나?
65-
throw new CustomException(ErrorCode.NOT_AUTHOR);
64+
if(!ask.getUser().getId().equals(userId))
65+
projectValidateService.validateAuthor(ask.getProject(), userId);
66+
6667
projectCommunityAskRepository.deleteById(askId);
6768
}
6869

0 commit comments

Comments
 (0)