pamapi/src/main/java/com/pollex/pam/domain/Appointment.java | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
pamapi/src/main/java/com/pollex/pam/domain/AppointmentCustomerView.java | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
pamapi/src/main/java/com/pollex/pam/enums/AppointmentStatusEnum.java | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
pamapi/src/main/java/com/pollex/pam/service/mapper/AppointmentDTOMapper.java | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
pamapi/src/main/java/com/pollex/pam/web/rest/AppointmentResource.java | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 |
pamapi/src/main/java/com/pollex/pam/domain/Appointment.java
@@ -5,6 +5,7 @@ import javax.persistence.*; import com.pollex.pam.enums.AppointmentStatusEnum; import com.pollex.pam.enums.ContactStatusEnum; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @@ -69,6 +70,10 @@ @Column(name = "consultant_read_time") private Instant consultantReadTime; @Enumerated(value = EnumType.STRING) @Column(name = "status") private AppointmentStatusEnum status; public Long getId() { return id; @@ -197,4 +202,12 @@ public void setConsultantReadTime(Instant consultantReadTime) { this.consultantReadTime = consultantReadTime; } public AppointmentStatusEnum getStatus() { return status; } public void setStatus(AppointmentStatusEnum status) { this.status = status; } } pamapi/src/main/java/com/pollex/pam/domain/AppointmentCustomerView.java
@@ -10,6 +10,7 @@ import javax.persistence.Id; import javax.persistence.Table; import com.pollex.pam.enums.AppointmentStatusEnum; import com.pollex.pam.enums.ContactStatusEnum; @Entity @@ -73,6 +74,10 @@ @Column(name = "name") private String name; @Enumerated(value = EnumType.STRING) @Column(name = "status") private AppointmentStatusEnum status; public Long getId() { return id; @@ -210,4 +215,11 @@ this.name = name; } public AppointmentStatusEnum getStatus() { return status; } public void setStatus(AppointmentStatusEnum status) { this.status = status; } } pamapi/src/main/java/com/pollex/pam/enums/AppointmentStatusEnum.java
比對新檔案 @@ -0,0 +1,6 @@ package com.pollex.pam.enums; public enum AppointmentStatusEnum { AVAILABLE, DELETED } pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
@@ -3,6 +3,8 @@ import java.time.Instant; import java.util.List; import com.pollex.pam.enums.AppointmentStatusEnum; import com.pollex.pam.service.dto.AppointmentDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +22,8 @@ import com.pollex.pam.service.mapper.AppointmentCustomerViewMapper; import com.pollex.pam.service.mapper.AppointmentDTOMapper; import com.pollex.pam.web.rest.errors.AppointmentNotFoundException; import static com.pollex.pam.enums.AppointmentStatusEnum.DELETED; @Service @Transactional @@ -41,7 +45,7 @@ @Autowired AppointmentCustomerViewRepository appointmentCustomerViewRepository; @Autowired SatisfactionService satisfactionService; @@ -50,7 +54,7 @@ appointment.setCustomerId(SecurityUtils.getCustomerDBId()); appointment.setCommunicateStatus(ContactStatusEnum.RESERVED); appointmentRepository.save(appointment); } public List<Appointment> findByAgentNo(String agentNo) { @@ -87,4 +91,16 @@ log.debug("this appointment was read, read time = {}", appointment.getConsultantReadTime()); } } public void updateAppointment(AppointmentDTO appointmentDTO) { Appointment appointment = appointmentDTOMapper.toAppointment(appointmentDTO); appointmentRepository.save(appointment); } public void markAppointmentDeleted(Long appointmentId) { Appointment appointment = appointmentRepository.findById(appointmentId).get(); appointment.setStatus(DELETED); appointmentRepository.save(appointment); } } pamapi/src/main/java/com/pollex/pam/service/mapper/AppointmentDTOMapper.java
@@ -1,5 +1,6 @@ package com.pollex.pam.service.mapper; import com.pollex.pam.service.dto.AppointmentDTO; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -9,10 +10,16 @@ @Service public class AppointmentDTOMapper { public Appointment toAppointment(AppointmentCreateDTO source) { Appointment target = new Appointment(); BeanUtils.copyProperties(source, target); return target; } public Appointment toAppointment(AppointmentDTO source) { Appointment target = new Appointment(); BeanUtils.copyProperties(source, target); return target; } } pamapi/src/main/java/com/pollex/pam/web/rest/AppointmentResource.java
@@ -1,13 +1,9 @@ package com.pollex.pam.web.rest; import com.pollex.pam.service.dto.AppointmentDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import com.pollex.pam.service.AppointmentService; import com.pollex.pam.service.SatisfactionService; @@ -20,10 +16,22 @@ @Autowired AppointmentService appointmentService; @Autowired SatisfactionService satisfactionService; @PutMapping("") public ResponseEntity<Void> updateAppointment(@RequestBody AppointmentDTO appointment) { appointmentService.updateAppointment(appointment); return ResponseEntity.noContent().build(); } @DeleteMapping("/{appointmentId}") public ResponseEntity<Void> markAppointmentDeleted(@PathVariable Long appointmentId) { appointmentService.markAppointmentDeleted(appointmentId); return ResponseEntity.noContent().build(); } @PostMapping("/customer/create") public void clientCreateAppointment(@RequestBody AppointmentCreateDTO appointmentCreateDTO) { appointmentService.customerCreateAppointment(appointmentCreateDTO);