Subversion Repositories bacoAlunos

Rev

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
}