diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java index 43f64324097142b8c69b1f2c58a9b2c46a82cc03..92d4df3d6a9e71da15f05cc7f8f86394f8357be6 100644 --- a/opp/core/src/main/java/Repository.java +++ b/opp/core/src/main/java/Repository.java @@ -96,5 +96,7 @@ public interface Repository { void saveTeamMember(TeamMember TeamMember) throws Exception; + TeamMember removeTeamMember(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) throws Exception; + List<OPStaff> getOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId); } diff --git a/opp/core/src/main/java/TeamMemberImpl.java b/opp/core/src/main/java/TeamMemberImpl.java index 418bc31a8cacc217020f41d0d5fa620eb734cdb7..a79d1e811544812bda30eb4acda89af61a74b701 100644 --- a/opp/core/src/main/java/TeamMemberImpl.java +++ b/opp/core/src/main/java/TeamMemberImpl.java @@ -31,13 +31,8 @@ public class TeamMemberImpl implements TeamMemberService{ return teammember; } - private TeamMember removeStaffimpl(TeamMember.RemoveStaff rs) { - TeamMember teammember = - new TeamMember( - rs.operationTeamId(), - rs.opStaffId(), - Instant.now() - ); - return teammember; + private TeamMember removeStaffimpl(TeamMember.RemoveStaff rs) throws Exception { + return repo.removeTeamMember(rs.operationTeamId(), rs.opStaffId()); + } } diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java index 890f49fa1a48e8ae3b17be166eef3ff80f453c0d..47135cf2f29ffb71c5898d16f1a36a18e11857b1 100644 --- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java +++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java @@ -659,6 +659,26 @@ class JDBCRepository implements Repository } } + public TeamMember removeTeamMember(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) throws Exception{ + + try( + var stmt = conn.createStatement() + ){ + //TODO + /*var sql = + findOPStaff(opStaff.id()).isPresent() ? + updateOPStaffSQL(opStaff) : + insertOPStaffSQL(opStaff);*/ + var sql = "DELETE FROM opStaffsInOperationTeams WHERE operationTeamId = '"+ operationTeamId.value() +"' AND opStaffId = '"+opStaffId.value()+"';"; + + stmt.executeUpdate(sql); + + }catch(SQLException e){ + throw new RuntimeException(e); + } + return null; + } + @Override public List<OPStaff> getOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId){ diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java index 4d7e5d0ae5899bdeb583f55e53c5bddc80f1da99..b196c1ba170cfa183d99fbbf82eb4d0a71020caf 100644 --- a/opp/jdbc-repo-impl/src/test/java/Tests.java +++ b/opp/jdbc-repo-impl/src/test/java/Tests.java @@ -333,7 +333,7 @@ public final class Tests OperationTeam deleteOperationTeam = operationTeamService.process(deleteCommand); } - @Test + //@Test public void testInsertTeamMember1() throws Exception{ try { @@ -343,6 +343,21 @@ public final class Tests } } + @Test + public void testRemoveTeamMember() throws Exception{ + + var opStaffId = new Id<OPStaff>("4444"); + var operationTeamId = new Id<OperationTeam>("31"); + + TeamMember.RemoveStaff deleteCommand = new TeamMember.RemoveStaff( + operationTeamId, + opStaffId + ); + + TeamMember deleteTeamMember = teamMemberService.process(deleteCommand); + + } + //@Test public void testGetOperationTeam() throws Exception{