课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > java教程 > Gson解析result
  • Gson解析result

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

  • 昆明达内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--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56