package com.jshop.android.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.JSONValue; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import com.jshop.android.sqlite.DBHelper; import com.jshop.android.sqlite.DBHelper1; import com.jshop.android.util.JshopActivityUtil; import com.jshop.android.util.JshopMPostActionList; import com.jshop.android.util.Validate; public class JshopMtableAction { private String requestjsonstr; private List<Map<String,Object>>tableList=new ArrayList<Map<String,Object>>(); /** * 向服务器端发送请求获取table信息 * @return */ public String queryTableForJshop(){ String posturl=JshopActivityUtil.BASE_URL+"/"+JshopMPostActionList.FINDALLTABLETFORANDROID; return JshopActivityUtil.queryStringForPost(posturl); } /** * 更新餐桌使用状态 * @return */ public String updateTableTtablestateBytableNo(String tableid,String tablestate){ String queryString="?tableid="+tableid+"&tablestate="+tablestate; String posturl=JshopActivityUtil.BASE_URL+"/"+JshopMPostActionList.UPDATETABLETABLESTATEBYTABLENO+queryString; return JshopActivityUtil.queryStringForPost(posturl); } /** * 处理服务器端返回的json数据 * @throws JSONException */ public List<Map<String,Object>> getTablelist(){ requestjsonstr=this.queryTableForJshop(); if(Validate.StrNotNull(requestjsonstr)){ JSONArray ja=(JSONArray)JSONValue.parse(requestjsonstr); for(int i=0;i<ja.size();i++){ Map<String,Object>map=new HashMap<String,Object>(); JSONObject jo=(JSONObject)(ja.get(i)); map.put("tableid", jo.get("tableid").toString()); map.put("tableNumber", jo.get("tableNumber").toString()); map.put("roomName", jo.get("roomName").toString()); map.put("androidDevicesCount", jo.get("androidDevicesCount").toString()); map.put("note", jo.get("note").toString()); map.put("createtime", jo.get("createtime").toString()); map.put("nop", jo.get("nop").toString()); map.put("tablestate", jo.get("tablestate").toString()); map.put("floor", jo.get("floor").toString()); map.put("rnop", jo.get("rnop").toString()); tableList.add(map); } } return tableList; } /** * 把服务器上的餐桌缓存到本地数据库中 * @param tableList * @param context */ public void setTabletoSQLite(List<Map<String,Object>> tableList,Context context){ List<Map<String,Object>>tl=tableList; if(!tl.isEmpty()){ DBHelper dbhelper=new DBHelper(context); HashMap<String,Object>map=new HashMap<String,Object>(); ContentValues values=new ContentValues(); for(int i=0;i<tl.size();i++){ map=(HashMap<String,Object>)tl.get(i); values.put("tableid", map.get("tableid").toString()); values.put("tableNumber",map.get("tableNumber").toString()); values.put("roomName", map.get("roomName").toString()); values.put("androidDevicesCount", map.get("androidDevicesCount").toString()); values.put("note", map.get("note").toString()); values.put("createtime", map.get("createtime").toString()); values.put("nop", map.get("nop").toString()); values.put("tablestate", map.get("tablestate").toString()); values.put("floor", map.get("floor").toString()); values.put("rnop", map.get("rnop").toString()); dbhelper.insert(DBHelper.TABLE_TM_NAME, values); } dbhelper.close(); } } /** * 从sqlite中读取餐桌信息 * @param c * @return */ public List<Map<String,Object>>getTabletoSQLite(Cursor c){ c.moveToFirst(); while(!c.isAfterLast()){ HashMap<String,Object>map=new HashMap<String,Object>(); map.put("tableid", c.getString(c.getColumnIndex("tableid"))); map.put("tableNumber", c.getString(c.getColumnIndex("tableNumber"))); map.put("roomName", c.getString(c.getColumnIndex("roomName"))); map.put("androidDevicesCount", c.getString(c.getColumnIndex("androidDevicesCount"))); map.put("note", c.getString(c.getColumnIndex("note"))); map.put("createtime", c.getString(c.getColumnIndex("createtime"))); map.put("nop", c.getString(c.getColumnIndex("nop"))); map.put("tablestate", c.getString(c.getColumnIndex("tablestate"))); map.put("floor", c.getString(c.getColumnIndex("floor"))); map.put("rnop", c.getString(c.getColumnIndex("rnop"))); tableList.add(map); c.moveToNext(); } return tableList; } }