昆明java培训
达内昆明广州春城路

18487146383

热门课程

Gson解析result

  • 时间:2016-11-09
  • 发布:昆明Java培训
  • 来源:博客园

昆明达内Java培训的老师今天给大家讲站内信,群发与全部发送。

Gson解析result

/**

*发送站内信

*/

@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<String,Object> data = ew Gson().fromJson(result,new TypeToken<Map<String,Object>>() {}.getType());

//--->把MAP中需要的Object类型数据取出来,并转成List

List list = (List)data.get("RecList");

//--->使用Gson把List转成Json

String str = new Gson().toJson(list);

//--->再次使用Gson把Json转成需要的类型

List<UserInfo> userInfoList = new Gson().fromJson(str,new TypeToken<List<UserInfo>>() {}.getType());

try{

for(UserInfo userInfo : userInfoList){

WebMessage webMessage = ew 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 < userList.length;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;

}

了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:Java继承和接口
下一篇:在cmd窗口下运行Java程序时无法找到主类

java IO流之字节流和字符流

java IO流之file类的常用操作

搭建james邮件服务器

Java识别操作系统

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货