Rev 1413 | Rev 1426 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1413 | Rev 1425 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | package pt.estgp.estgweb.services.questionarios; |
1 | package pt.estgp.estgweb.services.questionarios; |
2 | 2 | ||
3 | import org.apache.log4j.Logger; |
3 | import org.apache.log4j.Logger; |
4 | import pt.estgp.estgweb.domain.*; |
4 | import pt.estgp.estgweb.domain.*; |
5 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
5 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
- | 6 | import pt.estgp.estgweb.domain.dao.impl.AnnouncementDaoImpl; |
|
6 | import pt.estgp.estgweb.domain.views.QuestionarioView; |
7 | import pt.estgp.estgweb.domain.views.QuestionarioView; |
- | 8 | import pt.estgp.estgweb.services.email.EMAILJob; |
|
- | 9 | import pt.estgp.estgweb.services.email.SendEmailService; |
|
- | 10 | import pt.estgp.estgweb.services.jobs.JobScheduleService; |
|
- | 11 | import pt.estgp.estgweb.utils.Email; |
|
7 | import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
12 | import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
8 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
13 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
9 | 14 | ||
- | 15 | import java.util.ArrayList; |
|
- | 16 | import java.util.Iterator; |
|
10 | import java.util.List; |
17 | import java.util.List; |
11 | 18 | ||
12 | /** |
19 | /** |
13 | * Created by jorgemachado on 21/03/16. |
20 | * Created by jorgemachado on 21/03/16. |
14 | */ |
21 | */ |
Line 191... | Line 198... | ||
191 | DaoFactory.getQuestionarioRespostaDaoImpl().save(resposta); |
198 | DaoFactory.getQuestionarioRespostaDaoImpl().save(resposta); |
192 | questionario.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
199 | questionario.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
193 | } |
200 | } |
194 | 201 | ||
195 | 202 | ||
- | 203 | 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) |
|
- | 205 | { |
|
- | 206 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario message"; |
|
- | 207 | 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 | ||
- | 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, |
|
- | 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 | } |
|
- | 240 | ||
- | 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) |
|
- | 242 | { |
|
- | 243 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario curso message"; |
|
- | 244 | AnnouncementDaoImpl.FindUsersResult result = DaoFactory.getQuestionarioDaoImpl().findUsersEmailsPedagogico(onlyNotAnswered,id,0); |
|
- | 245 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
|
- | 246 | } |
|
- | 247 | public int sendMessageUnidadeAfeta(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) |
|
- | 248 | { |
|
- | 249 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario unidade message"; |
|
- | 250 | AnnouncementDaoImpl.FindUsersResult result = DaoFactory.getQuestionarioDaoImpl().findUsersEmailsPedagogico(onlyNotAnswered,0,id); |
|
- | 251 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
|
- | 252 | } |
|
- | 253 | ||
- | 254 | ||
- | 255 | ||
- | 256 | ||
- | 257 | ||
196 | 258 | ||
197 | } |
259 | } |