| 
					
				 | 
			
			
				@ -0,0 +1,378 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.sms.util.ykyy.client; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.sms.util.ykyy.util.HttpClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.sms.util.ykyy.util.MD5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.sms.util.ykyy.vo.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 短信服务相关方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class SmsClient { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 获取token信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param custCode 客户账号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param serviceBaseUrl http://ip:port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return ResultMsg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private ResultMsg getToken(String custCode, String serviceBaseUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ResultMsg resultMsg = new ResultMsg(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							//发送token请求 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							QueryReq getTokenReq = new QueryReq(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							getTokenReq.setCust_code(custCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String postData = JSON.toJSONString(getTokenReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String getTokenResp = HttpClient.post(serviceBaseUrl + "/getToken", postData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									"application/json", "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject jsonObject = JSON.parseObject(getTokenResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (!"failed".equals(jsonObject.getString("status"))) {//判断是否获取token信息成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setData(getTokenResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setCode(jsonObject.getString("respCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setMsg(jsonObject.getString("respMsg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setCode("1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setMsg("服务器出现未知异常"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return resultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 发送短信 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param smsReq SmsReq实体类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param password 客户密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param serviceBaseUrl http://ip:port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return ResultMsg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ResultMsg sendSms(SmsReq smsReq, String password, String serviceBaseUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						SmsClient smsClient = new SmsClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ResultMsg resultMsg = smsClient.getToken(smsReq.getCust_code(), serviceBaseUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String sign = MD5.getMD5((smsReq.getContent() + password).getBytes("utf-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							smsReq.setSign(sign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String postData = JSON.toJSONString(smsReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String sendSmsResp = HttpClient.post(serviceBaseUrl + "/sendSms", postData, "application/json", "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject jsonObject = JSON.parseObject(sendSmsResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (!"failed".equals(jsonObject.getString("status"))) {//判断是否获取token信息成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setData(sendSmsResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setCode(jsonObject.getString("respCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setMsg(jsonObject.getString("respMsg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setCode("1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setMsg("服务器出现未知异常"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return resultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 发送短信 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param uid 			[选填] 业务标识,由贵司自定义32为数字透传至我司 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param custCode 		[必填] 用户账号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param content 		[必填] 短信内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param destMobiles 	[必填] 接收号码,同时发送给多个号码时,号码之间用英文半角逗号分隔(,) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param needReport 	[选填] 状态报告需求与否,是 yes 否 no 默认yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param spCode 		[选填] 长号码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param msgFmt 		[选填] 信息格式,0:ASCII串;3:短信写卡操作;4:二进制信息;8:UCS2编码;默认8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param serviceBaseUrl 			[必填] http://ip:port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param password 		[必填] 账号密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return ResultMsg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ResultMsg sendSms(String uid, String custCode, String content, String destMobiles, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String needReport, String spCode, String msgFmt, String serviceBaseUrl,String password){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						SmsClient smsClient = new SmsClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ResultMsg resultMsg = smsClient.getToken(custCode, serviceBaseUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							SmsReq req = new SmsReq(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							req.setUid(uid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							req.setCust_code(custCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							req.setContent(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							req.setDestMobiles(destMobiles); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							req.setNeed_report(needReport); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							req.setSp_code(spCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							req.setMsgFmt(msgFmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String sign = MD5.getMD5((req.getContent() + password).getBytes("utf-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							req.setSign(sign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String postData = JSON.toJSONString(req); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String sendSmsResp = HttpClient.post(serviceBaseUrl + "/sendSms", postData, "application/json", "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject jsonObject = JSON.parseObject(sendSmsResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (!"failed".equals(jsonObject.getString("status"))) {//判断是否获取token信息成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setData(sendSmsResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setCode(jsonObject.getString("respCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setMsg(jsonObject.getString("respMsg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setCode("1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setMsg("服务器出现未知异常"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return resultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 发送变量短信 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param variantSmsReq VariantSmsReq实体类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param password 客户密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param serviceBaseUrl http://ip:port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return ResultMsg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ResultMsg sendVariantSms(VariantSmsReq variantSmsReq, String serviceBaseUrl, String password){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						SmsClient smsClient = new SmsClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ResultMsg resultMsg = smsClient.getToken(variantSmsReq.getCust_code(), serviceBaseUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String sign = MD5.getMD5((variantSmsReq.getContent() + password).getBytes("utf-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							variantSmsReq.setSign(sign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String postData = JSON.toJSONString(variantSmsReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String sendSmsResp = HttpClient.post(serviceBaseUrl + "/sendVariantSms", postData, "application/json", "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject jsonObject = JSON.parseObject(sendSmsResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (!"failed".equals(jsonObject.getString("status"))) {//判断是否获取token信息成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setData(sendSmsResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setCode(jsonObject.getString("respCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								resultMsg.setMsg(jsonObject.getString("respMsg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setCode("1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setMsg("服务器出现未知异常"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return resultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 查询账户余额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param custCode 客户账号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param password 客户密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param serviceBaseUrl http://ip:port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return ResultMsg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ResultMsg queryAccount(String custCode, String password, String serviceBaseUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						SmsClient smsClient = new SmsClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ResultMsg resultMsg = smsClient.getToken(custCode, serviceBaseUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (resultMsg.isSuccess()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								GetTokenResp gtResp = JSON.parseObject(resultMsg.getData(), GetTokenResp.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								QueryReq queryAccountReq = new QueryReq(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String sign = MD5.getMD5((gtResp.getToken() + password).getBytes("utf-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setToken_id(gtResp.getToken_id()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setCust_code(custCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setSign(sign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String postData = JSON.toJSONString(queryAccountReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String queryAccountResp = HttpClient.post(serviceBaseUrl + "/queryAccount", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										postData, "application/json", "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								JSONObject jsonObject = JSON.parseObject(queryAccountResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								if (!"failed".equals(jsonObject.getString("status"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setData(queryAccountResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setCode(jsonObject.getString("respCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setMsg(jsonObject.getString("respMsg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setCode("1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setMsg("服务器出现未知异常"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return resultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 获取上行记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param custCode 客户账号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param password 客户密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param serviceBaseUrl http://ip:port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return ResultMsg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ResultMsg getMo(String custCode, String password, String serviceBaseUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						SmsClient smsClient = new SmsClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ResultMsg resultMsg = smsClient.getToken(custCode, serviceBaseUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (resultMsg.isSuccess()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								GetTokenResp gtResp = JSON.parseObject(resultMsg.getData(), GetTokenResp.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								QueryReq queryAccountReq = new QueryReq(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String sign = MD5.getMD5((gtResp.getToken() + password).getBytes("utf-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setToken_id(gtResp.getToken_id()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setCust_code(custCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setSign(sign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String postData = JSON.toJSONString(queryAccountReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String getMoResp = HttpClient.post(serviceBaseUrl + "/getMO", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										postData, "application/json", "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								JSONObject jsonObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									JSON.parseArray(getMoResp);//无异常代表是json数组,即正常返回数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setData(getMoResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									jsonObject = JSON.parseObject(getMoResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									if (!"failed".equals(jsonObject.getString("status"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setData(getMoResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setCode(jsonObject.getString("respCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setMsg(jsonObject.getString("respMsg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setCode("1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setMsg("服务器出现未知异常"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return resultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 获取状态报告 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param custCode 客户账号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param password 客户密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param serviceBaseUrl http://ip:port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return ResultMsg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ResultMsg getReport(String custCode, String password, String serviceBaseUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						SmsClient smsClient = new SmsClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ResultMsg resultMsg = smsClient.getToken(custCode, serviceBaseUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (resultMsg.isSuccess()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								GetTokenResp gtResp = JSON.parseObject(resultMsg.getData(), GetTokenResp.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								QueryReq queryAccountReq = new QueryReq(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String sign = MD5.getMD5((gtResp.getToken() + password).getBytes("utf-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setToken_id(gtResp.getToken_id()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setCust_code(custCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setSign(sign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String postData = JSON.toJSONString(queryAccountReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String getReportResp = HttpClient.post(serviceBaseUrl + "/getReport", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										postData, "application/json", "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								JSONObject jsonObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									JSON.parseArray(getReportResp);//无异常代表是json数组,即正常返回数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setData(getReportResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									jsonObject = JSON.parseObject(getReportResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									if (!"failed".equals(jsonObject.getString("status"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setData(getReportResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setCode(jsonObject.getString("respCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setMsg(jsonObject.getString("respMsg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setCode("1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setMsg("服务器出现未知异常"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return resultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 获取某手机号码的黑名单类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param custCode 客户账号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param password 客户密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param serviceBaseUrl http://ip:port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param mobile 手机号码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return ResultMsg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ResultMsg getBlacklist(String custCode, String password, String serviceBaseUrl, String mobile){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						SmsClient smsClient = new SmsClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ResultMsg resultMsg = smsClient.getToken(custCode, serviceBaseUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (resultMsg.isSuccess()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								GetTokenResp gtResp = JSON.parseObject(resultMsg.getData(), GetTokenResp.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								QueryReq queryAccountReq = new QueryReq(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String sign = MD5.getMD5((gtResp.getToken() + password).getBytes("utf-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setToken_id(gtResp.getToken_id()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setCust_code(custCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setSign(sign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								queryAccountReq.setMobile(mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String postData = JSON.toJSONString(queryAccountReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String getReportResp = HttpClient.post(serviceBaseUrl + "/getBlacklist", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										postData, "application/json", "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								JSONObject jsonObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									JSON.parseArray(getReportResp);//无异常代表是json数组,即正常返回数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									resultMsg.setData(getReportResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									System.out.println(getReportResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									jsonObject = JSON.parseObject(getReportResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									if (!"failed".equals(jsonObject.getString("status"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setSuccess(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setData(getReportResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setCode(jsonObject.getString("respCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										resultMsg.setMsg(jsonObject.getString("respMsg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setSuccess(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setCode("1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							resultMsg.setMsg("服务器出现未知异常"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return resultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |