Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CIV-14385 Bulk print Lip - Notice of Discontinue #5116

Merged
merged 112 commits into from
Jul 23, 2024
Merged
Show file tree
Hide file tree
Changes from 90 commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
30446bc
CIV-14146: Added midEvent and validations
sjamihmcts Jul 1, 2024
70922fe
CIV-14128:Updated midEvent and caseData fields
sjamihmcts Jul 1, 2024
c78c588
CIV-14128: Added more unit tests
sjamihmcts Jul 2, 2024
1af507f
Merge branch 'master' into feat/CIV-14146_Service
sjamihmcts Jul 2, 2024
a1bda00
CIV-14128: Fix checkstyle errors
sjamihmcts Jul 2, 2024
cad29fa
CIV-14146: Fix checkstyle errors
sjamihmcts Jul 2, 2024
3b28b37
CIV-14146: Remove this field as this is not needed for now
sjamihmcts Jul 2, 2024
6a78d3a
CIV-14146: Organized imports
sjamihmcts Jul 2, 2024
2fde3a5
Merge branch 'master' into feat/CIV-14146_Service
sjamihmcts Jul 2, 2024
ec45a4e
CIV-14146: Updated tests
sjamihmcts Jul 2, 2024
c1d55ff
Merge remote-tracking branch 'origin/feat/CIV-14146_Service' into fea…
sjamihmcts Jul 2, 2024
e3ca5bb
Merge branch 'master' into feat/CIV-14146_Service
sjamihmcts Jul 2, 2024
a70d6a0
Merge branch 'master' into feat/CIV-14146_Service
Azam-Hmcts Jul 4, 2024
ae91573
Merge branch 'master' into feat/CIV-14146_Service
Azam-Hmcts Jul 4, 2024
41f01a3
Merge branch 'master' into feat/CIV-14146_Service
Azam-Hmcts Jul 4, 2024
f4ae47d
CIV-14194 initial commit
kalachandrasekar1 Jul 4, 2024
dc0b57d
Merge branch 'master' into feat/CIV-14194
kalachandrasekar1 Jul 5, 2024
728d4c7
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 5, 2024
9914458
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 5, 2024
6d3ff3e
CIV-14194 test cases added
kalachandrasekar1 Jul 5, 2024
3596e21
Merge branch 'master' into feat/CIV-14194
kalachandrasekar1 Jul 8, 2024
851320f
CIV-14194 removed extra space
kalachandrasekar1 Jul 8, 2024
8177964
CIV-14194 testcase updated
kalachandrasekar1 Jul 8, 2024
4c0fa38
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 8, 2024
52cb287
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 8, 2024
60b6690
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 8, 2024
cc362db
Merge remote-tracking branch 'origin/feat/CIV-14194' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 8, 2024
9949486
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 8, 2024
a2be09c
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 9, 2024
332c318
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 10, 2024
d9486f7
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 10, 2024
ccb300c
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 10, 2024
22c1d37
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 10, 2024
e28c2b5
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 10, 2024
0d92359
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 10, 2024
bcfd8ac
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 10, 2024
e4afdca
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 10, 2024
816226c
CIV-14244 Discontinue Claim notification
Omaira-Melo-Hmcts Jul 10, 2024
00ff58b
CIV-14244 Flow flag condition updated
Omaira-Melo-Hmcts Jul 11, 2024
770c3d5
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 12, 2024
ff3141a
CIV-14244 Flow flag condition updated
Omaira-Melo-Hmcts Jul 12, 2024
8e2711d
Merge remote-tracking branch 'origin/feat/CIV-14244' into feat/IV-14259
kalachandrasekar1 Jul 15, 2024
9195407
CIV-14259 initial commit
kalachandrasekar1 Jul 15, 2024
b433575
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 16, 2024
fcd5e67
CIV-14244 Flow flag condition updated
Omaira-Melo-Hmcts Jul 16, 2024
08d6a04
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 16, 2024
1fe8a2e
CIV-14244 Resolve imports sonar issue
Omaira-Melo-Hmcts Jul 16, 2024
26c8f7a
CIV-14244 Notification properties update
Omaira-Melo-Hmcts Jul 16, 2024
7ab6289
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 16, 2024
59ec99e
CIV-14244 Fixin error test
Omaira-Melo-Hmcts Jul 16, 2024
6ca083d
CIV-14244 Fixin error test
Omaira-Melo-Hmcts Jul 16, 2024
85f0fa0
CIV-14244 Unused util
Omaira-Melo-Hmcts Jul 16, 2024
1165bbb
CIV-14244 Test class for GenerateNoticeOfDiscontinueClaim
Omaira-Melo-Hmcts Jul 16, 2024
3989d4d
CIV-14244 Duplication error
Omaira-Melo-Hmcts Jul 16, 2024
a3c0243
CIV-14259 testcase added
kalachandrasekar1 Jul 16, 2024
bc2e94e
CIV-14259 changes
kalachandrasekar1 Jul 16, 2024
d1bb94d
Merge branch 'feat/CIV-14244' into feat/CIV-14259
kalachandrasekar1 Jul 16, 2024
95ad0ec
Civ-14259 checkstyle fixed
kalachandrasekar1 Jul 16, 2024
c2d9e8c
CIV-14244 Fixing error for the condition to discontinue.
Omaira-Melo-Hmcts Jul 16, 2024
27f1f11
CIV-14244 Deleting the states not needed in the flowstate
Omaira-Melo-Hmcts Jul 16, 2024
f3355b9
CIV-14244 Update the flag for camunda into runtime
Omaira-Melo-Hmcts Jul 16, 2024
beb13af
Merge branch 'master' into feat/CIV-14244
sherlynkhaw Jul 16, 2024
ac31e2f
CIV-14244 Reverting changes for flowFlag on stateflowEngine
Omaira-Melo-Hmcts Jul 16, 2024
53e23f1
Merge remote-tracking branch 'origin/feat/CIV-14244' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 16, 2024
edaa66d
CIV-14244 Reverting changes for flowFlag on stateflowEngine
Omaira-Melo-Hmcts Jul 16, 2024
b2ff72e
CIV-14259 code refactored
kalachandrasekar1 Jul 16, 2024
9afa62b
Merge branch 'feat/CIV-14244' into feat/CIV-14259
kalachandrasekar1 Jul 16, 2024
4b82646
CIV-14244 Reverting changes for flowFlag on stateflowEngine
Omaira-Melo-Hmcts Jul 16, 2024
8c44edc
CIV-14259 merge issue fixed
kalachandrasekar1 Jul 16, 2024
7ce3912
Merge branch 'master' into feat/CIV-14244
Azam-Hmcts Jul 16, 2024
1ac3bfa
Merge branch 'master' into feat/CIV-14259
kalachandrasekar1 Jul 17, 2024
e05e945
removed toString()
kalachandrasekar1 Jul 17, 2024
18ceb41
Merge branch 'master' into feat/CIV-14259
kalachandrasekar1 Jul 17, 2024
da81ab5
CIV-14244 Forgot upload the Defentand2 blank handler for continue wit…
Omaira-Melo-Hmcts Jul 17, 2024
9fb0dc6
CIV-14244 Error on test name
Omaira-Melo-Hmcts Jul 17, 2024
8893729
CIV-14385 initial commit
kalachandrasekar1 Jul 18, 2024
4104fbd
Merge branch 'feat/CIV-14244' into feat/CIV-14259
kalachandrasekar1 Jul 18, 2024
a14a251
Merge branch 'master' into feat/CIV-14259
kalachandrasekar1 Jul 18, 2024
59434d1
Merge branch 'master' into feat/CIV-14259
kalachandrasekar1 Jul 18, 2024
d3f9c5f
Merge branch 'master' into feat/CIV-14244
krishnanuthalapati Jul 18, 2024
b080cd2
Merge branch 'feat/CIV-14259' into feat/14385
kalachandrasekar1 Jul 18, 2024
49a640d
Update Jenkinsfile_CNP
kalachandrasekar1 Jul 18, 2024
43ae1f2
Update Jenkinsfile_CNP
kalachandrasekar1 Jul 18, 2024
e109cee
CIV-14259 template name updated
kalachandrasekar1 Jul 18, 2024
c0995b2
Merge branch 'feat/CIV-14259' into feat/CIV-14385
kalachandrasekar1 Jul 18, 2024
9e713d1
Merge branch 'master' into feat/CIV-14259
kalachandrasekar1 Jul 18, 2024
00a60cd
CIV-14259 testing issue fixed
kalachandrasekar1 Jul 18, 2024
a70156e
CIV-14259 review comments updated
kalachandrasekar1 Jul 19, 2024
1dee78b
checkstyle fixed
kalachandrasekar1 Jul 19, 2024
72b8208
CIV-14244 Fixing defendant2 notification error
Omaira-Melo-Hmcts Jul 19, 2024
c50e5da
Merge branch 'feat/CIV-14259' into feat/CIV-14385
kalachandrasekar1 Jul 19, 2024
7086135
Merge branch 'master' into feat/CIV-14385
kalachandrasekar1 Jul 19, 2024
834f6fb
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 19, 2024
3aa6317
Merge branch 'master' into feat/CIV-14259
kalachandrasekar1 Jul 19, 2024
c05c114
CIV-14259 template updated
kalachandrasekar1 Jul 19, 2024
def5edf
Merge branch 'master' into feat/CIV-14244
Azam-Hmcts Jul 19, 2024
9579298
Merge branch 'master' into feat/CIV-14244
Omaira-Melo-Hmcts Jul 19, 2024
8629b72
Merge branch 'master' into feat/CIV-14244
Azam-Hmcts Jul 19, 2024
c71211a
Merge branch 'feat/CIV-14244' into feat/CIV-14259
kalachandrasekar1 Jul 22, 2024
385f822
Merge branch 'master' into feat/CIV-14259
kalachandrasekar1 Jul 22, 2024
454abd9
Merge branch 'feat/CIV-14259' into feat/CIV-14385
kalachandrasekar1 Jul 22, 2024
461dee6
CIV-14385 code updated
kalachandrasekar1 Jul 22, 2024
dc0e285
Merge branch 'master' into feat/CIV-14385
kalachandrasekar1 Jul 22, 2024
f3edea8
CIV-14385 checkstyle fixed
kalachandrasekar1 Jul 22, 2024
636ec51
CIV-14259 ConfirmOrderGivesPermission changes
kalachandrasekar1 Jul 22, 2024
87133b8
Merge branch 'master' into feat/CIV-14259
kalachandrasekar1 Jul 22, 2024
f8cfaec
Merge branch 'master' into feat/CIV-14259
Azam-Hmcts Jul 22, 2024
7c788a6
Merge branch 'master' into feat/CIV-14259
Azam-Hmcts Jul 22, 2024
df47f07
Merge branch 'feat/CIV-14259' into feat/CIV-14385
kalachandrasekar1 Jul 22, 2024
b4c2051
Merge branch 'master' into feat/CIV-14385
kalachandrasekar1 Jul 22, 2024
cade630
Merge branch 'master' into feat/CIV-14385
Azam-Hmcts Jul 23, 2024
52fe9e8
Merge branch 'master' into feat/CIV-14385
Azam-Hmcts Jul 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,12 @@ public enum CaseEvent {
CREATE_DASHBOARD_NOTIFICATION_DECISION_RECONSIDERATION_CLAIMANT1(CAMUNDA),
CREATE_DASHBOARD_NOTIFICATION_DECISION_RECONSIDERATION_DEFENDANT1(CAMUNDA),
NOTIFY_CLAIMANT_UPLOADED_DOCUMENT_ORDER_NOTICE(CAMUNDA),
NOTIFY_DEFENDANT_UPLOADED_DOCUMENT_ORDER_NOTICE(CAMUNDA);
NOTIFY_DEFENDANT_UPLOADED_DOCUMENT_ORDER_NOTICE(CAMUNDA),
GEN_NOTICE_OF_DISCONTINUANCE(CAMUNDA),
NOTIFY_DISCONTINUANCE_DEFENDANT1(CAMUNDA),
NOTIFY_DISCONTINUANCE_CLAIMANT1(CAMUNDA),
SEND_DISCONTINUANCE_LETTER_LIP_DEFENDANT1(CAMUNDA),
NOTIFY_DISCONTINUANCE_DEFENDANT2(CAMUNDA);

private final UserType userType;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,6 @@ public enum DocumentType {
JUDGMENT_BY_ADMISSION_DEFENDANT,
JUDGMENT_BY_DETERMINATION_CLAIMANT,
JUDGMENT_BY_DETERMINATION_DEFENDANT,
ORDER_NOTICE_TRANSLATED_DOCUMENT;
ORDER_NOTICE_TRANSLATED_DOCUMENT,
NOTICE_OF_DISCONTINUANCE;
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ public enum DocCategory {
DQ_APP1("DQApplicant"),
DQ_DEF1("DQRespondent"),
DQ_DEF2("DQRespondentTwo"),
HEARING_NOTICES("hearingNotices");
HEARING_NOTICES("hearingNotices"),
NOTICE_OF_DISCONTINUE("discontinueNotices");

private final String value;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package uk.gov.hmcts.reform.civil.handler.callback.camunda.docmosis;

import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import org.camunda.bpm.engine.RuntimeService;
import org.springframework.stereotype.Service;
import uk.gov.hmcts.reform.ccd.client.model.AboutToStartOrSubmitCallbackResponse;
import uk.gov.hmcts.reform.ccd.client.model.CallbackResponse;
import uk.gov.hmcts.reform.civil.callback.Callback;
import uk.gov.hmcts.reform.civil.callback.CallbackHandler;
import uk.gov.hmcts.reform.civil.callback.CallbackParams;
import uk.gov.hmcts.reform.civil.callback.CaseEvent;
import uk.gov.hmcts.reform.civil.documentmanagement.model.CaseDocument;
import uk.gov.hmcts.reform.civil.enums.DocCategory;
import uk.gov.hmcts.reform.civil.model.CaseData;
import uk.gov.hmcts.reform.civil.service.docmosis.settlediscontinue.NoticeOfDiscontinuanceFormGenerator;
import uk.gov.hmcts.reform.civil.utils.AssignCategoryId;

import java.util.List;
import java.util.Map;

import static java.util.Objects.nonNull;
import static uk.gov.hmcts.reform.civil.callback.CallbackParams.Params.BEARER_TOKEN;
import static uk.gov.hmcts.reform.civil.callback.CallbackType.ABOUT_TO_SUBMIT;
import static uk.gov.hmcts.reform.civil.callback.CaseEvent.GEN_NOTICE_OF_DISCONTINUANCE;

@Service
@RequiredArgsConstructor
public class GenerateDiscontinueClaimCallbackHandler extends CallbackHandler {

private static final List<CaseEvent> EVENTS = List.of(
GEN_NOTICE_OF_DISCONTINUANCE
);
private static final String TASK_ID = "GenerateNoticeOfDiscontinueClaim";
private final ObjectMapper objectMapper;
private final AssignCategoryId assignCategoryId;
private final NoticeOfDiscontinuanceFormGenerator formGenerator;
private final RuntimeService runTimeService;

@Override
protected Map<String, Callback> callbacks() {
return Map.of(callbackKey(ABOUT_TO_SUBMIT), this::aboutToSubmit);
}

@Override
public List<CaseEvent> handledEvents() {
return EVENTS;
}

@Override
public String camundaActivityId(CallbackParams callbackParams) {
return TASK_ID;
}

private CallbackResponse aboutToSubmit(CallbackParams callbackParams) {
CaseData caseData = callbackParams.getCaseData();
CaseData.CaseDataBuilder<?, ?> caseDataBuilder = caseData.toBuilder();
updateCamundaVars(caseData);
buildDocument(callbackParams, caseDataBuilder);
CaseData updatedData = caseDataBuilder.build();

if (nonNull(updatedData.getNoticeOfDiscontinueCWDoc())) {
assignDiscontinuanceCategoryId(updatedData.getNoticeOfDiscontinueCWDoc());
} else {
assignDiscontinuanceCategoryId(updatedData.getNoticeOfDiscontinueAllParitiesDoc());
}
return AboutToStartOrSubmitCallbackResponse.builder()
.data(updatedData.toMap(objectMapper))
.build();
}

private void buildDocument(CallbackParams callbackParams, CaseData.CaseDataBuilder<?, ?> caseDataBuilder) {
CaseData caseData = callbackParams.getCaseData();
CaseDocument caseDocument = formGenerator.generateDocs(
callbackParams.getCaseData(),
callbackParams.getParams().get(BEARER_TOKEN).toString());
if (caseData.isJudgeOrderVerificationRequired()) {
caseDataBuilder.noticeOfDiscontinueCWDoc(caseDocument);
} else {
caseDataBuilder.noticeOfDiscontinueAllParitiesDoc(caseDocument);
}
}

private void assignDiscontinuanceCategoryId(CaseDocument caseDocument) {
assignCategoryId.assignCategoryIdToCaseDocument(caseDocument, DocCategory.NOTICE_OF_DISCONTINUE.getValue());
}

private void updateCamundaVars(CaseData caseData) {
runTimeService.setVariable(
caseData.getBusinessProcess().getProcessInstanceId(),
"JUDGE_ORDER_VERIFICATION_REQUIRED",
caseData.isJudgeOrderVerificationRequired()
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package uk.gov.hmcts.reform.civil.handler.callback.camunda.docmosis;

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import uk.gov.hmcts.reform.ccd.client.model.AboutToStartOrSubmitCallbackResponse;
import uk.gov.hmcts.reform.ccd.client.model.CallbackResponse;
import uk.gov.hmcts.reform.civil.callback.Callback;
import uk.gov.hmcts.reform.civil.callback.CallbackHandler;
import uk.gov.hmcts.reform.civil.callback.CallbackParams;
import uk.gov.hmcts.reform.civil.callback.CaseEvent;
import uk.gov.hmcts.reform.civil.enums.YesOrNo;
import uk.gov.hmcts.reform.civil.model.CaseData;
import uk.gov.hmcts.reform.civil.service.docmosis.settlediscontinue.NoticeOfDiscontinuanceLiPLetterGenerator;

import java.util.List;
import java.util.Map;

import static uk.gov.hmcts.reform.civil.callback.CallbackParams.Params.BEARER_TOKEN;
import static uk.gov.hmcts.reform.civil.callback.CallbackType.ABOUT_TO_SUBMIT;
import static uk.gov.hmcts.reform.civil.callback.CaseEvent.SEND_DISCONTINUANCE_LETTER_LIP_DEFENDANT1;

@Service
@RequiredArgsConstructor
public class PostNoticeOfDiscontinuanceLetterLiPDefendant1Handler extends CallbackHandler {

private static final List<CaseEvent> EVENTS = List.of(
SEND_DISCONTINUANCE_LETTER_LIP_DEFENDANT1);

public static final String TASK_ID = "PostNoticeOfDiscontinuanceDefendant1LIP";
private final NoticeOfDiscontinuanceLiPLetterGenerator lipLetterGenerator;

@Override
protected Map<String, Callback> callbacks() {
return Map.of(
callbackKey(ABOUT_TO_SUBMIT),
this::sendNoticeOfDiscontinuanceLetterToLiPDefendant1
);
}

@Override
public String camundaActivityId(CallbackParams callbackParams) {
return TASK_ID;
}

@Override
public List<CaseEvent> handledEvents() {
return EVENTS;
}

private CallbackResponse sendNoticeOfDiscontinuanceLetterToLiPDefendant1(CallbackParams callbackParams) {
CaseData caseData = callbackParams.getCaseData();
if (isRespondent1Lip(caseData)) {
generateNoticeOfDiscontinuanceLiPDefendantLetter(callbackParams);
}
return AboutToStartOrSubmitCallbackResponse.builder().build();
}

private boolean isRespondent1Lip(CaseData caseData) {
return YesOrNo.NO.equals(caseData.getRespondent1Represented());
}

private void generateNoticeOfDiscontinuanceLiPDefendantLetter(CallbackParams callbackParams) {
CaseData caseData = callbackParams.getCaseData();
lipLetterGenerator.printNoticeOfDiscontinuanceLetter(caseData, callbackParams.getParams().get(BEARER_TOKEN).toString());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
package uk.gov.hmcts.reform.civil.handler.callback.camunda.notification;

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import uk.gov.hmcts.reform.ccd.client.model.AboutToStartOrSubmitCallbackResponse;
import uk.gov.hmcts.reform.ccd.client.model.CallbackResponse;
import uk.gov.hmcts.reform.civil.callback.Callback;
import uk.gov.hmcts.reform.civil.callback.CallbackHandler;
import uk.gov.hmcts.reform.civil.callback.CallbackParams;
import uk.gov.hmcts.reform.civil.callback.CaseEvent;
import uk.gov.hmcts.reform.civil.model.CaseData;
import uk.gov.hmcts.reform.civil.notify.NotificationService;
import uk.gov.hmcts.reform.civil.notify.NotificationsProperties;
import uk.gov.hmcts.reform.civil.service.OrganisationService;

import java.util.List;
import java.util.Map;

import static uk.gov.hmcts.reform.civil.callback.CallbackType.ABOUT_TO_SUBMIT;
import static uk.gov.hmcts.reform.civil.callback.CaseEvent.NOTIFY_DISCONTINUANCE_CLAIMANT1;
import static uk.gov.hmcts.reform.civil.utils.NotificationUtils.getApplicantLegalOrganizationName;

@Service
@RequiredArgsConstructor
public class NotifyClaimantClaimDiscontinuedNotificationHandler extends CallbackHandler
implements NotificationData {

private static final List<CaseEvent> EVENTS = List.of(NOTIFY_DISCONTINUANCE_CLAIMANT1);
public static final String TASK_ID = "NotifyClaimantClaimDiscontinued";
private static final String REFERENCE_TEMPLATE =
"claimant-claim-discontinued-%s";

private final NotificationService notificationService;
private final NotificationsProperties notificationsProperties;
private final OrganisationService organisationService;

@Override
protected Map<String, Callback> callbacks() {
return Map.of(
callbackKey(ABOUT_TO_SUBMIT),
this::notifyClaimantClaimDiscontinued
);
}

@Override
public String camundaActivityId(CallbackParams callbackParams) {
return TASK_ID;
}

@Override
public List<CaseEvent> handledEvents() {
return EVENTS;
}

private CallbackResponse notifyClaimantClaimDiscontinued(CallbackParams callbackParams) {
CaseData caseData = callbackParams.getCaseData();

if (!caseData.isApplicantLiP()) {
notificationService.sendMail(
caseData.getApplicantSolicitor1UserDetails().getEmail(),
getTemplate(),
addProperties(caseData),
getReferenceTemplate(caseData)
);
}

return AboutToStartOrSubmitCallbackResponse.builder().build();
}

@Override
public Map<String, String> addProperties(CaseData caseData) {
return Map.of(
CLAIM_REFERENCE_NUMBER, caseData.getLegacyCaseReference(),
LEGAL_ORG_NAME, getApplicantLegalOrganizationName(caseData, organisationService)
);
}

private String getTemplate() {
return notificationsProperties.getNotifyClaimDiscontinuedLRTemplate();
}

private String getReferenceTemplate(CaseData caseData) {
return String.format(REFERENCE_TEMPLATE, caseData.getLegacyCaseReference());
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package uk.gov.hmcts.reform.civil.handler.callback.camunda.notification;

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import uk.gov.hmcts.reform.civil.callback.Callback;
import uk.gov.hmcts.reform.civil.callback.CallbackHandler;
import uk.gov.hmcts.reform.civil.callback.CallbackParams;
import uk.gov.hmcts.reform.civil.callback.CaseEvent;
import uk.gov.hmcts.reform.civil.model.CaseData;

import java.util.List;
import java.util.Map;

import static uk.gov.hmcts.reform.civil.callback.CallbackType.ABOUT_TO_SUBMIT;
import static uk.gov.hmcts.reform.civil.callback.CaseEvent.NOTIFY_DISCONTINUANCE_DEFENDANT2;

@Service
@RequiredArgsConstructor
public class NotifyDefendant2ClaimDiscontinuedNotificationHandler extends CallbackHandler
implements NotificationData {

private static final List<CaseEvent> EVENTS = List.of(NOTIFY_DISCONTINUANCE_DEFENDANT2);
public static final String TASK_ID = "NotifyDefendant2ClaimDiscontinued";

@Override
protected Map<String, Callback> callbacks() {
return Map.of(
callbackKey(ABOUT_TO_SUBMIT),
this::emptyCallbackResponse
);
}

@Override
public String camundaActivityId(CallbackParams callbackParams) {
return TASK_ID;
}

@Override
public List<CaseEvent> handledEvents() {
return EVENTS;
}

@Override
public Map<String, String> addProperties(CaseData caseData) {
return null;
}
}
Loading
Loading