diff --git a/src/main/java/com/palnet/biz/api/acnt/cstmr/controller/AcntCstmrController.java b/src/main/java/com/palnet/biz/api/acnt/cstmr/controller/AcntCstmrController.java index bccdaae..5d2afa0 100644 --- a/src/main/java/com/palnet/biz/api/acnt/cstmr/controller/AcntCstmrController.java +++ b/src/main/java/com/palnet/biz/api/acnt/cstmr/controller/AcntCstmrController.java @@ -131,6 +131,27 @@ public class AcntCstmrController { } return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); } + + @PostMapping(value = "/profile/delete") + public ResponseEntity userDelete(@RequestBody Integer cstmrSno){ + Map resultMap = new HashMap(); + try { + + boolean result = service.userDelete(cstmrSno); + + resultMap.put("result", result); + + } catch (CustomException e) { + log.error("IGNOE : {}", e); + resultMap.put("result", false); + resultMap.put("errorCode", e.getErrorCode()); + resultMap.put("errorMessage", e.getMessage()); + return ResponseEntity.ok().body(new SuccessResponse(resultMap)); + + } + + return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); + } } diff --git a/src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java b/src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java index b95d0fd..5e20247 100644 --- a/src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java +++ b/src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java @@ -27,6 +27,7 @@ import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrRqModel; import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrRsModel; import com.palnet.biz.api.acnt.cstmr.model.AnctCstmerRlModel; import com.palnet.biz.api.acnt.cstmr.model.AnctCstmrTermsModel; +import com.palnet.biz.api.acnt.jwt.model.JwtGroupModel; import com.palnet.biz.api.acnt.jwt.model.JwtUserModel; import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil; import com.palnet.biz.api.acnt.terms.model.AcntTermsRqModel; @@ -34,10 +35,14 @@ import com.palnet.biz.api.acnt.terms.model.AcntTermsRsModel; import com.palnet.biz.jpa.entity.PtyCrtfyhpBas; import com.palnet.biz.jpa.entity.PtyCstmrBas; import com.palnet.biz.jpa.entity.PtyCstmrDtl; +import com.palnet.biz.jpa.entity.PtyCstmrGroup; +import com.palnet.biz.jpa.entity.PtyGroupBas; import com.palnet.biz.jpa.entity.PtyTermsAgreeTxn; import com.palnet.biz.jpa.repository.pty.PtyCstmrBasRepository; import com.palnet.biz.jpa.repository.pty.PtyCstmrDtlRepository; +import com.palnet.biz.jpa.repository.pty.PtyCstmrGroupRepository; import com.palnet.biz.jpa.repository.pty.PtyCstmrQueryRepository; +import com.palnet.biz.jpa.repository.pty.PtyGroupBasRepository; import com.palnet.biz.jpa.repository.pty.PtyTermsAgreeTxnRepository; import com.palnet.biz.jpa.repository.pty.PtyTermsQueryRepository; import com.palnet.comn.code.ErrorCode; @@ -67,6 +72,12 @@ public class AcntCstmrService { @Autowired private PtyCstmrDtlRepository ptyCstmrDtlRepository; + @Autowired + private PtyCstmrGroupRepository ptyCstmrGroupRepository; + + @Autowired + private PtyGroupBasRepository ptyGroupBasRepository; + @Autowired private PtyTermsAgreeTxnRepository ptyTermsAgreeTxnRepository; @@ -262,5 +273,33 @@ public class AcntCstmrService { return updateEmailEntity; } + public boolean userDelete(int cstmrSno) { + PtyCstmrBas userEntity = ptyCstmrBasRepository.findByUserGroupId(cstmrSno); + userEntity.setCstmrStatusCd("W"); + userEntity.setCstmrStatusCngDt(DateUtils.nowDate()); + ptyCstmrBasRepository.save(userEntity); + + List groupInfo = jwtTokenUtil.getGroupAuthByToken(); + for(JwtGroupModel group : groupInfo) { + if(group.getGroupAuthCd().equals("CREATER")) { + PtyGroupBas groupEntity = ptyGroupBasRepository.findByGroupId(group.getGroupId()); + groupEntity.setUseYn("N"); + ptyGroupBasRepository.save(groupEntity); + } + PtyCstmrGroup cstmrEntity = ptyCstmrGroupRepository.findGroupId(group.getGroupId(), cstmrSno); + cstmrEntity.setJoinYn("N"); + ptyCstmrGroupRepository.save(cstmrEntity); + } + List AprvlEntity = ptyCstmrGroupRepository.changeGroupAprvlYn(cstmrSno); + for(PtyCstmrGroup Aprvl : AprvlEntity) { + Aprvl.setAprvlYn("N"); + Aprvl.setAprvlDt(null); + ptyCstmrGroupRepository.save(Aprvl); + } + log.info("123"); + + boolean result = true; + return result; + } -} +} \ No newline at end of file diff --git a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrBasRepository.java b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrBasRepository.java index a365223..78831bf 100644 --- a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrBasRepository.java +++ b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrBasRepository.java @@ -1,8 +1,11 @@ package com.palnet.biz.jpa.repository.pty; +import java.util.List; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import com.palnet.biz.api.acnt.jwt.model.JwtUserModel; @@ -12,4 +15,8 @@ import com.palnet.biz.jpa.entity.PtyCstmrBas; public interface PtyCstmrBasRepository extends JpaRepository{ Optional findByUserId(String userId); + + @Query("select p from PtyCstmrBas p " + + "where p.cstmrSno = :cstmrSno " ) + PtyCstmrBas findByUserGroupId(@Param("cstmrSno") int cstmrSno); } diff --git a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrGroupRepository.java b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrGroupRepository.java index 9fd2f20..a16c27b 100644 --- a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrGroupRepository.java +++ b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrGroupRepository.java @@ -16,5 +16,14 @@ public interface PtyCstmrGroupRepository extends JpaRepository findGroupId(@Param("groupId") String groupId, @Param("cstmrSno") int cstmrSno); + PtyCstmrGroup findGroupId(@Param("groupId") String groupId, @Param("cstmrSno") int cstmrSno); + + @Query("select p from PtyCstmrGroup p " + + "where p.groupId = :groupId " ) + List changeGroupJoinYn(@Param("groupId") String groupId); + + @Query("select p from PtyCstmrGroup p " + + "where p.cstmrSno = :cstmrSno " ) + List changeGroupAprvlYn(@Param("cstmrSno") int cstmrSno); + } diff --git a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupBasRepository.java b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupBasRepository.java index e5ca9f1..8c5dcac 100644 --- a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupBasRepository.java +++ b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupBasRepository.java @@ -15,4 +15,8 @@ public interface PtyGroupBasRepository extends JpaRepository findByGroupNm(@Param("groupNm") String groupNm); + + @Query("select p from PtyGroupBas p " + + "where p.groupId = :groupId ") + PtyGroupBas findByGroupId(@Param("groupId") String groupId); }