dubbo+zookeeper實現soa架構的微服務應用
阿新 • • 發佈:2019-01-01
@Override
public String processRequest(StringBuffer xml) {
String respMessage = "";
BaseMessage baseMessage = MessageUtil.xmlToObj(BaseMessage.class, xml);
// 傳送方帳號(open_id)
String fromUserName = baseMessage.getFromUserName();
// 公眾帳號
String toUserName = baseMessage.getToUserName();
// 訊息型別
String msgType = baseMessage.getMsgType().toString();
//自動回覆訊息
if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)){ //收到事件
EventMessage eventMessage = MessageUtil.xmlToObj(EventMessage.class, xml);
MenuEvent menuEvent = MessageUtil.xmlToObj(MenuEvent.class, xml);
System.out.println("微信傳來====="+JSON.toJSONString(menuEvent));
if(eventMessage.getEvent().toString().equals(MessageUtil.EVENT_TYPE_SUBSCRIBE)){ //關注事件
//使用者關注微訊號時獲取使用者資訊並存取到資料庫
//新增之前查詢資料庫避免插入重複資料
Map<String,String> map = new HashMap<String, String>();
map.put("openid", fromUserName);
List<Wxuserinfo> list = wxuserinfoMapper.searchWxuserinfoByParams(map);
if(list.size()==0){ //新增新使用者
Wxuserinfo userinfo = getUserinfoByOpenid(fromUserName);
userinfo.setRole("0");
wxuserinfoMapper.insertWxuserinfo(userinfo);
}else{ //老客戶
Wxuserinfo wxuserinfo = list.get(0);
wxuserinfo.setSubscribe("1");
wxuserinfoMapper.updateWxuserinfo(wxuserinfo);
}
ReplyText replyText = new ReplyText();
replyText.setFromUserName(toUserName);
replyText.setToUserName(fromUserName);
replyText.setContent("這裡是醬菜榮耀卡券服務平臺");
replyText.setCreateTime(System.currentTimeMillis());
respMessage = MessageUtil.objToXml(ReplyText.class, replyText);
}else if(eventMessage.getEvent().toString().equals(MessageUtil.EVENT_TYPE_UNSUBSCRIBE)){ //取消關注事件
//使用者取消時修改使用者資料庫
Map<String, String> map = new HashMap<String, String>();
map.put("openid", fromUserName);
List<Wxuserinfo> list = wxuserinfoMapper.searchWxuserinfoByParams(map);
Wxuserinfo wxuserinfo = list.get(0);
wxuserinfo.setRole("0");
wxuserinfo.setSubscribe("0");
wxuserinfoMapper.updateWxuserinfo(wxuserinfo);
System.out.println("收到取消關注事件");
System.out.println(xml.toString());
}else if(eventMessage.getEvent().toString().equals(MessageUtil.EVENT_TYPE_SCAN)){ //已關注
System.out.println("收到掃描事件");
System.out.println(xml.toString());
}else if(menuEvent.getEventKey().equals("getcard")){ //領取卡券
//回覆卡券圖文資訊
ReplyImgAndText replyImgAndText = new ReplyImgAndText();
replyImgAndText.setToUserName(fromUserName);
replyImgAndText.setFromUserName(toUserName);
replyImgAndText.setCreateTime(System.currentTimeMillis());
List<_Item> articles = new ArrayList<_Item>();
//查詢卡券資訊
_Item item = new _Item();
item.setUrl("www.baidu.com");
item.setTitle("領券啦");
item.setPicurl("http://g.hiphotos.baidu.com/image/pic/item/b3119313b07eca800b6ae3f49b2397dda14483b2.jpg");
item.setDescription("雙十二代金券100元");
item.setDescription("數量有限,先到先得");
_Item item2 = new _Item();
item2.setUrl("www.soso.com");
item2.setTitle("領券啦");
item2.setPicurl("http://g.hiphotos.baidu.com/image/pic/item/b3119313b07eca800b6ae3f49b2397dda14483b2.jpg");
item2.setDescription("雙十二代金券100元");
item2.setDescription("數量有限,先到先得");
articles.add(item);
articles.add(item2);
replyImgAndText.setArticleCount(articles.size());
replyImgAndText.setArticles(articles);
respMessage = MessageUtil.objToXml(ReplyImgAndText.class, replyImgAndText);
System.out.println("領取卡券");
}else if(menuEvent.getEventKey().equals("usercardlist")){ //獲取卡包
System.out.println("獲取卡包");
}else if(menuEvent.getEventKey().equals("checkcard")){ //核銷卡券
System.out.println("核銷卡券");
}else{
System.out.println("位置事件");
}
}
return respMessage;
}
public String processRequest(StringBuffer xml) {
String respMessage = "";
BaseMessage baseMessage = MessageUtil.xmlToObj(BaseMessage.class, xml);
// 傳送方帳號(open_id)
String fromUserName = baseMessage.getFromUserName();
// 公眾帳號
String toUserName = baseMessage.getToUserName();
// 訊息型別
String msgType = baseMessage.getMsgType().toString();
//自動回覆訊息
if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)){ //收到事件
EventMessage eventMessage = MessageUtil.xmlToObj(EventMessage.class, xml);
MenuEvent menuEvent = MessageUtil.xmlToObj(MenuEvent.class, xml);
System.out.println("微信傳來====="+JSON.toJSONString(menuEvent));
if(eventMessage.getEvent().toString().equals(MessageUtil.EVENT_TYPE_SUBSCRIBE)){ //關注事件
//使用者關注微訊號時獲取使用者資訊並存取到資料庫
//新增之前查詢資料庫避免插入重複資料
Map<String,String> map = new HashMap<String, String>();
map.put("openid", fromUserName);
List<Wxuserinfo> list = wxuserinfoMapper.searchWxuserinfoByParams(map);
if(list.size()==0){ //新增新使用者
Wxuserinfo userinfo = getUserinfoByOpenid(fromUserName);
userinfo.setRole("0");
wxuserinfoMapper.insertWxuserinfo(userinfo);
}else{ //老客戶
Wxuserinfo wxuserinfo = list.get(0);
wxuserinfo.setSubscribe("1");
wxuserinfoMapper.updateWxuserinfo(wxuserinfo);
}
ReplyText replyText = new ReplyText();
replyText.setFromUserName(toUserName);
replyText.setToUserName(fromUserName);
replyText.setContent("這裡是醬菜榮耀卡券服務平臺");
replyText.setCreateTime(System.currentTimeMillis());
respMessage = MessageUtil.objToXml(ReplyText.class, replyText);
}else if(eventMessage.getEvent().toString().equals(MessageUtil.EVENT_TYPE_UNSUBSCRIBE)){ //取消關注事件
//使用者取消時修改使用者資料庫
Map<String, String> map = new HashMap<String, String>();
map.put("openid", fromUserName);
List<Wxuserinfo> list = wxuserinfoMapper.searchWxuserinfoByParams(map);
Wxuserinfo wxuserinfo = list.get(0);
wxuserinfo.setRole("0");
wxuserinfo.setSubscribe("0");
wxuserinfoMapper.updateWxuserinfo(wxuserinfo);
System.out.println("收到取消關注事件");
System.out.println(xml.toString());
}else if(eventMessage.getEvent().toString().equals(MessageUtil.EVENT_TYPE_SCAN)){ //已關注
System.out.println("收到掃描事件");
System.out.println(xml.toString());
}else if(menuEvent.getEventKey().equals("getcard")){ //領取卡券
//回覆卡券圖文資訊
ReplyImgAndText replyImgAndText = new ReplyImgAndText();
replyImgAndText.setToUserName(fromUserName);
replyImgAndText.setFromUserName(toUserName);
replyImgAndText.setCreateTime(System.currentTimeMillis());
List<_Item> articles = new ArrayList<_Item>();
//查詢卡券資訊
_Item item = new _Item();
item.setUrl("www.baidu.com");
item.setTitle("領券啦");
item.setPicurl("http://g.hiphotos.baidu.com/image/pic/item/b3119313b07eca800b6ae3f49b2397dda14483b2.jpg");
item.setDescription("雙十二代金券100元");
item.setDescription("數量有限,先到先得");
_Item item2 = new _Item();
item2.setUrl("www.soso.com");
item2.setTitle("領券啦");
item2.setPicurl("http://g.hiphotos.baidu.com/image/pic/item/b3119313b07eca800b6ae3f49b2397dda14483b2.jpg");
item2.setDescription("雙十二代金券100元");
item2.setDescription("數量有限,先到先得");
articles.add(item);
articles.add(item2);
replyImgAndText.setArticleCount(articles.size());
replyImgAndText.setArticles(articles);
respMessage = MessageUtil.objToXml(ReplyImgAndText.class, replyImgAndText);
System.out.println("領取卡券");
}else if(menuEvent.getEventKey().equals("usercardlist")){ //獲取卡包
System.out.println("獲取卡包");
}else if(menuEvent.getEventKey().equals("checkcard")){ //核銷卡券
System.out.println("核銷卡券");
}else{
System.out.println("位置事件");
}
}
return respMessage;
}