Rev 1425 | Rev 1429 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1425 | Rev 1426 | ||
---|---|---|---|
Line 10... | Line 10... | ||
10 | import pt.estgp.estgweb.services.jobs.JobScheduleService; |
10 | import pt.estgp.estgweb.services.jobs.JobScheduleService; |
11 | import pt.estgp.estgweb.utils.Email; |
11 | import pt.estgp.estgweb.utils.Email; |
12 | import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
12 | import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
13 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
13 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
14 | 14 | ||
15 | import java.util.ArrayList; |
- | |
16 | import java.util.Iterator; |
- | |
17 | import java.util.List; |
15 | import java.util.*; |
18 | 16 | ||
19 | /** |
17 | /** |
20 | * Created by jorgemachado on 21/03/16. |
18 | * Created by jorgemachado on 21/03/16. |
21 | */ |
19 | */ |
22 | public class QuestionariosService implements IService |
20 | public class QuestionariosService implements IService |
Line 203... | Line 201... | ||
203 | SendEmailService sendEmailService = new SendEmailService(); |
201 | SendEmailService sendEmailService = new SendEmailService(); |
204 | public int sendMessage(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
202 | public int sendMessage(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
205 | { |
203 | { |
206 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario message"; |
204 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario message"; |
207 | AnnouncementDaoImpl.FindUsersResult result = DaoFactory.getQuestionarioDaoImpl().findUsersEmails(id,onlyNotAnswered); |
205 | AnnouncementDaoImpl.FindUsersResult result = DaoFactory.getQuestionarioDaoImpl().findUsersEmails(id,onlyNotAnswered); |
208 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
- | |
209 | } |
- | |
210 | - | ||
211 | private int sendEmails(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source, AnnouncementDaoImpl.FindUsersResult result) { |
- | |
212 | List<String> usersToConsume = result.emails; |
- | |
213 | 206 | ||
214 | - | ||
215 | logger.info("Scheduling mail jobs to " + result.users + " users: " + usersToConsume.size() + " recipients"); |
- | |
216 | while(usersToConsume.size() > 0) |
- | |
217 | { |
- | |
218 | Iterator<String> iter = usersToConsume.iterator(); |
- | |
219 | List<String> usersToJob = new ArrayList<String>(); |
- | |
220 | int contador = 0; |
- | |
221 | while(iter.hasNext() && contador < 20) |
- | |
222 | { |
- | |
223 | usersToJob.add(iter.next()); |
- | |
224 | iter.remove(); |
- | |
225 | contador++; |
- | |
226 | } |
- | |
227 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
207 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
228 | personFrom, |
- | |
229 | subject, |
- | |
230 | msg, |
- | |
231 | usersToJob, |
- | |
232 | userSession.getUser()); |
- | |
233 | e.setHtml(true); |
- | |
234 | EMAILJob emailJob = new EMAILJob(e); |
- | |
235 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
- | |
236 | } |
- | |
237 | - | ||
238 | return result.users; |
- | |
239 | } |
208 | } |
240 | 209 | ||
241 | public int sendMessageCursoAfeto(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
210 | public int sendMessageCursoAfeto(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
242 | { |
211 | { |
243 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario curso message"; |
212 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario curso message"; |
Line 250... | Line 219... | ||
250 | AnnouncementDaoImpl.FindUsersResult result = DaoFactory.getQuestionarioDaoImpl().findUsersEmailsPedagogico(onlyNotAnswered,0,id); |
219 | AnnouncementDaoImpl.FindUsersResult result = DaoFactory.getQuestionarioDaoImpl().findUsersEmailsPedagogico(onlyNotAnswered,0,id); |
251 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
220 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
252 | } |
221 | } |
253 | 222 | ||
254 | 223 | ||
- | 224 | private int sendEmails(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source, AnnouncementDaoImpl.FindUsersResult result) { |
|
- | 225 | List<String> usersToConsume = result.emails; |
|
255 | 226 | ||
256 | 227 | ||
- | 228 | logger.info("Scheduling mail jobs to " + result.users + " users: " + usersToConsume.size() + " recipients"); |
|
- | 229 | //while(usersToConsume.size() > 0) |
|
- | 230 | //{ |
|
- | 231 | // Iterator<String> iter = usersToConsume.iterator(); |
|
- | 232 | // List<String> usersToJob = new ArrayList<String>(); |
|
- | 233 | // int contador = 0; |
|
- | 234 | // while(iter.hasNext() && contador < 20) |
|
- | 235 | // { |
|
- | 236 | // usersToJob.add(iter.next()); |
|
- | 237 | // iter.remove(); |
|
- | 238 | // contador++; |
|
- | 239 | // } |
|
- | 240 | ||
- | 241 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
|
- | 242 | personFrom, |
|
- | 243 | subject, |
|
- | 244 | msg, |
|
- | 245 | usersToConsume, |
|
- | 246 | userSession.getUser()); |
|
- | 247 | ||
- | 248 | e.setHtml(true); |
|
- | 249 | EMAILJob emailJob = new EMAILJob(e); |
|
- | 250 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
|
- | 251 | //} |
|
- | 252 | enviarComprovativoAoRemetente(id, msg, emailFrom, personFrom, subject, userSession, source,usersToConsume.size()); |
|
- | 253 | return result.users; |
|
- | 254 | } |
|
- | 255 | ||
- | 256 | private void enviarComprovativoAoRemetente(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source,int sentTo) |
|
- | 257 | { |
|
- | 258 | Map<String,String> emailsComprovativos = new HashMap<String, String>(); |
|
- | 259 | if(Email.validEmail(userSession.getUser().getEmail())) |
|
- | 260 | emailsComprovativos.put(userSession.getUser().getEmail(),""); |
|
- | 261 | if(Email.validEmail(userSession.getUser().getOutEmail())) |
|
- | 262 | emailsComprovativos.put(userSession.getUser().getOutEmail(),""); |
|
- | 263 | if(Email.validEmail(userSession.getUser().getPreferrefEmail())) |
|
- | 264 | emailsComprovativos.put(userSession.getUser().getPreferrefEmail(),""); |
|
- | 265 | List<String> comprovativos = new ArrayList<String>(); |
|
- | 266 | comprovativos.addAll(emailsComprovativos.keySet()); |
|
- | 267 | if(comprovativos.size() > 0) |
|
- | 268 | { |
|
- | 269 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
|
- | 270 | personFrom, |
|
- | 271 | subject + " (COMPROVATIVO PAE) ", |
|
- | 272 | "<u>Olá " + userSession.getUser().getName() + " - Este é um comprovativo do seu envio de mensagem a " + sentTo + " Alunos</u><br/><br/>" + msg, |
|
- | 273 | comprovativos, |
|
- | 274 | userSession.getUser()); |
|
- | 275 | ||
- | 276 | e.setHtml(true); |
|
- | 277 | EMAILJob emailJob = new EMAILJob(e); |
|
- | 278 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
|
- | 279 | } |
|
- | 280 | } |
|
257 | 281 | ||
258 | 282 | ||
259 | } |
283 | } |