⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zteforunconntemplet.java

📁 中国联通炫铃业务接口开发
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    	LoggerConstant.log.info("------发送Crbt_Query2");
    	LoggerConstant.log.info("Sou_addr_6:"+crbt.getSou_addr_6());
    	LoggerConstant.log.info("Des_addr_6:"+crbt.getDes_addr_6());
    	LoggerConstant.log.info("Seq_no_10:"+crbt.getSeq_no_10());
    	LoggerConstant.log.info("craccount_20:"+crbt.getCraccount_20());
    	LoggerConstant.log.info("ret1_10:"+crbt.getRet1_10());
    	Crbt_Query2 CQ = new Crbt_Query2();
    	CQ.setSou_addr_6(crbt.getSou_addr_6());
    	CQ.setDes_addr_6(crbt.getDes_addr_6());
    	CQ.setSeq_no_10(crbt.getSeq_no_10());
    	CQ.setCraccount_20(crbt.getCraccount_20());
    	CQ.setRet1_10(crbt.getRet1_10());
    	this.write(CQ.getBytes());
    	LoggerConstant.log.info("------Crbt_Query2发送完毕!");
    	
    	return CQ.getBytes();
    }
  
    /** 解析处理收到的字节信息 */
	public void process(byte[] messageBuffer) {
		String commandid=byte2str(messageBuffer,4,8);
		if(commandid.equalsIgnoreCase("08020101")){//crbt_bind_rc_resp
			processCrbt_bind_rc_resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("08020102")){//CRBT_BIND_SR_RESP
			processCrbt_bind_sr_resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("08020201")){//Crbt_Generic_Nack_Resp
			processCrbt_Generic_Nack_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("08020202")){//Crbt_Enquire_Link_Resp
			processCrbt_Enquire_Link_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("08020401")){//Crbt_Unbind_Resp
			processCrbt_Unbind_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("02020104")){//Crbt_Open_Rsp
			processCrbt_Login_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020101")){//Crbt_Open_Rsp
			processCrbt_Open_Rsp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020102")){//Crbt_Close_Resp
			processCrbt_Close_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020204")){//Crbt_Password_Resp
			processCrbt_Password_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020701")){//Crbt_On_Off_Resp
			processCrbt_On_Off_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020905")){//Crbt_Add_Ring_Resp
			processCrbt_Add_Ring_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020203")){//Crbt_Del_Ring_Resp
			processCrbt_Del_Ring_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020902")){//Crbt_Get_Password_Resp
			processCrbt_Get_Password_Resp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020926")){//Crbt_Present_Rsp
			processCrbt_Present_Rsp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020659")){//Crbt_Name_Query_Rsp
			processCrbt_Name_Query_Rsp(messageBuffer);
		}else if(commandid.equalsIgnoreCase("01020660")){//Crbt_Query2_Rsp
			processCrbt_Query2_Rsp(messageBuffer);
		}
	}
    public void processSendActiveTest() {
    	log.info("------发送Crbt_Enquire_Link测试包------");
    	Crbt_Enquire_Link CEL=new Crbt_Enquire_Link();
		this.write(CEL.getBytes());
    }
	public void processSendTermate() {
       log.info("-------发送断开连接请求Crbt_Unbind------");
       Crbt_Unbind CU=new Crbt_Unbind();
       this.write(CU.getBytes());
       
//       this.stopSendT();
//       CrbtClientController.restart(this);
    }

	public void processClosed(){

	      if( this.idleFlag ){
	        this.stopSendT();
	        CrbtClientController.restart(this);
	      }
	}
	
	
	public void processCrbt_Query2_Rsp(byte[] ba){
		Crbt_Query2_Rsp CQR = new Crbt_Query2_Rsp(ba);
		if(CQR.isIsfinishedFlag()){//全部结果已出
			if(Integer.parseInt(CQR.getStartnum_4())==0){//当起始记录是0000时
				log.info("------查询个人铃音库全部结果:");
				for(int i=0;i<CQR.getAllQuery2Result().length;i++){
					log.info("  "+CQR.getAllQuery2Result()[i]);
				}
			}else{
				log.info("------接上...:");
				for(int i=0;i<CQR.getCurrentQuery2Result().length;i++){
					log.info("  "+CQR.getCurrentQuery2Result()[i]);
				}

				log.info("------以上是查询个人铃音库全部结果,查询完毕!");
			}
		}else{//还有后续的查询结果,allnum=0000
			log.info("------查询个人铃音库本次结果....");
			for(int i=0;i<CQR.getCurrentQuery2Result().length;i++){
				log.info("  "+CQR.getCurrentQuery2Result()[i]);
			}
			log.info("------未完待续....");
		}
		CRBT resp = new CRBT();
		String Crid_resp_200 = "";
		int len = CQR.getAllQuery2Result().length;
		for(int i=len-1;i>=0;i--){
			Crid_resp_200 = CQR.getAllQuery2Result()[i]+","+Crid_resp_200;
		}
		resp.setRespTime(Util.getCurrentTime());
		resp.setCrid_resp_200(Crid_resp_200);
		resp.setTotalnum_resp_4(CQR.getAllnum_4());
		resp.setSeq_no_10(CQR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Name_Query_Rsp(byte[] ba){
		Crbt_Name_Query_Rsp CNQR = new Crbt_Name_Query_Rsp(ba);
		log.info("------该铃音共查询出 "+CNQR.getTotalnum_4()+" 个对应的铃音ID------");
		for(int i=0;i<Integer.parseInt(CNQR.getTotalnum_4());i++){
			log.info("------Crid("+(i+1)+") :"+CNQR.getCrid_20()[i]);
		}
		CRBT resp = new CRBT();
		String Crid_resp_200 = "";
		int len = CNQR.getCrid_20().length;
		for(int i=len-1;i>=0;i--){
			Crid_resp_200 = CNQR.getCrid_20()[i]+","+Crid_resp_200;
		}
		resp.setRespTime(Util.getCurrentTime());
		resp.setCrid_resp_200(Crid_resp_200);
		resp.setTotalnum_resp_4(CNQR.getTotalnum_4());
		resp.setSeq_no_10(CNQR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Present_Rsp(byte[] ba){
		Crbt_Present_Rsp CPR = new Crbt_Present_Rsp(ba);
		if(Integer.parseInt(CPR.getCommand_status())==0){
			log.info("------赠送铃音操作成功!------");
		}else{
			log.info("------赠送铃音操作失败------"+CPR.getCommand_status());
		}
		CRBT resp = new CRBT();
		resp.setRespTime(Util.getCurrentTime());
		resp.setCommand_status_resp_4(CPR.getCommand_status());
		resp.setSeq_no_10(CPR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Get_Password_Resp(byte[] ba){
		Crbt_Get_Password_Resp CGPR = new Crbt_Get_Password_Resp(ba);
		String Craccount = CGPR.getCraccount_20();
		String Password = CGPR.getPassword_8();
		log.info("------取回密码:Craccount:"+Craccount+"Password:"+Password);
		CRBT resp = new CRBT();
//		resp.setCommand_status_resp_4(CGPR.getCommand_status());
		resp.setRespTime(Util.getCurrentTime());
		resp.setCraccount_resp_20(Craccount);
		resp.setPassword_resp_8(Password);
		resp.setSeq_no_10(CGPR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Del_Ring_Resp(byte[] ba){
		Crbt_Del_Ring_Resp CDRR=new Crbt_Del_Ring_Resp(ba);
		if(Integer.parseInt(CDRR.getCommand_status())==0){
			log.info("------删除个人铃音操作成功!------");
		}else{
			log.info("------删除个人铃音操作失败------"+CDRR.getCommand_status());
		}
		CRBT resp = new CRBT();
		resp.setRespTime(Util.getCurrentTime());
		resp.setCommand_status_resp_4(CDRR.getCommand_status());
//		resp.setCraccount_resp_20(Craccount);
//		resp.setPassword_resp_8(Password);
		resp.setSeq_no_10(CDRR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Add_Ring_Resp(byte[] ba){
		Crbt_Add_Ring_Resp CARR = new Crbt_Add_Ring_Resp(ba);
		if(Integer.parseInt(CARR.getCommand_status())==0){
			log.info("------增加个人铃音操作成功!------");
		}else{
			log.info("------增加个人铃音操作失败------"+CARR.getCommand_status());
		}
		CRBT resp = new CRBT();
		resp.setRespTime(Util.getCurrentTime());
		resp.setCommand_status_resp_4(CARR.getCommand_status());
//		resp.setCraccount_resp_20(Craccount);
//		resp.setPassword_resp_8(Password);
		resp.setSeq_no_10(CARR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_On_Off_Resp(byte[] ba ){
		Crbt_On_Off_Resp COOR = new Crbt_On_Off_Resp(ba);
		if(Integer.parseInt(COOR.getCommand_status())==0){
			log.info("------激活/去激活操作成功------");
		}else{
			log.info("------激活/去激活失败------"+COOR.getCommand_status());
		}
		CRBT resp = new CRBT();
		resp.setRespTime(Util.getCurrentTime());
		resp.setCommand_status_resp_4(COOR.getCommand_status());
//		resp.setCraccount_resp_20(Craccount);
//		resp.setPassword_resp_8(Password);
		resp.setSeq_no_10(COOR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Password_Resp(byte[] ba){
		Crbt_Password_Resp CPR = new Crbt_Password_Resp(ba);
		if(Integer.parseInt(CPR.getCommand_status())==0){
			log.info("------密码修改成功!------");
		}else{
			log.info("------密码修改失败------"+CPR.getCommand_status());
		}
		CRBT resp = new CRBT();
		resp.setRespTime(Util.getCurrentTime());
		resp.setCommand_status_resp_4(CPR.getCommand_status());
//		resp.setCraccount_resp_20(Craccount);
//		resp.setPassword_resp_8(Password);
		resp.setSeq_no_10(CPR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Close_Resp(byte[] ba){
		Crbt_Close_Resp CCR= new Crbt_Close_Resp(ba);
		String command_status=CCR.getCommand_status();
		if(Integer.parseInt(command_status)==0){
			log.info("------销户操作成功!------");
		}else{
			log.info("------销户操作失败------"+command_status);
		}
		CRBT resp = new CRBT();
		resp.setRespTime(Util.getCurrentTime());
		resp.setCommand_status_resp_4(CCR.getCommand_status());
//		resp.setCraccount_resp_20(Craccount);
//		resp.setPassword_resp_8(Password);
		resp.setSeq_no_10(CCR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Login_Resp(byte[] ba){
		Crbt_Login_Resp CLR= new Crbt_Login_Resp(ba);
		String status=CLR.getStatus_2();//用户状态:1、激活;2、去激活
		if(Integer.parseInt(status)==1){
			log.info("------用户状态:激活------");
		}else if(Integer.parseInt(status)==2){
			log.info("------用户状态:去激活------");
		}else{
			log.info("------未知用户状态------");
		}
		CRBT resp = new CRBT();
		resp.setRespTime(Util.getCurrentTime());
		resp.setStatus_resp_2(status);
//		resp.setCommand_status_resp_4(CLR.getCommand_status());
//		resp.setCraccount_resp_20(Craccount);
//		resp.setPassword_resp_8(Password);
		resp.setSeq_no_10(CLR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Open_Rsp(byte[] ba){
		log.info("------接收到开户相应包Crbt_Open_Rsp------");
		Crbt_Open_Rsp COR=new Crbt_Open_Rsp(ba);
		String command_status=COR.getCommand_status();
		if(Integer.parseInt(command_status)==0){
			log.info("------开户操作成功------");
		}else{
			log.info("------开户操作失败------失败原因:"+command_status);
		}
		CRBT resp = new CRBT();
		resp.setRespTime(Util.getCurrentTime());
//		resp.setStatus_resp_2(status);
		resp.setCommand_status_resp_4(COR.getCommand_status());
//		resp.setCraccount_resp_20(Craccount);
//		resp.setPassword_resp_8(Password);
		resp.setSeq_no_10(COR.getSeq_no_10());
		GetCRBTGlobalForUsual.getInstance().addResp(resp);
	}
	public void processCrbt_Unbind_Resp(byte[] ba){
		log.info("------接收到断开连接响应包Crbt_Unbind_Resp------");
		new Crbt_Unbind_Resp(ba);
	}
	public void processCrbt_Enquire_Link_Resp(byte[] ba){
		log.info("------接收到processCrbt_Enquire_Link_Resp测试响应包------");
	}
	public void processCrbt_Generic_Nack_Resp(byte[] ba){
		Crbt_Generic_Nack_Resp CGNR=new Crbt_Generic_Nack_Resp(ba);
		String command_status=CGNR.getCommand_status();
		log.info("------收到通用错误应答------"+command_status);
	}
	public void processCrbt_bind_rc_resp(byte[] ba)	{
		Crbt_Bind_RC_Resp CBRR=new Crbt_Bind_RC_Resp(ba);
		String Random_number=CBRR.getRandom_number();
		String pass="";
		byte [] response=Util.md5(pass+Random_number);
		Crbt_Bind_SR CBS=new Crbt_Bind_SR();
		CBS.setDes_addr_6("");//目的地址
		CBS.setSou_addr_6("");//源发送地址
		CBS.setSeq_no_10(Util.getSeq_no());//序列号
		CBS.setSp_code_20("");
		CBS.setResponse_length_4(String.valueOf(response.length));
		CBS.setResponse(response);
		this.write(CBS.getBytes());
	}
	public void processCrbt_bind_sr_resp(byte[] ba)	{
		Crbt_Bind_SR_Resp CBSR=new Crbt_Bind_SR_Resp(ba);
		String command_status=CBSR.getCommand_status();
		if(Integer.parseInt(command_status)==0){
			log.info("------成功建立连接------");
			this.setIdleFlag(true);
			if( this.getPeriod() > 0 ){
                log.info("--- 启动发送线程 ---");
                this.startSendT();
                log.info("--- 发送线程启动完毕 ---");
            }
		}else{
			log.info("------建立连接失败------"+command_status);
			setIdleFlag(false);
            if( this.getPeriod() > 0 ){
                this.stopSendT();
            }

            try{
                Thread.sleep(CrbtGWIFGlobal.operesponsetime * 1000);
            }catch(Exception e){}

            CrbtClientController.restart(this);
		}
	}
	/**
     * 处理异常
     */
    public void processException(Throwable cause) {
        if (cause instanceof java.io.IOException || cause instanceof java.lang.IllegalStateException) {
        	log.error("Exception : " , cause);
            this.stopSendT();
            CrbtClientController.restart(this);
         } else{
             CrbtGWIFGlobal.sendMonitor("I000001");
             log.error("Exception : ", cause);
        }
    }
    public static String byte2str(byte[] ba, int start, int len) {
        if (ba.length <= start + len - 1) {
            return null;
        }
        String r = new String();
        for (int i = 0; i < len; i++) {
            r += (char)ba[start + i];
        }
        return r;
    }                                         
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -