1.servlet代码
package com.bochiot.znys.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.bochiot.amain.HttpGyBossService;
import com.bochiot.amain.StringConst;
import com.bochiot.amain.WxConfiguration;
import com.bochiot.znys.config.ENUM_BOZHI_RESULT;
import com.project.util.L;
import net.sf.json.JSONObject;
public class longguanServlet extends BaseHttpServlet{
public static String TAG = "longguanServlet";
@Override
protected void get(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
L.i(TAG, "start");
// openID
String openId = (String) request.getSession().getAttribute(StringConst.OPENID);
L.i(TAG, "openId=" + openId);
if (openId == null || "".equals(openId)) {
if (WxConfiguration.istest) {
openId = WxConfiguration.testopenid;
L.i(TAG, "测试 openId=" + openId);
} else {
openId = request.getParameter("openId");
}
}
JSONObject result = new JSONObject();
result.put("code", -1);
if (openId == null) {
result.put("message", "未获取微信账户信息");
super.out(response, result.toString());
return;
}
L.i(TAG, "openId=" + openId);
// 处理bindRoom.jsp页面中的数据请求
String hotelId= request.getParameter("hotelId");
String roomno = request.getParameter("roomno");
String roomname = request.getParameter("roomname");
System.out.println("hotelId=" + hotelId);
System.out.println("roomnum=" + roomno);
System.out.println("roomname=" + roomname);
ENUM_BOZHI_RESULT enum_BOZHI_RESULT = ENUM_BOZHI_RESULT.MSG_ERR_INVALID;
try {
result = HttpGyBossService.long_guan(openId, hotelId, roomno,roomname);
enum_BOZHI_RESULT = ENUM_BOZHI_RESULT.getCODE(result.getInt("code"));
if (enum_BOZHI_RESULT == ENUM_BOZHI_RESULT.MSG_SUCCESS) {
L.d(TAG, "successed " + "hotelId: " + hotelId + "roomno: " + roomno
+ " openId : " + openId);
result.put("code", 0);
} else {
result.put("message", result.get("message"));
}
} catch (Exception e) {
e.printStackTrace();
result.put("message", e.getMessage());
}
super.out(response, result.toString());
}// end
@Override
protected void post(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
2.service连接java后台地址
//长关
public static String long_guan=WxConfiguration.URL_PREFIX+"api/gyboss/longguanPublic";
//长关long_guan
public static JSONObject long_guan(String openId,String hotelId, String roomno,String roomname) throws Exception {
JSONObject info = new JSONObject();
info.put("openId", openId);
info.put("hotelId",hotelId);
info.put("roomno",roomno);
info.put("roomname",roomname);
return HttpRequestUtils.sendCmdToServer(long_guan, info);
}
3.对应java后台
//长关
@RequestMapping(value = "/longguanPublic", method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public ApiResponseResult longguanPublic(@RequestBody EveryReq req) {
RoomPublic r=roomPublicService.getRoomNo(Long.valueOf(req.getHotelId()),req.getRoomno());
if(r.getDeviceId()==null||r.getGatewayInfo()==null) {
return ApiResponseResult.failure("设备或网关未绑定");
}
Hotel h = hotelService.getHotel(Long.valueOf(req.getHotelId()));
SharePublic sharePublic=new SharePublic();
sharePublic.setRoomNo(req.getRoomno());
sharePublic.setRoomName(req.getRoomname());
sharePublic.setHotel(h);
String nano = System.nanoTime() + "";
sharePublic.setRequestid(Long.parseLong(nano.substring(nano.length() - 13)));
// actiontype int 行为动作,0长关,1长开, 2 正常状态
// devtype int 节点类型,0房间,1门禁
try {
super.dev_noc_set_Public(sharePublic, 0, 2);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
return ApiResponseResult.failure().message(e1.getMessage() );
}
return ApiResponseResult.success();
}// ..
4.web.xml的映射配置
<servlet>
<servlet-name>longguanServlet</servlet-name>
<servlet-class>com.bochiot.znys.servlet.longguanServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>longguanServlet</servlet-name>
<url-pattern>/bozhi/longguanServlet</url-pattern>
</servlet-mapping>