保誠-保戶業務員媒合平台
wayne
2022-03-01 3ffa09663819d163579fb90276d372a675c528f0
pamapi/src/main/java/com/pollex/pam/service/ScheduleTaskService.java
@@ -77,10 +77,11 @@
            Optional<String> optionalPhone = Optional.ofNullable(consultant.getPhoneNumber()).filter(StringUtils::hasText);
            Optional<String> optionalEmail = Optional.ofNullable(consultant.getEmail()).filter(StringUtils::hasText);
            String emailContent = getAppointmentPendingNotifyEmailContent(pendingAppointmentsSum);
            String emailContent = getAppointmentPendingNotifyEmailContent(pendingAppointmentsSum, getAppointmentPendingNotifyUrl());
            optionalPhone.ifPresent(phone -> {
                sendMsgService.sendMsgBySMS(phone, String.format("您有%s則預約單未進行聯繫,請盡速處理", pendingAppointmentsSum));
                sendMsgService.sendMsgBySMS(phone, String.format("您有%s則預約單未進行聯繫,請盡速處理,點擊網址:%s"
                    , pendingAppointmentsSum, getAppointmentPendingNotifyUrl()));
            });
            optionalEmail.ifPresent(email -> {
                sendMsgService.sendMsgByEmail(email, NOT_CONTACTED_NOTIFY_SUBJECT, emailContent, true);
@@ -138,7 +139,6 @@
            personalNotificationService.createNotFillAppointmentSatisfactionNumberToCustomer(customerId, notFillSatisfactions.size())
        );
    }
    private boolean isAppointmentExpiringNotifyNotOnLimit(AppointmentCustomerView appointment) {
        int sendNotifyToCustomerRecordSum =
            appointmentExpiringNotifyRecordRepository.findAllByAppointmentId(appointment.getId()).size();
@@ -146,13 +146,19 @@
        return sendNotifyToCustomerRecordSum < Constants.SEND_EXPIRING_NOTIFY_LIMIT;
    }
    private String getAppointmentPendingNotifyUrl() {
        // todo: 確認顧問登入網址為何
        return applicationProperties.getFrontEndDomain() + "";
    }
    private String getAppointmentExpiringNotifyUrl(Long appointmentId) {
        return applicationProperties.getFrontEndDomain() + "?notContactAppointmentId=" + appointmentId;
    }
    private String getAppointmentPendingNotifyEmailContent(int sum) {
    private String getAppointmentPendingNotifyEmailContent(int sum, String notifyUrl) {
        Context context = new Context();
        context.setVariable("pendingAppointmentSum", sum);
        context.setVariable("notifyUrl", notifyUrl);
        return springTemplateEngine.process("mail/appointmentPendingNotifyEmail", context);
    }