You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

628 lines
31 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package weaver.system;
import java.util.*;
import org.apache.commons.lang.StringUtils;
import com.cloudstore.dev.api.bean.MessageBean;
import com.cloudstore.dev.api.bean.MessageType;
import com.cloudstore.dev.api.util.Util_Message;
import com.engine.msgcenter.biz.ConfigManager;
import com.engine.msgcenter.biz.WeaMessageTypeConfig;
import com.google.common.collect.Sets;
import com.weaver.general.TimeUtil;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.resource.ResourceComInfo;
import weaver.sms.SMSManager;
import weaver.sms.SmsFromMouldEnum;
import weaver.systeminfo.SystemEnv;
import weaver.voting.VotingMailReminder;
import weaver.voting.VotingManager;
/**
* 调查 - 开始前 和 结束前提醒 定时任务
*/
public class VotingThreadManager
extends
BaseBean implements ThreadWork {
private SMSManager smsManager;
private ResourceComInfo resourceComInfo;
private SysRemindWorkflow sysRemindWorkflow ;
public VotingThreadManager() {
}
private void init() {
try {
//调查短信提醒,分权由创建人所在分部进行提醒
smsManager = new SMSManager();
smsManager.setFromMould(SmsFromMouldEnum.VOTING);
sysRemindWorkflow = new SysRemindWorkflow();
resourceComInfo = new ResourceComInfo();
} catch (Exception ex) {
}
}
/**
* 1、短信提醒
* 2、邮件提醒
* 3、流程提醒
* 4、消息中心提醒
*/
public void doThreadWork() {
//writeLog("VotingThreadManager-------------");
this.init(); //初始化发送方法
String resourceID = "";
String ID = "";
String subject = "";
String begindate = "";
String begintime = "";
String enddate = "";
String endtime = "";
String mailstrs = "";
int createrid = 1;
//描述
String descr = "";
//调查提醒类型
String remindtype = "";
String messageTitle = "";
String messageBody = "";
String messageTitleSMS = "";
StringBuffer stringBuffer = new StringBuffer();
RecordSet recordSet = new RecordSet();
RecordSet recordSet2 = new RecordSet();
boolean isoracle = (recordSet2.getDBType()).equals("oracle");
/* ================== 开始前提醒 ================== */
//将所有在进行中的、设置了开始前提醒的、还未提醒的 调查过滤出来。
if (isoracle) {
stringBuffer.append("SELECT * FROM voting WHERE ");
stringBuffer.append(" remindtype is not null ");
stringBuffer.append(" AND NVL(remindtimebeforestart,'0') <>'0'");
stringBuffer.append(" AND NVL(hasremindedbeforestart,'0')='0' ");
stringBuffer.append(" AND status = '1' ");
} else {
stringBuffer.append("SELECT * FROM voting WHERE ");
stringBuffer.append(" remindtype is not null ");
stringBuffer.append(" AND remindtimebeforestart <>'' and remindtimebeforestart is not null ");
stringBuffer.append(" AND (hasremindedbeforestart is null OR hasremindedbeforestart = '')");
stringBuffer.append(" AND status = 1 ");
}
//writeLog("stringBuffer---remindtimebeforestart---:"+stringBuffer.toString());
recordSet.executeQuery(stringBuffer.toString());
String currentTime = TimeUtil.getCurrentTimeString();
while (recordSet.next()) {
ID = recordSet.getString("id");
createrid = recordSet.getInt("createrid");
//对比时间,
begindate = recordSet.getString("begindate");
begintime = recordSet.getString("begintime");
if("".equals(begindate)){
continue;
}
enddate = recordSet.getString("enddate");
endtime = recordSet.getString("endtime");
//begindate begintime组合值 与 datenow timenow 组合值相减,的值 如果<= remindtimebeforestart的话就提醒
String startTime = begindate+" "+begintime+":00";
//提醒类型
remindtype = "," + recordSet.getString("remindtype") + ",";
//调查 标题
subject = recordSet.getString("subject");
//备注
descr = recordSet.getString("descr");
mailstrs = "";
double ddStart = Util.getDoubleValue(recordSet.getString("remindtimebeforestart"),0) * 60;
if (TimeUtil.timeInterval(currentTime, startTime) <= ddStart) {
recordSet2.executeUpdate("update voting set hasremindedbeforestart='1' where id= ?", ID);//修改该调查已提醒
VotingManager votingManager = new VotingManager();
Set<String> undoUserSet = votingManager.getUndoUserSetAll(ID); //对还没进行投票的人提醒
smsManager.setMouldkey(ID);
smsManager.setSubcompanyid(resourceComInfo.getSubCompanyID(createrid+""));
writeLog("调查开始前短信提醒提醒调查ID"+ID+"-----createrid:"+createrid+"-----subcompanyid:"+resourceComInfo.getSubCompanyID(createrid+""));
for (Iterator<String> iter = undoUserSet.iterator(); iter.hasNext();) {
resourceID = iter.next();
if (remindtype.contains(",1,")) { //短信提醒
try {
messageTitleSMS = SystemEnv.getHtmlLabelName(507472, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID))) + " " + subject + " "
+ begindate + " " + begintime + " " + SystemEnv.getHtmlLabelName(530, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID)))
+ " " + SystemEnv.getHtmlLabelName(507473, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID)));
smsManager.sendSMS(resourceComInfo.getMobile(resourceID), "" + messageTitleSMS);
//writeLog("调查发送开始前短信提醒:" + resourceID + ".TEL" + resourceComInfo.getMobile(resourceID) + "内容:" + messageTitle);
// poppupRemindInfoUtil.addPoppupRemindInfo(Integer.parseInt(resourceID), 12, String.valueOf(0), Integer.parseInt(ID));
} catch (Exception e) {}
}
if (remindtype.contains(",2,")) {//邮件提醒
if (Util.null2String(resourceComInfo.getEmail(resourceID)).equals("")) continue;
if (mailstrs.equals("")) {
mailstrs = resourceComInfo.getEmail(resourceID);
} else {
mailstrs = mailstrs + "," + resourceComInfo.getEmail(resourceID);
}
//poppupRemindInfoUtil.addPoppupRemindInfo(Integer.parseInt(resourceID), 12, String.valueOf(0), Integer.parseInt(ID));
}
}
if (remindtype.contains(",2,")) {//邮件提醒
if(!"".equals(mailstrs)) {
messageTitle = SystemEnv.getHtmlLabelName(20051, 7) + " " + subject + " "
+ begindate + " " + begintime + " " + SystemEnv.getHtmlLabelName(530, 7);
String detailOne=SystemEnv.getHtmlLabelName(505764, 7);
new VotingMailReminder().sendMail(ID, mailstrs, messageTitle, detailOne);
}
writeLog("调查发送开始前邮件提醒,收件人:" + mailstrs + "标题:" + subject);
}
// if (remindtype.contains(",3,")) {//流程提醒
// try {
// String toIds = StringUtils.join(undoUserSet, ",");
// if(!undoUserSet.isEmpty()) {
// sysRemindWorkflow.setSysRemindInfo(messageTitle, 0, 0, 0, 0, 1, toIds, messageTitle);
// }
// writeLog("调查发送开始前流程提醒:toIds=" + toIds + "内容:" + messageTitle);
// } catch (Exception e) {
// writeLog(e);
// }
// }
//消息中心提醒
if (remindtype.contains(",4,")) {
try {
String toIds = StringUtils.join(undoUserSet, ",");
if (!undoUserSet.isEmpty()) {
String detailTitle = "505764"; //您有新的网上调查即将开始,请注意及时参与
String content = ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505766,weaver.general.ThreadVarLanguage.getLang())+"" + Util.formatMultiLang(resourceComInfo.getLastname(createrid + ""));
content += "<br/>";
content += ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505767,weaver.general.ThreadVarLanguage.getLang())+"" + begindate + " " + begintime;
content += "<br/>";
content += ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505768,weaver.general.ThreadVarLanguage.getLang())+"" + enddate + " " + endtime;
sendToMessageCenter(ID, toIds, createrid, subject, detailTitle, content);
}
writeLog("调查发送开始前前消息中心提醒:toIds=" + toIds + "内容:" + subject);
} catch (Exception e) {
writeLog(e);
}
}
}
}
/* ================== 开始时提醒 ================== */
//将所有在进行中的、设置了开始时提醒的、还未提醒的 调查过滤出来。
stringBuffer = new StringBuffer();
if (isoracle) {
stringBuffer.append("SELECT * FROM voting WHERE ");
stringBuffer.append(" remindtype is not null ");
stringBuffer.append(" AND NVL(remindBeginTime,0) <> 0");
stringBuffer.append(" AND NVL(hasRemindBeginTime,0)=0 ");
stringBuffer.append(" AND status = 1 ");
}else if((recordSet2.getDBType()).equals("postgresql"))
{
stringBuffer.append("SELECT * FROM voting WHERE ");
stringBuffer.append(" remindtype is not null ");
stringBuffer.append(" and remindBeginTime <> 0 and remindBeginTime is not null ");
stringBuffer.append(" AND (hasRemindBeginTime is null OR hasRemindBeginTime = 0)");
stringBuffer.append(" AND status = 1 ");
}
else {
stringBuffer.append("SELECT * FROM voting WHERE ");
stringBuffer.append(" remindtype is not null ");
stringBuffer.append(" AND remindBeginTime <>'' and remindBeginTime <> 0 and remindBeginTime is not null ");
stringBuffer.append(" AND (hasRemindBeginTime is null OR hasRemindBeginTime = '' or hasRemindBeginTime = 0)");
stringBuffer.append(" AND status = 1 ");
}
//writeLog("stringBuffer---remindBeginTime---:"+stringBuffer.toString());
recordSet.executeQuery(stringBuffer.toString());
currentTime = TimeUtil.getCurrentTimeString();
while (recordSet.next()) {
ID = recordSet.getString("id");
createrid = recordSet.getInt("createrid");
//对比时间,
begindate = recordSet.getString("begindate");
begintime = recordSet.getString("begintime");
if("".equals(begindate)){
continue;
}
enddate = recordSet.getString("enddate");
endtime = recordSet.getString("endtime");
String startTime = begindate+" "+begintime+":00";
//提醒类型
remindtype = "," + recordSet.getString("remindtype") + ",";
//调查 标题
subject = recordSet.getString("subject");
//备注
descr = recordSet.getString("descr");
mailstrs = "";
if (TimeUtil.timeInterval(startTime, currentTime) >= 0) {
recordSet2.executeUpdate("update voting set hasRemindBeginTime=1 where id= ?", ID);//修改该调查已提醒
VotingManager votingManager = new VotingManager();
Set<String> undoUserSet = votingManager.getUndoUserSetAll(ID); //对还没进行投票的人提醒
smsManager.setMouldkey(ID);
smsManager.setSubcompanyid(resourceComInfo.getSubCompanyID(createrid+""));
writeLog("调查开始时短信提醒提醒调查ID"+ID+"-----createrid:"+createrid+"-----subcompanyid:"+resourceComInfo.getSubCompanyID(createrid+""));
for (Iterator<String> iter = undoUserSet.iterator(); iter.hasNext();) {
resourceID = iter.next();
if (remindtype.contains(",1,")) { //短信提醒
try {
messageTitleSMS = SystemEnv.getHtmlLabelName(507472, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID))) + " " + subject + " "
+ begindate + " " + begintime + " " + SystemEnv.getHtmlLabelName(530, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID)))
+ " " + SystemEnv.getHtmlLabelName(507473, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID)));
smsManager.sendSMS(resourceComInfo.getMobile(resourceID), "" + messageTitleSMS);
//writeLog("发送开始时短信提醒:" + resourceID + ".TEL" + resourceComInfo.getMobile(resourceID) + "内容:" + messageTitle);
// poppupRemindInfoUtil.addPoppupRemindInfo(Integer.parseInt(resourceID), 12, String.valueOf(0), Integer.parseInt(ID));
} catch (Exception e) {}
}
if (remindtype.contains(",2,")) {//邮件提醒
if (Util.null2String(resourceComInfo.getEmail(resourceID)).equals("")) continue;
if (mailstrs.equals("")) {
mailstrs = resourceComInfo.getEmail(resourceID);
} else {
mailstrs = mailstrs + "," + resourceComInfo.getEmail(resourceID);
}
//poppupRemindInfoUtil.addPoppupRemindInfo(Integer.parseInt(resourceID), 12, String.valueOf(0), Integer.parseInt(ID));
}
}
if (remindtype.contains(",2,")) {//邮件提醒
if(!"".equals(mailstrs)) {
messageTitle = SystemEnv.getHtmlLabelName(20051, 7) + " " + subject + " "
+ begindate + " " + begintime + " " + SystemEnv.getHtmlLabelName(530, 7);
String detailOne=SystemEnv.getHtmlLabelName(505763, 7);
new VotingMailReminder().sendMail(ID, mailstrs, messageTitle, detailOne);
}
writeLog("调查发送开始时邮件提醒,收件人:" + mailstrs + "标题:" + subject);
}
// if (remindtype.contains(",3,")) {//流程提醒
// try {
// String toIds = StringUtils.join(undoUserSet, ",");
// if(!undoUserSet.isEmpty()) {
// sysRemindWorkflow.setSysRemindInfo(messageTitle, 0, 0, 0, 0, 1, toIds, messageTitle);
// }
// writeLog("调查发送开始时流程提醒:toIds=" + toIds + "内容:" + messageTitle);
// } catch (Exception e) {
// writeLog(e);
// }
// }
//消息中心提醒
if (remindtype.contains(",4,")) {
try {
String toIds = StringUtils.join(undoUserSet, ",");
if (!undoUserSet.isEmpty()) {
String detailTitle = "505763"; //您有新的网上调查需要填写
String content = ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505766,weaver.general.ThreadVarLanguage.getLang())+"" + Util.formatMultiLang(resourceComInfo.getLastname(createrid + ""));
content += "<br/>";
content += ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505767,weaver.general.ThreadVarLanguage.getLang())+"" + begindate + " " + begintime;
content += "<br/>";
content += ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505768,weaver.general.ThreadVarLanguage.getLang())+"" + enddate + " " + endtime;
sendToMessageCenter(ID, toIds, createrid, subject, detailTitle, content);
}
writeLog("调查发送开始时前消息中心提醒:toIds=" + toIds + "内容:" + subject);
} catch (Exception e) {
writeLog(e);
}
}
}
}
/* ================== 结束前提醒 ================== */
//将所有在进行中的、设置了开始前提醒的、还未提醒的 调查过滤出来。
stringBuffer = new StringBuffer();
if (isoracle) {
stringBuffer.append("SELECT * FROM voting WHERE ");
stringBuffer.append(" remindtype is not null ");
stringBuffer.append(" AND NVL(remindtimebeforeend,'0') <>'0' ");
stringBuffer.append(" AND NVL(hasremindedbeforeend,'0') ='0' ");
stringBuffer.append(" AND status = 1 ");
} else {
stringBuffer.append("SELECT * FROM voting WHERE ");
stringBuffer.append(" remindtype is not null ");
stringBuffer.append(" AND remindtimebeforeend <>'' and remindtimebeforeend is not null ");
stringBuffer.append(" AND (hasremindedbeforeend is null OR hasremindedbeforeend = '')");
stringBuffer.append(" AND status = 1 ");
}
//writeLog("stringBuffer---remindtimebeforeend---:"+stringBuffer.toString());
recordSet.executeQuery(stringBuffer.toString());
currentTime = TimeUtil.getCurrentTimeString();
while (recordSet.next()) {
ID = recordSet.getString("ID");
createrid = recordSet.getInt("createrid");
begindate = recordSet.getString("begindate");
begintime = recordSet.getString("begintime");
//对比时间,
enddate = Util.null2String(recordSet.getString("enddate")).trim();
endtime = Util.null2String(recordSet.getString("endtime")).trim();
if("".equals(enddate)){
continue;
}
String votingEndTime = enddate+" "+endtime+":00";
//提醒类型
remindtype = "," + recordSet.getString("remindtype") + ",";
//调查 标题
subject = recordSet.getString("subject");
//备注
descr = recordSet.getString("descr");
mailstrs = "";
double ddEnd = Util.getDoubleValue(recordSet.getString("remindtimebeforeend"),0) * 60;
if (TimeUtil.timeInterval(currentTime, votingEndTime) <= ddEnd) {
recordSet2.executeUpdate("update voting set hasremindedbeforeend='1' where id=?", ID); //修改该调查已提醒
VotingManager votingManager = new VotingManager();
Set<String> undoUserSet = votingManager.getUndoUserSetAll(ID);
smsManager.setMouldkey(ID);
smsManager.setSubcompanyid(resourceComInfo.getSubCompanyID(createrid+""));
writeLog("调查结束前短信提醒提醒调查ID"+ID+"-----createrid:"+createrid+"-----subcompanyid:"+resourceComInfo.getSubCompanyID(createrid+""));
for (Iterator<String> iter = undoUserSet.iterator(); iter.hasNext();) {
resourceID = iter.next();
if (remindtype.contains(",1,")) { //短信提醒
try {
messageTitleSMS = SystemEnv.getHtmlLabelName(507472, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID))) + " " + subject + " "
+ begindate + " " + begintime + " " + SystemEnv.getHtmlLabelName(530, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID)))
+ " " + SystemEnv.getHtmlLabelName(507473, Integer.parseInt(resourceComInfo.getSystemLanguage(resourceID)));
smsManager.sendSMS(resourceComInfo.getMobile(resourceID), "" + messageTitleSMS);
//writeLog("发送结束前短信提醒" + resourceID + ".TEL" + resourceComInfo.getMobile(resourceID) + "内容:" + messageTitle);
} catch (Exception e) {}
}
if (remindtype.contains(",2,")) {//邮件提醒
if (Util.null2String(resourceComInfo.getEmail(resourceID)).equals("")) continue;
if (mailstrs.equals("")) {
mailstrs = resourceComInfo.getEmail(resourceID);
} else {
mailstrs = mailstrs + "," + resourceComInfo.getEmail(resourceID);
}
}
}
if (remindtype.contains(",2,")) {//邮件提醒
if(!"".equals(mailstrs)) {
messageTitle = SystemEnv.getHtmlLabelName(20051, 7)
+ " " + subject + " " + enddate + " " + endtime + " " + SystemEnv.getHtmlLabelName(405, 7);
String detailOne=SystemEnv.getHtmlLabelName(505765, 7);
new VotingMailReminder().sendMail(ID, mailstrs, messageTitle, detailOne);
}
writeLog("调查发送结束前邮件提醒,收件人:" + mailstrs + "标题:" + subject);
}
// if (remindtype.contains(",3,")) { //流程提醒
// try {
// String toIds = StringUtils.join(undoUserSet, ",");
// if(!undoUserSet.isEmpty()) {
// sysRemindWorkflow.setSysRemindInfo(messageTitle, 0, 0, 0, 0, 1, toIds, messageTitle);
// }
// writeLog("调查发送结束前流程提醒:toIds=" + toIds + "内容:" + messageTitle);
// } catch (Exception e) {
// writeLog(e);
// }
// }
//消息中心提醒
if (remindtype.contains(",4,")) {
try {
String toIds = StringUtils.join(undoUserSet, ",");
if(!undoUserSet.isEmpty()) {
String detailTitle = "505765"; //您有新的网上调查即将结束,请注意及时参与
String content = ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505766,weaver.general.ThreadVarLanguage.getLang())+"" + Util.formatMultiLang(resourceComInfo.getLastname(createrid + ""));
content += "<br/>";
content += ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505767,weaver.general.ThreadVarLanguage.getLang())+"" + begindate + " " + begintime;
content += "<br/>";
content += ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(505768,weaver.general.ThreadVarLanguage.getLang())+"" + enddate + " " + endtime;
sendToMessageCenter(ID, toIds, createrid, subject, detailTitle, content);
}
writeLog("调查发送结束前消息中心提醒:toIds=" + toIds + "内容:" + subject);
} catch (Exception e) {
writeLog(e);
}
}
}
}
}
/**
* 发送消息中心提醒
* @param allUsers
* @param createrId
* @param title
* @param detailTitle
* @param content
* @throws Exception
*/
public void sendToMessageCenter(String votingId, String allUsers, int createrId, String title, String detailTitle, String content) throws Exception {
String pcUrl = "/voting/votingPcRedirect.jsp?id=" + votingId + "&comefrom=msg";
String mobileUrl = "/voting/mobile/votingMobileRedirect.jsp?id=" + votingId + "&comefrom=msg";
ConfigManager configManager = new ConfigManager();
// 2、默认规则检查用户配置,返回后台自定义消息类型和对应通过配置的用户
// @param singPath 与需求变更之前的path参数含义一致,代表该消息类型详细配置中唯一标志值,各模块参考自己的值(有疑问请联系云商店-田泽法)
// @param userid 按默认规则检查的用户配置信息(检查多人参考重载方法)
BaseBean bb = new BaseBean();
bb.writeLog("sendToMessageCenter-votingId:"+votingId);
bb.writeLog("sendToMessageCenter-allUsers:"+allUsers);
if(StringUtils.isNotBlank(votingId)) {
String votingType = getVotingType(votingId);
if(StringUtils.isNotBlank(votingType)){
if ("90".equals(votingType)) {
Map<WeaMessageTypeConfig, List<String>> accessConfig = configManager.defaultRuleCheckConfig(MessageType.SURVEY_REMIND, allUsers, null);
// 3、遍历自定义消息类型集合
for (Map.Entry<WeaMessageTypeConfig, List<String>> entry : accessConfig.entrySet()) {
// 4、构造消息实体
MessageBean bean = Util_Message.createMessage(MessageType.SURVEY_REMIND, 0, title, detailTitle, content, pcUrl, mobileUrl, createrId);
// 5、获取新的自定义消息类型
WeaMessageTypeConfig config = entry.getKey();
// 6、新的自定义消息类型相关信息通知到消息实体bean上
bean.setMessageConfig(config);
// 7、设置检查配置通过需要发送消息的用户
bean.setUserList(Sets.newHashSet(entry.getValue()));
// 8、发送消息
Util_Message.sendAndpublishMessage(bean);
}
} else {
int votingcode = 0;
try {
votingcode = Util.getIntValue(votingType);
} catch (Exception e) {
}
bb.writeLog("sendToMessageCenter-votingcode:"+votingcode);
if (votingcode > 0) {
MessageType messageType = MessageType.newInstance(votingcode); // 消息来源(见文档第四点补充 必填)
Map<WeaMessageTypeConfig, List<String>> accessConfig = configManager.defaultRuleCheckConfig(messageType, allUsers, null);
bb.writeLog("sendToMessageCenter-accessConfig:"+accessConfig.size());
// 3、遍历自定义消息类型集合
for (Map.Entry<WeaMessageTypeConfig, List<String>> entry : accessConfig.entrySet()) {
// 4、构造消息实体
MessageBean bean = Util_Message.createMessage(messageType, 0, title, detailTitle, content, pcUrl, mobileUrl, createrId);
// 5、获取新的自定义消息类型
WeaMessageTypeConfig config = entry.getKey();
bb.writeLog("sendToMessageCenter-config:"+config.isEnablePc() );
// 6、新的自定义消息类型相关信息通知到消息实体bean上
bean.setMessageConfig(config);
// 7、设置检查配置通过需要发送消息的用户
bb.writeLog("sendToMessageCenter-user:"+Sets.newHashSet(entry.getValue()).toString());
bean.setUserList(Sets.newHashSet(entry.getValue()));
// 8、发送消息
Util_Message.sendAndpublishMessage(bean);
}
}
}
}else{
Map<WeaMessageTypeConfig, List<String>> accessConfig = configManager.defaultRuleCheckConfig(MessageType.SURVEY_REMIND, allUsers, null);
// 3、遍历自定义消息类型集合
for (Map.Entry<WeaMessageTypeConfig, List<String>> entry : accessConfig.entrySet()) {
// 4、构造消息实体
MessageBean bean = Util_Message.createMessage(MessageType.SURVEY_REMIND, 0, title, detailTitle, content, pcUrl, mobileUrl, createrId);
// 5、获取新的自定义消息类型
WeaMessageTypeConfig config = entry.getKey();
// 6、新的自定义消息类型相关信息通知到消息实体bean上
bean.setMessageConfig(config);
// 7、设置检查配置通过需要发送消息的用户
bean.setUserList(Sets.newHashSet(entry.getValue()));
// 8、发送消息
Util_Message.sendAndpublishMessage(bean);
}
}
}else{
Map<WeaMessageTypeConfig, List<String>> accessConfig = configManager.defaultRuleCheckConfig(MessageType.SURVEY_REMIND, allUsers, null);
// 3、遍历自定义消息类型集合
for (Map.Entry<WeaMessageTypeConfig, List<String>> entry : accessConfig.entrySet()) {
// 4、构造消息实体
MessageBean bean = Util_Message.createMessage(MessageType.SURVEY_REMIND, 0, title, detailTitle, content, pcUrl, mobileUrl, createrId);
// 5、获取新的自定义消息类型
WeaMessageTypeConfig config = entry.getKey();
// 6、新的自定义消息类型相关信息通知到消息实体bean上
bean.setMessageConfig(config);
// 7、设置检查配置通过需要发送消息的用户
bean.setUserList(Sets.newHashSet(entry.getValue()));
// 8、发送消息
Util_Message.sendAndpublishMessage(bean);
}
}
}
/***
*
* @param votingId
* @return
*/
public String getVotingType(String votingId){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
String xxid = "";
try{
String sql =" select xxid from uf_votingmsg where dclx in(\n" +
" select votingtype from voting where id = " + votingId +
" ) " ;
bb.writeLog("getVotingType-sql:"+sql);
rs.executeQuery(sql);
if(rs.next()){
xxid = Util.null2String(rs.getString("xxid"));
}
}catch (Exception e){
e.printStackTrace();
bb.writeLog("getVotingType-e:"+e);
}
bb.writeLog("getVotingType-xxid:"+xxid);
return xxid;
}
}