package com.ectrip.trips.net; import java.util.HashMap; import java.util.List; import android.content.Context; import android.widget.Toast; import com.ectrip.cyt.base.DataTrans; import com.ectrip.cyt.callback.HttpCallback; import com.ectrip.cyt.config.DevicTool; import com.ectrip.cyt.config.MyApp; import com.ectrip.cyt.constant.LogoType; import com.ectrip.cyt.constant.constant; import com.ectrip.cyt.request.ConsumeOrderRequest; import com.ectrip.cyt.request.DetectVersionRequest; import com.ectrip.cyt.request.LoginRequest; import com.ectrip.cyt.request.ProductOfConsumeOrder; import com.ectrip.cyt.request.QueryConsumedDetailRequest; import com.ectrip.cyt.request.QueryOrderRequest; import com.ectrip.cyt.request.ReprintVoucherRequest; import com.ectrip.cyt.request.StatisticOrderRequest; import com.ectrip.cyt.ui.BaseActivity; import com.ectrip.cyt.utils.LogUtil; import com.ectrip.cyt.utils.SharedPreferences2Obj; /** * @author jigo 网络访问工具类 */ public class HttpHelper extends HttpHelperCore { private Context mContext; public static HttpHelper helper = null; private String devType = "MDEV"; // 移动终端:MDEV 售票窗口:WDEV private static Boolean testMOdel = null; private Integer type; private static BaseActivity activity; // public static final String action="/service/terminal-2.action"; public final String action = "/service/terminal-3.do"; public static HttpHelper getInstance(Context mContext) { if (helper == null) { helper = new HttpHelper(mContext); } activity = (BaseActivity) mContext; return helper; } private HttpHelper(Context mContext) { this.mContext = mContext; testMOdel = SharedPreferences2Obj.getInstance(mContext) .setName("config").getObject("testMOdel", Boolean.class); type = SharedPreferences2Obj.getInstance(mContext) .setName("MachineType").getObject("type", Integer.class); } /** * 获取终端获取订单信息 * * @param method * 验证码: CODE 手机号码: PHONE 证件号码: ID 订单号码: ORDER * @param code */ public void queryOrder(String method, String code, String phone, String credentials, String orderId, String startDate, String endDate, String pageSize, String count, HttpCallback httpCallback) { QueryOrderRequest orderRequest = new QueryOrderRequest(method, code, phone, credentials, orderId, startDate, endDate, pageSize,count); orderRequest.setVer(MyApp.getInstance().getVer()); orderRequest.setVerType(MyApp.getInstance().getVerType()); orderRequest.setDevId(DevicTool.getInstance().getDevId()); orderRequest.setDevType(devType); HashMap map = new HashMap(); map.put("method", "queryOrder"); String requestParam = DataTool.envelopeData(orderRequest, MyApp .getInstance().getSignkey(), MyApp.getInstance().getIdentity()); map.put("requestParam", requestParam); LogUtil.i(requestParam + "requestParam"); executeHttpPost( "http://" + MyApp.getInstance().getServiceIp() + action, "", map, httpCallback, "data", DataTrans.class); if (testMOdel != null && testMOdel) { // 这个是调试弹框 if (type == null) { return; } if(activity==null){ return; } activity.MToast(mContext, "服务地址:" + MyApp.getInstance().getServiceIp() + ";" + "机器码:" + DevicTool.getInstance().getDevId() + ";" + credentials + ";" + phone + ";", Toast.LENGTH_LONG); } } /** * @param orderId * 订单 ID * @param count * 消费数量 * @param password * 订单密码 * @param verifyPassword * 是否验证密码 是: TRUE 否: FALSE * @param httpCallback * 回调 */ public void consumeOrder(String orderId, String count, String password, String verifyPassword, String consumedSeq, List products, HttpCallback httpCallback) { Long accountId=MyApp.getInstance().getAccountId(); ConsumeOrderRequest consumeCount = new ConsumeOrderRequest(orderId, count, password, verifyPassword,consumedSeq,products); consumeCount.setVer(MyApp.getInstance().getVer()); consumeCount.setVerType(MyApp.getInstance().getVerType()); consumeCount.setDevId(DevicTool.getInstance().getDevId()); consumeCount.setAccountId(accountId); consumeCount.setDevType(devType); HashMap map = new HashMap(); map.put("method", "consumeOrder"); String requestParam = DataTool.envelopeData(consumeCount, MyApp .getInstance().getSignkey(), MyApp.getInstance().getIdentity()); map.put("requestParam", requestParam); LogUtil.i("requestParam" + requestParam); executeHttpPost( "http://" + MyApp.getInstance().getServiceIp() + action, "", map, httpCallback, "data", DataTrans.class); if (testMOdel != null && testMOdel) { // 这个是调试弹框 if (type == null) { return; } if(activity==null){ return; } activity.MToast(mContext, "服务地址:" + MyApp.getInstance().getServiceIp() + ";" + "机器码:" + DevicTool.getInstance().getDevId() + ";" + "订单号:" + orderId + ";", Toast.LENGTH_LONG); } } /** * @param startdate * @param enddate * @param month * @param httpCallback * @param method * DAY MON 统计订单 */ public void statisticsOrder(String method, String startdate, String enddate, String month, HttpCallback httpCallback) { StatisticOrderRequest consumeCount = new StatisticOrderRequest(method, startdate, enddate, month); consumeCount.setVer(MyApp.getInstance().getVer()); consumeCount.setVerType(MyApp.getInstance().getVerType()); consumeCount.setDevId(DevicTool.getInstance().getDevId()); consumeCount.setDevType(devType); HashMap map = new HashMap(); map.put("method", "consumeSummary"); String requestParam = DataTool.envelopeData(consumeCount, MyApp .getInstance().getSignkey(), MyApp.getInstance().getIdentity()); map.put("requestParam", requestParam); LogUtil.i("requestParam" + requestParam); executeHttpPost( "http://" + MyApp.getInstance().getServiceIp() + action, "", map, httpCallback, "data", DataTrans.class); if (testMOdel != null && testMOdel) { // 这个是调试弹框 if (type == null) { return; } if(activity==null){ return; } activity.MToast(mContext, "服务地址:" + MyApp.getInstance().getServiceIp() + ";" + "机器码:" + DevicTool.getInstance().getDevId() + ";" + "开始时间:" + startdate + ";" + "结束:" + enddate + ";" + "月份:" + month, Toast.LENGTH_LONG); } } /** * @param orderId * 订单号 * @param httpCallback * 不打小票列表 */ public void queryConsumedDetail(String orderId, HttpCallback httpCallback) { QueryConsumedDetailRequest reprintVoucherRequest = new QueryConsumedDetailRequest(); reprintVoucherRequest.setOrderId(orderId); reprintVoucherRequest.setVer(MyApp.getInstance().getVer()); reprintVoucherRequest.setVerType(MyApp.getInstance().getVerType()); reprintVoucherRequest.setDevId(DevicTool.getInstance().getDevId()); reprintVoucherRequest.setDevType(devType); HashMap map = new HashMap(); map.put("method", "consumeHistoryQuery"); String requestParam = DataTool.envelopeData(reprintVoucherRequest, MyApp.getInstance().getSignkey(), MyApp.getInstance() .getIdentity()); map.put("requestParam", requestParam); LogUtil.i("requestParam" + requestParam); executeHttpPost( "http://" + MyApp.getInstance().getServiceIp() + action, "", map, httpCallback, "data", DataTrans.class); if (testMOdel != null && testMOdel) { // 这个是调试弹框 if (type == null) { return; } if(activity==null){ return; } activity.MToast(mContext, "服务地址:" + MyApp.getInstance().getServiceIp() + ";" + "机器码:" + DevicTool.getInstance().getDevId() + ";" + "补打订单:" + orderId, Toast.LENGTH_LONG); } } /** * @param orderId * 订单号 * @param httpCallback * 补打小票信息 */ public void reprintVoucher(String orderId, List orderDetailIds, HttpCallback httpCallback) { ReprintVoucherRequest reprintVoucherRequest = new ReprintVoucherRequest(); reprintVoucherRequest.setOrderId(orderId); StringBuffer buffer = new StringBuffer(); for (int i = 0;i map = new HashMap(); map.put("method", "reprintVoucher"); String requestParam = DataTool.envelopeData(reprintVoucherRequest, MyApp.getInstance().getSignkey(), MyApp.getInstance() .getIdentity()); map.put("requestParam", requestParam); LogUtil.i("requestParam" + requestParam); executeHttpPost( "http://" + MyApp.getInstance().getServiceIp() + action, "", map, httpCallback, "data", DataTrans.class); if (testMOdel != null && testMOdel) { // 这个是调试弹框 if (type == null) { return; } if(activity==null){ return; } activity.MToast(mContext, "服务地址:" + MyApp.getInstance().getServiceIp() + ";" + "机器码:" + DevicTool.getInstance().getDevId() + ";" + "补打订单:" + orderId, Toast.LENGTH_LONG); } } /** * 在线升级 * * @param curVersionName * @param signkey * 标识 * @param identity * 编码 * @param url * ip或者域名 */ public void versionUpdate(String curVersionName, String signkey, String identity, String url, HttpCallback httpCallback) { DetectVersionRequest detectVersionRequest = new DetectVersionRequest(); detectVersionRequest.setDevId(DevicTool.getInstance().getDevId()); detectVersionRequest.setDevType("MDEV"); detectVersionRequest.setVer(curVersionName); if (constant.logoMark == LogoType.CYT.getValue()||constant.logoMark == LogoType.EMC.getValue()) { detectVersionRequest.setVerType("CT"); } else if (constant.logoMark == LogoType.QNE.getValue()) { detectVersionRequest.setVerType("QT"); } HashMap map = new HashMap(); map.put("method", "detectVersion"); String requestParam = DataTool.envelopeData(detectVersionRequest, signkey, identity); map.put("requestParam", requestParam); LogUtil.i("requestParam" + requestParam); executeHttpPost("http://" + url + action, "", map, httpCallback, "data", DataTrans.class); } /** * 操作员登录 * @param username * @param password * @param httpCallback */ public void login (String username, String password, HttpCallback httpCallback) { LoginRequest loginRequest = new LoginRequest(); loginRequest.setAccountName(username); loginRequest.setPassword(password); loginRequest.setVer(MyApp.getInstance().getVer()); loginRequest.setVerType(MyApp.getInstance().getVerType()); loginRequest.setDevId(DevicTool.getInstance().getDevId()); loginRequest.setDevType(devType); HashMap map = new HashMap(); map.put("method", "login"); String requestParam = DataTool.envelopeData(loginRequest, MyApp.getInstance().getSignkey(), MyApp.getInstance() .getIdentity()); map.put("requestParam", requestParam); LogUtil.i("requestParam" + requestParam); executeHttpPost( "http://" + MyApp.getInstance().getServiceIp() + action, "", map, httpCallback, "data", DataTrans.class); } }