/**
* 发送站内信
*/
@permission(module.tzgl)
@requestmapping(value = /sendznx, method = requestmethod.post)
@responsebody
public string sendznx(httpsession session, model model,
@requestparam(defaultvalue = ) string[] userlist,
@requestparam(defaultvalue = ) string content) throws exception {
int rows = 0; //记录发送数量
string msg = ; //记录返回信息
system.out.println(length--->+userlist.length);
system.out.println(content--->+content);
try{
if(userlist.length == 0){ //给全体成员发送系统通知
//全体成员发送
try{
string result = jsoup.connect(nmapi.url() + /message/userlist).timeout(10000)
.get()
.text();
//--->使用gson把请求回来的数据转成map结构
map data = new gson().fromjson(result,new typetoken>() {}.gettype());
//--->把map中需要的object类型数据取出来,并转成list
list list = (list)data.get(reclist);
//--->使用gson把list转成json
string str = new gson().tojson(list);
//--->再次使用gson把json转成需要的类型
list userinfolist = new gson().fromjson(str,new typetoken>() {}.gettype());
try{
for(userinfo userinfo : userinfolist){
webmessage webmessage = new webmessage();
webmessage.setclientid(userinfo.geticid());
webmessage.setreceivetime(new date());
webmessage.settype(系统通知);
webmessage.setcontent(content);
webmessage.setstatus(0);
webmessageservice.add(webmessage);
rows ++;
}
msg = 发送站内信成功,成功条数:+rows;
}catch (exception e){
e.printstacktrace();
return 群发站内信出错;
}
} catch (exception e) {
e.printstacktrace();
return 查询用户列表出错;
}
}else{
for (int i = 0;i webmessage webmessage = new webmessage();
webmessage.setclientid(integer.parseint(userlist[i]));
webmessage.setreceivetime(new date());
webmessage.settype(管理员消息);
webmessage.setcontent(content);
webmessage.setstatus(0);
webmessageservice.add(webmessage);
rows ++;
}
msg = 发送站内信成功,成功条数:+rows;
//发件记录
try {
user user = (user)session.getattribute(user);
messagelog messagelog = new messagelog();
messagelog.setsendtime(new date());
messagelog.settype(站内信);
messagelog.setsender(user.getunitname());
messagelog.setreceiver(userlist.tostring());
messagelog.setcontent(content);
messagelog.setresult(msg);
messagelog.seterror();
int num = messagelogservice.add(messagelog);
system.out.println(生成记录--->+num);
}catch (exception e){
e.printstacktrace();
return 生成发信记录出错;
}
}
} catch (exception e) {
e.printstacktrace();
return 系统出错;
}
return msg;
}