pamapi/src/doc/¹w¬ù³æ/µ²®×API.txt
@@ -1,7 +1,10 @@ http post : æ°å¢çµæ¡æç´°: http://localhost:8080/api/appointment/close æ´æ°çµæ¡æç´°: http://localhost:8080/api/appointment/close/info/edit request body : pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java
@@ -13,6 +13,7 @@ import com.pollex.pam.service.AppointmentClosedInfoService; import com.pollex.pam.service.AppointmentService; import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO; import com.pollex.pam.service.dto.DoneProcessDTO; @Service public class AppointmentProcess{ @@ -31,10 +32,21 @@ public void process(AbstractAppointmentProcessDTO dto) { AbstractAppointmentProcessDTO appointmentProcessDTO = (AbstractAppointmentProcessDTO)dto; // AbstractAppointmentProcessDTO appointmentProcessDTO = dto; processList.stream().forEach(process ->{ if(process.getProcessType() == appointmentProcessDTO.getContactStatus()) { process.doProcess(appointmentProcessDTO); if(process.getProcessType() == dto.getContactStatus()) { process.createProcess(dto); } }); Appointment appointment = appointmentService.findById(dto.getAppointmentId()); appointment.setCommunicateStatus(dto.getContactStatus()); appointmentRepository.save(appointment); } public void editClosedInfo(AbstractAppointmentProcessDTO dto) { processList.stream().forEach(process ->{ if(process.getProcessType() == dto.getContactStatus()) { process.editClosedInfo(dto); } }); Appointment appointment = appointmentService.findById(dto.getAppointmentId()); pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcessInterface.java
@@ -1,11 +1,13 @@ package com.pollex.pam.appointment.process; import com.pollex.pam.domain.AppointmentClosedInfo; import com.pollex.pam.enums.ContactStatusEnum; import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO; public interface AppointmentProcessInterface { void doProcess(AbstractAppointmentProcessDTO dto); void createProcess(AbstractAppointmentProcessDTO dto); AppointmentClosedInfo editClosedInfo(AbstractAppointmentProcessDTO dto); ContactStatusEnum getProcessType(); } pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
@@ -10,10 +10,12 @@ import com.pollex.pam.domain.AppointmentClosedInfo; import com.pollex.pam.enums.ContactStatusEnum; import com.pollex.pam.repository.AppointmentClosedInfoRepository; import com.pollex.pam.service.AppointmentClosedInfoService; import com.pollex.pam.service.AppointmentService; import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO; import com.pollex.pam.service.dto.ClosedProcessDTO; import com.pollex.pam.service.dto.DoneProcessDTO; import com.pollex.pam.web.rest.errors.AppointmentClosedInfoNotFoundException; @Service public class ClosedProcess implements AppointmentProcessInterface{ @@ -24,18 +26,23 @@ @Autowired AppointmentService appointmentService; @Autowired AppointmentClosedInfoService appointmentClosedInfoService; @Override public void doProcess(AbstractAppointmentProcessDTO processDTO) { public void createProcess(AbstractAppointmentProcessDTO processDTO) { checkClosedInfo(processDTO.getAppointmentId()); ClosedProcessDTO doneProcess = (ClosedProcessDTO)processDTO; BeanUtils.copyProperties(processDTO, doneProcess); ClosedProcessDTO closeProcess = toClosedProcessDTO(processDTO); AppointmentClosedInfo closedInfo = new AppointmentClosedInfo(); BeanUtils.copyProperties(doneProcess, closedInfo); BeanUtils.copyProperties(closeProcess, closedInfo); appointmentClosedInfoRepository.save(closedInfo); } private ClosedProcessDTO toClosedProcessDTO(AbstractAppointmentProcessDTO processDTO) { ClosedProcessDTO closeProcess = (ClosedProcessDTO)processDTO; BeanUtils.copyProperties(processDTO, closeProcess); return closeProcess; } private void checkClosedInfo(Long appointmentId) { @@ -49,6 +56,15 @@ public ContactStatusEnum getProcessType() { return ContactStatusEnum.CLOSED; } @Override public AppointmentClosedInfo editClosedInfo(AbstractAppointmentProcessDTO abstractDTO) { ClosedProcessDTO closeProcess = toClosedProcessDTO(abstractDTO); AppointmentClosedInfo closedInfo = appointmentClosedInfoService.findByAppointmentId(abstractDTO.getAppointmentId()); BeanUtils.copyProperties(closeProcess, closedInfo); return appointmentClosedInfoRepository.save(closedInfo); } } pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java
@@ -9,20 +9,25 @@ import com.pollex.pam.domain.AppointmentClosedInfo; import com.pollex.pam.enums.ContactStatusEnum; import com.pollex.pam.repository.AppointmentClosedInfoRepository; import com.pollex.pam.service.AppointmentClosedInfoService; import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO; import com.pollex.pam.service.dto.ClosedProcessDTO; import com.pollex.pam.service.dto.DoneProcessDTO; import com.pollex.pam.web.rest.errors.AppointmentClosedInfoNotFoundException; @Service public class DoneProcess implements AppointmentProcessInterface{ @Autowired AppointmentClosedInfoRepository appointmentClosedInfoRepository; @Autowired AppointmentClosedInfoService appointmentClosedInfoService; @Override public void doProcess(AbstractAppointmentProcessDTO processDTO) { public void createProcess(AbstractAppointmentProcessDTO processDTO) { checkClosedInfo(processDTO.getAppointmentId()); DoneProcessDTO doneProcess = (DoneProcessDTO)processDTO; BeanUtils.copyProperties(processDTO, doneProcess); DoneProcessDTO doneProcess = toDoneProcessDTO(processDTO); AppointmentClosedInfo closedInfo = new AppointmentClosedInfo(); BeanUtils.copyProperties(doneProcess, closedInfo); appointmentClosedInfoRepository.save(closedInfo); @@ -39,5 +44,20 @@ throw new IllegalArgumentException("appointment closed info exist"); } } @Override public AppointmentClosedInfo editClosedInfo(AbstractAppointmentProcessDTO abstractDTO) { DoneProcessDTO doneProcess = toDoneProcessDTO(abstractDTO); AppointmentClosedInfo closedInfo = appointmentClosedInfoService.findByAppointmentId(abstractDTO.getAppointmentId()); BeanUtils.copyProperties(doneProcess, closedInfo); return appointmentClosedInfoRepository.save(closedInfo); } private DoneProcessDTO toDoneProcessDTO(AbstractAppointmentProcessDTO abstractDTO) { DoneProcessDTO doneProcess = (DoneProcessDTO)abstractDTO; BeanUtils.copyProperties(abstractDTO, doneProcess); return doneProcess; } } pamapi/src/main/java/com/pollex/pam/service/dto/AbstractAppointmentProcessDTO.java
@@ -6,6 +6,7 @@ private ContactStatusEnum contactStatus; private Long appointmentId; // private Long closedInfoId; public ContactStatusEnum getContactStatus() { return contactStatus; @@ -23,6 +24,14 @@ this.appointmentId = appointmentId; } // public Long getClosedInfoId() { // return closedInfoId; // } // // public void setClosedInfoId(Long closedInfoId) { // this.closedInfoId = closedInfoId; // } } pamapi/src/main/java/com/pollex/pam/service/dto/AppointmentCloseDTO.java
@@ -6,6 +6,7 @@ public class AppointmentCloseDTO{ // private Long closedInfoId; private String policyholderIdentityId; private String planCode; private Date policyEntryDate; @@ -63,6 +64,14 @@ public void setAppointmentId(Long appointmentId) { this.appointmentId = appointmentId; } // public Long getClosedInfoId() { // return closedInfoId; // } // public void setClosedInfoId(Long closedInfoId) { // this.closedInfoId = closedInfoId; // } } pamapi/src/main/java/com/pollex/pam/web/rest/AppointmentResource.java
@@ -88,4 +88,22 @@ return ResponseEntity.noContent().build(); } @PostMapping("/close/info/edit") public ResponseEntity<Void> editAppointmentClosedInfo(@RequestBody AppointmentCloseDTO closeDTO) { if(closeDTO.getContactStatus() == ContactStatusEnum.DONE) { DoneProcessDTO dto = new DoneProcessDTO(); BeanUtils.copyProperties(closeDTO, dto); abstractAppointmentProcess.editClosedInfo(dto); }else if(closeDTO.getContactStatus() == ContactStatusEnum.CLOSED){ ClosedProcessDTO dto = new ClosedProcessDTO(); BeanUtils.copyProperties(closeDTO, dto); abstractAppointmentProcess.editClosedInfo(dto); }else { return ResponseEntity.notFound().build(); } return ResponseEntity.noContent().build(); } }