package com.hehenian.biz.facade.notify.montnets.mwgate.httppost; import java.util.ArrayList; import java.util.List; import org.apache.commons.codec.binary.Base64; import com.hehenian.biz.facade.notify.montnets.mwgate.common.ISms; import com.hehenian.biz.facade.notify.montnets.mwgate.common.MO_PACK; import com.hehenian.biz.facade.notify.montnets.mwgate.common.MULTIX_MT; import com.hehenian.biz.facade.notify.montnets.mwgate.common.RPT_PACK; import com.hehenian.biz.facade.notify.montnets.mwgate.common.StaticValue; import com.hehenian.biz.facade.notify.montnets.mwgate.common.ValidateParamTool; /** * post请求实现类 * @author Administrator * */ public class CHttpPost implements ISms { public List<MO_PACK> GetMo(String strUserId, String strPwd, boolean bKeepAlive, Object connection) { List<MO_PACK> moPackList=null; try { String[] result = null; Params p = new Params(); p.setUserId(strUserId); p.setPassword(strPwd); p.setIReqType("1"); result = new SmsUtil().MongateGetDeliverForPost(p,bKeepAlive,connection); if(result != null){ moPackList=new ArrayList<MO_PACK>(); for (int i = 0; i < result.length; i++) { String[] resultArr=result[i].split(","); //数组长度大于等于7才算合法 if(resultArr.length>=7){ MO_PACK moPack=new MO_PACK(); moPack.setStrMoTime(resultArr[1]); moPack.setStrMobile(resultArr[2]); moPack.setStrSpNumber(resultArr[3]); moPack.setStrExNo(resultArr[4]); moPack.setStrReserve(resultArr[5]); //处理上行信息,信息中可能出现英文逗号 int start=0; int index=0; while(index<6){ start+=resultArr[index].length()+1; index++; } moPack.setStrMessage(result[i].substring(start, result[i].length())); moPackList.add(moPack); } } } } catch (Exception e) { System.out.println("出现了异常,访问地址配置错误!"); e.printStackTrace(); } return moPackList; } public List<RPT_PACK> GetRpt(String strUserId, String strPwd, boolean bKeepAlive, Object connection) { List<RPT_PACK> rptPackList=null; try { String[] result = null; Params p = new Params(); p.setUserId(strUserId); p.setPassword(strPwd); p.setIReqType("2"); result = new SmsUtil().MongateGetDeliverForPost(p,bKeepAlive,connection); if(result != null) { rptPackList=new ArrayList<RPT_PACK>(); for (int i = 0; i < result.length; i++) { String[] resultArr=result[i].split(","); RPT_PACK rptPack=new RPT_PACK(); rptPack.setStrMoTime(resultArr[1]); rptPack.setStrPtMsgId(resultArr[2]); rptPack.setStrSpNumber(resultArr[3]); rptPack.setStrMobile(resultArr[4]); rptPack.setStrUserMsgId(resultArr[5]); rptPack.setStrReserve(resultArr[6]); rptPack.setnStatus(Integer.parseInt(resultArr[7])); rptPack.setStrErCode(resultArr[8]); rptPackList.add(rptPack); } } } catch (Exception e) { System.out.println("出现了异常,访问地址配置错误!"); e.printStackTrace(); } return rptPackList; } public int QueryBalance(StringBuffer nBalance, String strUserId, String strPwd, boolean bKeepAlive, Object connection) { Integer result=null; try { Params p = new Params(); //验证账号 if(!ValidateParamTool.validateUserId(strUserId)){ nBalance.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setUserId(strUserId); //验证密码 if(!ValidateParamTool.validatePwd(strPwd)){ nBalance.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setPassword(strPwd); result = new SmsUtil().MongateQueryBalanceForPost(p,bKeepAlive,connection); } catch (Exception e) { System.out.println("出现了异常,访问地址配置错误!"); e.printStackTrace(); } if(result==null){ nBalance.append("-1"); result=-1; }else if(result>=0){ nBalance.append(result); result=0; }else{ nBalance.append(result); } return result.intValue(); } public int SendMultixSms(StringBuffer strPtMsgId, String strUserId, String strPwd, List<MULTIX_MT> MultixMt, boolean bKeepAlive, Object connection) { int returnInt=-200; try { String result = null; StringBuffer multixmt =new StringBuffer(); Params p = new Params(); //验证账号 if(!ValidateParamTool.validateUserId(strUserId)){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setUserId(strUserId); //验证密码 if(!ValidateParamTool.validatePwd(strPwd)){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setPassword(strPwd); //验证MultixMt是否合法,如果MultixMt大于0并且小于101,则合法。 if(MultixMt!=null&&MultixMt.size()>0&&MultixMt.size()<101){ for(int j=0;j<MultixMt.size();j++) { MULTIX_MT multixMt = MultixMt.get(j); //流水号 //验证流水号,不合法就返回 if(!ValidateParamTool.validateUserMsgId(multixMt.getStrUserMsgId())){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } multixmt.append(multixMt.getStrUserMsgId()); multixmt.append("|"); //通道号 //验证通道号,不合法就返回 if(!ValidateParamTool.validateSpNumber(multixMt.getStrSpNumber())){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } multixmt.append(multixMt.getStrSpNumber()); multixmt.append("|"); //手机号 //验证手机号码,不合法就返回 if(!ValidateParamTool.validateMobile(multixMt.getStrMobile())){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } multixmt.append(multixMt.getStrMobile()).append("|"); //短信内容 //验证短信内容,不合法就返回 if(!ValidateParamTool.validateMessage(multixMt.getStrBase64Msg())){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } String strBase64Msg = new String(Base64.encodeBase64(multixMt.getStrBase64Msg().getBytes("GBK"))); multixmt.append(strBase64Msg).append(","); } }else{ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } String Multixmt = multixmt.substring(0,multixmt.length()-1); p.setMultixmt(Multixmt); result = new SmsUtil().MongateMULTIXSendForPost(p, bKeepAlive, connection); if(result != null && !"".equals(result)&&result.length()>10){ returnInt=0; strPtMsgId.append(result); }else if(result==null||"".equals(result)){ strPtMsgId.append(returnInt); }else{ returnInt=Integer.parseInt(result); strPtMsgId.append(returnInt); } } catch (Exception e) { returnInt=-200; strPtMsgId.append(returnInt); e.printStackTrace(); } return returnInt; } public int SendSms(StringBuffer strPtMsgId, String strUserId, String strPwd, String strMobiles, String strMessage, String strSubPort, String strUserMsgId, boolean bKeepAlive, Object connection) { int returnInt=-200; try { String result = null; Params p = new Params(); //验证账号 if(!ValidateParamTool.validateUserId(strUserId)){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setUserId(strUserId); //验证密码 if(!ValidateParamTool.validatePwd(strPwd)){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setPassword(strPwd); //验证手机号码,不合法就返回 if(!ValidateParamTool.validateMobiles(strMobiles)){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setPszMobis(strMobiles); //验证短信内容,不合法就返回 if(!ValidateParamTool.validateMessage(strMessage)){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setPszMsg(strMessage); p.setIMobiCount(String.valueOf(strMobiles.split(",").length)); //验证扩展子号是否合法,不合法就返回 if(!ValidateParamTool.validateSubPort(strSubPort)){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setPszSubPort(strSubPort); //验证流水号,不合法就返回 if(!ValidateParamTool.validateUserMsgId(strUserMsgId)){ strPtMsgId.append(StaticValue.PARAM_ERROR); return StaticValue.PARAM_ERROR; } p.setMsgId(strUserMsgId); result =new SmsUtil().MongateSendSubmitForPost(p,bKeepAlive,connection); if(result != null && !"".equals(result)&&result.length()>10){ returnInt=0; strPtMsgId.append(result); }else if(result==null||"".equals(result)){ strPtMsgId.append(returnInt); }else{ returnInt=Integer.parseInt(result); strPtMsgId.append(returnInt); } } catch (Exception e) { returnInt=-200; strPtMsgId.append(returnInt); e.printStackTrace(); } return returnInt; } }