Quando si registra un nuovo utente inviare un'email a Helpdesk.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package it.integry.ems.user.service;
|
||||
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.service.MailService;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.dto.UserRegistrationDTO;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
@@ -22,6 +23,9 @@ public class UserRegistrationService {
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
@Autowired
|
||||
private MailService mailService;
|
||||
|
||||
public StbUser save(UserRegistrationDTO userRegistrationDTO) throws Exception {
|
||||
if (validateUsername(userRegistrationDTO.getUsername())) {
|
||||
throw new Exception("Username già registrato");
|
||||
@@ -31,6 +35,10 @@ public class UserRegistrationService {
|
||||
throw new Exception("Indirizzo email già registrato");
|
||||
}
|
||||
|
||||
if (!validateCodiceAzienda(userRegistrationDTO.getCodAzienda())){
|
||||
throw new Exception("Codice azienda non valido");
|
||||
}
|
||||
|
||||
StbUser stbUser = new StbUser()
|
||||
.setUserName(userRegistrationDTO.getUsername())
|
||||
.setFullName(userRegistrationDTO.getFullName())
|
||||
@@ -45,6 +53,11 @@ public class UserRegistrationService {
|
||||
stbUser.setOperation(OperationType.INSERT);
|
||||
entityProcessor.processEntity(stbUser, multiDBTransactionManager);
|
||||
|
||||
String subject = "Nuovo utente registrato su Task";
|
||||
String message = String.format("%s si è registrato su task con il codice azienda: %s ", userRegistrationDTO.getFullName(), userRegistrationDTO.getCodAzienda());
|
||||
|
||||
mailService.sendMail("helpdesk@integry.it", null, subject, message);
|
||||
|
||||
return stbUser;
|
||||
}
|
||||
|
||||
@@ -69,4 +82,18 @@ public class UserRegistrationService {
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
}
|
||||
|
||||
public boolean validateCodiceAzienda(String username) throws Exception {
|
||||
String sql = Query.format(
|
||||
"SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||
"FROM stb_user\n" +
|
||||
"WHERE key_group = 3\n" +
|
||||
" AND user_name_rif IS NULL\n" +
|
||||
" AND flag_attivo = 'S'\n" +
|
||||
" AND user_name = %s",
|
||||
username
|
||||
);
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user