Changeset 598


Ignore:
Timestamp:
Nov 21, 2014 2:28:42 PM (10 years ago)
Author:
dungnv
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pro-violet-viettel/sourcecode/application/modules/services/models/services_model.php

    r583 r598  
    2121
    2222if ( ! defined('_SBG_CHARGING_FAIL_NOT_ENOUGH')) define('_SBG_CHARGING_FAIL_NOT_ENOUGH', 401);
     23if ( ! defined('_SBG_CHARGING_FAIL_NOT_VIETTEL')) define('_SBG_CHARGING_FAIL_NOT_VIETTEL', 402);
     24if ( ! defined('_SBG_CHARGING_NUMBER_NOT_EXISTED')) define('_SBG_CHARGING_NUMBER_NOT_EXISTED', 403);
     25
     26if ( ! defined('_SBG_CHARGING_NUMBER_NOT_AVAILABLE')) define('_SBG_CHARGING_NUMBER_NOT_AVAILABLE', 404);
     27if ( ! defined('_SBG_CHARGING_NUMBER_CHANGED_OWNER')) define('_SBG_CHARGING_NUMBER_CHANGED_OWNER', 405);
     28
     29if ( ! defined('_SBG_CHARGING_FAIL_MORETHAN_LIMIT')) define('_SBG_CHARGING_FAIL_MORETHAN_LIMIT', 406);
     30if ( ! defined('_SBG_CHARGING_GENERAL_ERROR')) define('_SBG_CHARGING_GENERAL_ERROR', 440);
     31if ( ! defined('_SBG_CHARGING_NUMBER_NOT_REGISTED')) define('_SBG_CHARGING_NUMBER_NOT_REGISTED', 501);
     32
    2333if ( ! defined('_SBG_CHARGING_FAIL_NOT_ENOUGH_MSG')) define('_SBG_CHARGING_FAIL_NOT_ENOUGH_MSG', 'Tai khoan chinh cua so dien thoai :sendid: khong du de thuc hien lenh nap :amount: vao tai khoan :username: tren soanbaigiang.smas.vn');
     34if ( ! defined('_SBG_CHARGING_FAIL_MORETHAN_LIMIT_MSG')) define('_SBG_CHARGING_FAIL_MORETHAN_LIMIT_MSG', 'So tien nap gioi han lon nhat la 50,000 vnd');
     35if ( ! defined('_SBG_CHARGING_FAIL_NOT_VIETTEL_MSG')) define('_SBG_CHARGING_FAIL_NOT_VIETTEL_MSG', 'Chi danh cho thue bao Viettel');
    2436
    2537if ( ! defined('_SBG_SEND_MT_FAIL')) define('_SBG_SEND_MT_FAIL', -1);
     
    162174                                $userName = isset($aryContents[3]) ? $this->formatPhoneNumber($aryContents[3]) : $sentNumber;
    163175                                $amount = $aryContents[2];
    164                                 $result =$this->chargeRootAccountProcess($sentNumber, $amount);
    165                                 if ($result == _SBG_CHARGING_FAIL_NOT_ENOUGH) {
    166                                         $aryPatterns = array ('/:sendid:/', '/:amount:/', '/:username:/');
    167                                         $smsReturn = preg_replace($aryPatterns, array($sentNumber, $amount, $userName), _SBG_CHARGING_FAIL_NOT_ENOUGH_MSG);
    168                                         $smsReturn = '0|'.$smsReturn;
    169                                 }
    170                                 else {
     176                                $result =$this->chargeRootAccountProcess($sentNumber, $amount, $sentNumber.' paid for SBG');
     177                               
     178                                if ($result == _SBG_CHARGING_SUCCESS) {
    171179                                        $smsReturn = $this->objUserModel->rechargeAccount($userName, $amount);
    172                                         if (_SBG_MO_PAY_TO_ACCOUNT_FOR) {
     180                                        if ($case == _SBG_MO_PAY_TO_ACCOUNT_FOR) {
    173181                                                $arySmsReturn = explode ('|', $smsReturn);
    174182                                                $smsMT = $arySmsReturn[1] .' tu thue bao '. $sentNumber;
    175183                                                $sendMT = $this->sendMT($this->formatPhoneNumber($userName, -1), $smsMT);
    176184                                        }
    177                                 }
    178                                
    179                                 //write to paid log
    180                                 $paidTime = date('Y-m-d H:i:s');
    181                                 $this->objUserModel->insertPaidlog($sentNumber, $userName, _SBG_PAIDTYPE_SMS, $amount, $paidTime);
     185                                        //write to paid log
     186                                        $paidTime = date('Y-m-d H:i:s');
     187                                        $this->objUserModel->insertPaidlog($sentNumber, $userName, _SBG_PAIDTYPE_SMS, $amount, $paidTime);
     188                                }
     189                                else if ($result == _SBG_CHARGING_FAIL_NOT_ENOUGH) {
     190                                        $aryPatterns = array ('/:sendid:/', '/:amount:/', '/:username:/');
     191                                        $smsReturn = preg_replace($aryPatterns, array($sentNumber, $amount, $userName), _SBG_CHARGING_FAIL_NOT_ENOUGH_MSG);
     192                                        $smsReturn = '0|'.$smsReturn;
     193                                }
     194                                else if ($result == _SBG_CHARGING_FAIL_MORETHAN_LIMIT) {
     195                                        $aryPatterns = array ('/:sendid:/');
     196                                        $smsReturn = preg_replace($aryPatterns, array($sentNumber), _SBG_CHARGING_FAIL_MORETHAN_LIMIT_MSG);
     197                                        $smsReturn = '0|'.$smsReturn;
     198                                }else if ($result == _SBG_CHARGING_FAIL_NOT_VIETTEL || $result == _SBG_CHARGING_NUMBER_NOT_EXISTED) {
     199                                        $smsReturn = '0|'._SBG_CHARGING_FAIL_NOT_VIETTEL_MSG;
     200                                }                               
     201                                else {
     202                                        $smsReturn = '0|Loi, khong thanh toan duoc tu tai khoan goc';
     203                                }
    182204                                break;
    183205                        case _SBG_MO_UNSUBSCRIBE_SERVICE:
     
    193215        public function cardPaidProcess ($aryCardInfo, &$aryTopupResult = array())
    194216        {
    195                 /*
    196             ["BalanceAfterTransaction"]=>
    197             string(1) "0"
    198             ["ErrorCode"]=>
    199             string(3) "199"
    200             ["ErrorMessage"]=>
    201             string(29) "L?i exception Payment service"
    202             ["LastLockedOutDate"]=>
    203             string(19) "0001-01-01T00:00:00"
    204             ["RemainTimeToUnLock"]=>
    205             string(1) "0"
    206             ["Success"]=>
    207             string(5) "false"
    208             ["TransactionAmount"]=>
    209             string(1) "0"
    210             ["TransactionID"]=>
    211             string(1) "0"
    212             ["TransactionTime"]=>
    213             string(19) "0001-01-01T00:00:00"
    214         */
    215217                $url = $this->config->item('topup_service_url');
    216218                $action = 'http://tempuri.org/ITopupService/TopUp';
     
    223225               
    224226                $result = $client->send($xml, $action);
     227               
     228                $debugMsg = 'Logged time: '. date('Y-m-d H:i:s') ."\n";
     229                $debugMsg .=  'Send:'."\n" .$xml ."\n\n";
     230                $debugMsg .= 'Result:'."\n". var_export($result, TRUE);
     231                write_file('topup_log', $debugMsg);
    225232               
    226233                if ($client->fault) {
     
    260267                $client->operation = $action;
    261268                $result = $client->send($xml, $action);
     269                $debugMsg = var_export($xml, TRUE);             
     270                $debugMsg .= var_export($result, TRUE);
     271                write_file('mt_log', $debugMsg);
    262272               
    263273                if ($client->fault) {
     
    265275                }
    266276               
    267                 if ((int)$result['processChargingResult'] == _SBG_CHARGING_FAIL_NOT_ENOUGH)
    268                         return _SBG_CHARGING_FAIL_NOT_ENOUGH;
     277                $aryErrs = array (_SBG_CHARGING_FAIL_NOT_ENOUGH,
     278                                _SBG_CHARGING_FAIL_NOT_VIETTEL,
     279                                _SBG_CHARGING_FAIL_MORETHAN_LIMIT,
     280                                _SBG_CHARGING_NUMBER_NOT_EXISTED,
     281                                _SBG_CHARGING_NUMBER_NOT_AVAILABLE,
     282                                _SBG_CHARGING_NUMBER_CHANGED_OWNER,
     283                                _SBG_CHARGING_GENERAL_ERROR,
     284                                _SBG_CHARGING_NUMBER_NOT_REGISTED
     285                );
     286               
     287                if (in_array((int)$result['processChargingResult'], $aryErrs))
     288                        return (int)$result['processChargingResult'];           
    269289               
    270290                return _SBG_CHARGING_SUCCESS;
Note: See TracChangeset for help on using the changeset viewer.