• PHP集成华为企业信息机


    华为信息机虽然只提供了DLL和Java的接口,但是其它的语言还是可以调用,方法就是使用它的存储过程。下面是一个PHP调用的例子

    <?php


    class PHPSMS {
        var $dbHost   = "ip:1433";
        var $dbName   = "DB_CustomSMS";
        var $dbUser   = "sa";
        var $dbPass   = "";
        var $name     = "0005";
        var $pass     = "";
       
        var $db;


        function init() {
         $this->db = &ADONewConnection('mssql');
          $this->db->Connect($this->dbHost,$this->dbUser,$this->dbPass,$this->dbName) or die($db->ErrorMsg().'<br>');
        }
       
        function addSMtoSend($pDestAddr,$pSmContent) {
         
          $pOrgAddr = '1068×××××'.$this->name;
          $pSendTime = date("Y-m-d H:i:s");
          $pNeedStateReport = 0;
          $pServiceID = "EIES";
          $pFeeType = "02" ;
          $pFeeCode = "0";
          $pSMType = 0;
          $pMessageID = "0";
          $pDestaddrType = 0;
          $pCreatorID = $this->name;
          $pSuccess = -1;
         
          $stmt = $this->db->PrepareSP('addSMtoSend');
          $this->db->InParameter($stmt,$pOrgAddr,'pOrgAddr');
          $this->db->InParameter($stmt,$pDestAddr,'pDestAddr');
          $this->db->InParameter($stmt,$pSmContent,'pSmContent');
          $this->db->InParameter($stmt,$pSendTime,'pSendTime');
          $this->db->InParameter($stmt,$pNeedStateReport,'pNeedStateReport');
          $this->db->InParameter($stmt,$pServiceID,'pServiceID');
          $this->db->InParameter($stmt,$pFeeType,'pFeeType');
          $this->db->InParameter($stmt,$pFeeCode,'pFeeCode');
          $this->db->InParameter($stmt,$pSMType,'pSMType');
          $this->db->InParameter($stmt,$pMessageID,'pMessageID');
          $this->db->InParameter($stmt,$pDestaddrType,'pDestaddrType');
          $this->db->InParameter($stmt,$pCreatorID,'pCreatorID');

          $this->db->OutParameter($stmt,$pSuccess,'pSuccess');     
         
          $this->db->Execute($stmt);
         
          if($pSuccess>=0)  return 1;
         
         else return 0;
         
        } 
       
        function fetchSMRequest(&$SourceAddr,&$Content,&$RecvTime) {
         
         $DestAddrMask = '1068×××××'.$this->name;

         $DestAddr = '';

         $SMType = 0;
         $pMessageID = "0";
         $OrgAddrType = 0;
         $ActionID = 0;
         $ActionReasonID = 0;
         $ServiceID = "";
         $Ret_Code = 0;
         
         $stmt = $this->db->PrepareSP('FetchSMRequest');
         $this->db->InParameter($stmt,$DestAddrMask,'DestAddrMask');

         $this->db->OutParameter($stmt,$SourceAddr,'SourceAddr');
         $this->db->OutParameter($stmt,$DestAddr,'DestAddr');
         $this->db->OutParameter($stmt,$Content,'Content');
         $this->db->OutParameter($stmt,$RecvTime,'RecvTime');
         $this->db->OutParameter($stmt,$SMType,'SMType');
         $this->db->OutParameter($stmt,$MessageID,'MessageID');
         $this->db->OutParameter($stmt,$OrgAddrType,'OrgAddrType');
         $this->db->OutParameter($stmt,$ActionID,'ActionID');
         $this->db->OutParameter($stmt,$ActionReasonID,'ActionReasonID');
         $this->db->OutParameter($stmt,$ServiceID,'ServiceID');
         $this->db->OutParameter($stmt,$Ret_Code,'Ret_Code');     
         
         $this->db->Execute($stmt);
         
         return $Ret_Code; //0 没有消息 1 成功 -1 失败

        }    
       
    }


    ?> 

    使用的时候,先初始化

    $sms = new PHPSMS();
    $sms->init();

    发送消息的方法


    $re = $sms->addSMtoSend('1385×××××','PHP测试');
    if($re = 1) echo "success";
    else echo "fail";

    接收消息的方法

    $SourceAddr = '';
    $Content = '';
    $RecvTime = '';
    while( $sms->fetchSMRequest($SourceAddr,$Content,$RecvTime) ) {
      echo $SourceAddr."<br>".$Content."<br>".$RecvTime;
    }


  • 相关阅读:
    H5 使用 jssdk 出现的问题 错误码:63002 签名错误
    vue 使用 scss
    JS之常用字符串处理类
    hive数仓中两个维度表如果想合并纬度产生新自增ID方法
    叉乘,判线段相交,凸包
    二分查找
    大整数运算
    判定最小生成树是否唯一
    Prim算法
    Boruvka算法
  • 原文地址:https://www.cnblogs.com/tdalcn/p/2749177.html
Copyright © 2020-2023  润新知