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

Mail user on TransactionStop and SuspendedEV event #1263

Open
wants to merge 46 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
0005fa7
StringUtils: add method to check mail address
Aug 2, 2023
4cbea6f
UserRepository: add method "User.Details getDetails(String ocppTag)"
Aug 2, 2023
75fd4fa
TransactionRepository: add method "Transaction getTransaction(int tra…
Aug 2, 2023
e254786
MailService: change method "send(String subject, String body)" to "se…
Aug 2, 2023
4eadaa8
NotificationService: in method "ocppTransactionEnded(OcppTransactionE…
Aug 2, 2023
dd6fc78
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Aug 2, 2023
1b366b4
OcppStationStatusSuspendedEV.java added
Aug 2, 2023
e38a108
NotificationFeature.java: added NotificationFeature "OcppStationStatu…
Aug 2, 2023
f51a3da
CentralSystemService16_Service.java: on a statusNotification, added p…
Aug 2, 2023
df0b5c4
OcppServerRepository: add method getConnectorPK
Aug 2, 2023
7f73ecd
TransactionRepository: add method getOcppTagOfActiveTransaction(integ…
Aug 2, 2023
4ca23a6
NotificationService: added Event ocppStationStatusSuspendedEV(OcppSta…
Aug 2, 2023
64707ee
NotificationService & CentralSystemService16_Service: Format and Comm…
Aug 4, 2023
00853ff
NotificationService: added mail to "admin" in OcppStationStatusSuspen…
Aug 5, 2023
bf113ab
NotificationService: formated mail text in OcppStationStatusSuspended…
Aug 5, 2023
4392296
NotificationService.java & OcppStationStatusSuspend: commeting and fo…
Oct 12, 2023
fac303d
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Oct 12, 2023
ee0e608
Merge origin/MailUserAtTransactionStop into MailUserAtTransactionStop
Oct 12, 2023
8e44e38
style correction
Oct 12, 2023
472b75d
style correction
Oct 17, 2023
a38d588
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Nov 28, 2023
d1f586d
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Dec 13, 2023
416c838
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Dec 23, 2023
953abb4
TransactionRepositoryImpl, method getOcppTagOfActiveTransaction: orde…
Dec 23, 2023
48d7a68
NotificationService, SuspendedEV & TransactionStop: catch exception i…
Dec 23, 2023
6a2a702
Removed unnecessary code
Dec 25, 2023
eb64190
NotificationService: shorten the error log message (no stack info)
Dec 25, 2023
102ea16
BeanConfiguration: add @EnableAsync to activate @Async in Notificatio…
Dec 25, 2023
1798ba9
BeanConfiguration: removed @EnableAsync because it's notcompiling und…
Dec 26, 2023
14ac662
NotificationService: removing @Async annotations. Realizing async ins…
Dec 26, 2023
817bc5d
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Jan 15, 2024
6a9091c
OcppServerRepository remove method getConnectorPk
Jan 23, 2024
3d26aa2
TransactionRepository: add method getActiveTransactionId(String chage…
Jan 23, 2024
4c66f00
add timestamp to SUSPENDED_EV notification
Jan 23, 2024
4d2963a
adapt methode notificationActionSuspendedEV -> removed ocppServerRepo…
Jan 23, 2024
230c1ee
getActiveTransactionId(String chargeBox, Integer connectorId) method,…
Jan 23, 2024
a1d5ce1
Merge origin/MailUserAtTransactionStop into MailUserAtTransactionStop
Jan 23, 2024
f7919f7
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Feb 1, 2024
2c46260
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Feb 6, 2024
0563e46
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Feb 19, 2024
26442d3
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Mar 28, 2024
f61a428
Merge branch 'master' into MailUserAtTransactionStop
fnkbsi Apr 3, 2024
9faa7b4
Restore @override annotation after reslove conflict
fnkbsi Apr 3, 2024
a85bbef
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Apr 19, 2024
199b45c
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi May 13, 2024
f5edb5d
Merge branch 'steve-community:master' into MailUserAtTransactionStop
fnkbsi Jun 19, 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
Prev Previous commit
Next Next commit
NotificationService: in method "ocppTransactionEnded(OcppTransactionE…
…nded notification)" adding send mail to user (if email address is in the database), adding createContent method for user mail
  • Loading branch information
fnkbsi authored and fnkbsi committed Aug 2, 2023
commit 4eadaa8e8979b12cb2b88884245645895948df18
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@
import static de.rwth.idsg.steve.NotificationFeature.OcppStationWebSocketDisconnected;
import static de.rwth.idsg.steve.NotificationFeature.OcppTransactionStarted;
import static de.rwth.idsg.steve.NotificationFeature.OcppTransactionEnded;
import de.rwth.idsg.steve.repository.TransactionRepository;
import de.rwth.idsg.steve.repository.UserRepository;
import de.rwth.idsg.steve.repository.dto.Transaction;
import static java.lang.String.format;
import jooq.steve.db.tables.records.UserRecord;

/**
* @author Sevket Goekay <[email protected]>
Expand All @@ -52,6 +56,8 @@
public class NotificationService {

@Autowired private MailService mailService;
@Autowired private TransactionRepository transactionRepository;
@Autowired private UserRepository userRepository;

@EventListener
public void ocppStationBooted(OccpStationBooted notification) {
Expand Down Expand Up @@ -117,7 +123,24 @@ public void ocppTransactionStarted(OcppTransactionStarted notification) {

@EventListener
public void ocppTransactionEnded(OcppTransactionEnded notification) {
if (isDisabled(OcppTransactionEnded)) {
Transaction TransActParams = transactionRepository.getTransaction(notification.getParams().getTransactionId());

TransActParams.getOcppTagPk();
UserRecord userRecord = userRepository.getDetails(TransActParams.getOcppIdTag()).getUserRecord();
String eMailAddress = userRecord.getEMail();

// mail to user
if (!Strings.isNullOrEmpty(eMailAddress)) {
String subjectUserMail = format("Transaction '%s' has ended on charging station '%s'", TransActParams.getId(), TransActParams.getChargeBoxId());

// if the Transactionstop is received within the first 1 Minute don't send an E-Mail
if (TransActParams.getStopTimestamp().isAfter(TransActParams.getStartTimestamp().plusMinutes(1))){
mailService.sendAsync(subjectUserMail, addTimestamp(createContent(TransActParams, userRecord)), eMailAddress);
}
}

/* mail defined in settings */
if (isDisabled(OcppTransactionEnded)) {
return;
}

Expand Down Expand Up @@ -156,6 +179,39 @@ private static String createContent(UpdateTransactionParams params) {
.toString();
}

private static String createContent(Transaction params, UserRecord userRecord) {
Double meterValueDiff;
Integer meterValueStop;
Integer meterValueStart;
String str_meterValueDiff = "-";
try
{
meterValueStop = Integer.valueOf(params.getStopValue());
meterValueStart = Integer.valueOf(params.getStartValue());
meterValueDiff = (meterValueStop - meterValueStart)/1000.0; // --> kWh
str_meterValueDiff = meterValueDiff.toString() + " kWh";
}
catch(NumberFormatException e)
{
log.error("Failed to calculate charged energy! ", e);
}

return new StringBuilder("User: ")
.append(userRecord.getFirstName()).append(" ").append(userRecord.getLastName())
.append(System.lineSeparator())
.append(System.lineSeparator())
.append("Details:").append(System.lineSeparator())
.append("- chargeBoxId: ").append(params.getChargeBoxId()).append(System.lineSeparator())
.append("- connectorId: ").append(params.getConnectorId()).append(System.lineSeparator())
.append("- transactionId: ").append(params.getId()).append(System.lineSeparator()) // getTransactionId()
.append("- startTimestamp (UTC): ").append(params.getStartTimestamp()).append(System.lineSeparator())
.append("- startMeterValue: ").append(params.getStartValue()).append(System.lineSeparator())
.append("- stopTimestamp (UTC): ").append(params.getStopTimestamp()).append(System.lineSeparator())
.append("- stopMeterValue: ").append(params.getStopValue()).append(System.lineSeparator())
.append("- stopReason: ").append(params.getStopReason()).append(System.lineSeparator())
.append("- charged energy: ").append(str_meterValueDiff).append(System.lineSeparator())
.toString();
}

private boolean isDisabled(NotificationFeature f) {
MailSettings settings = mailService.getSettings();
Expand Down