Ignore:
Timestamp:
Apr 23, 2015 12:00:06 PM (10 years ago)
Author:
namnd
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pro-violet-viettel/sourcecode/application/modules/collaborator/models/collaborator_model.php

    r883 r906  
    77if ( ! defined('_SBG_REGISTER_VIP_FOR'))                                define('_SBG_REGISTER_VIP_FOR',                                 'VIP');
    88if ( ! defined('_SBG_CHARGING_FOR'))                                    define('_SBG_CHARGING_FOR',                             'NAP');
    9 if ( ! defined('_SBG_SYNTAX_ERR'))                                      define('_SBG_SYNTAX_ERR',                       'SYNTAX_ERR');
     9if ( ! defined('_SBG_SYNTAX_ERR'))                                              define('_SBG_SYNTAX_ERR',                       'SYNTAX_ERR');
    1010
    1111if ( ! defined('_SBG_CHARGING_SUCCESS'))                                define('_SBG_CHARGING_SUCCESS', 1);
     
    2424if ( ! defined('_SBG_PAIDTYPE_CARD')) define('_SBG_PAIDTYPE_CARD', 2);
    2525
     26if ( ! defined('_SBG_MO_PROCCESS_ERR'))                                 define('_SBG_MO_PROCCESS_ERR', 0);
     27
    2628class Collaborator_model extends CI_Model {
    2729       
     
    4042                $this->load->helper('language');
    4143                $this->lang->load('messages', 'message');
    42         }
    43        
    44         public function isExistUser($username){
    45                 return false;
    4644        }
    4745       
     
    6664                }
    6765               
     66               
    6867                return array('case' => $case, 'content' => $aryContent);
    6968        }
    7069       
    71         public function processUser($user, $sentNumber){
     70        public function isExistUser($cellphone)
     71        {
     72                $sql = "SELECT * FROM tbluser WHERE cellphone = ?";
     73                $this->db->query($sql, array('cellphone'=>$cellphone));
     74                if ($this->db->affected_rows() >0){
     75                        return true;
     76                }else{
     77                        return false;
     78                }
     79        }
     80       
     81        public function processUser($user, $sentNumber)
     82        {
     83                $this->load->model('frontend/user_model');
     84                $data = array();
     85                $data['charging'] = array();
     86                $data['register-vip'] = array();
     87                $data['register'] = array();
     88                $username = $user['username'];
     89                $service = $user['service'];
     90                $amount = $user['amount'];
     91                $isExist = $this->isExistUser($username);
     92                //$isExist = false;
     93                if (!$isExist){
     94                        $data['register']['data'] = $this->registerUser($user, $sentNumber);
     95                        $user['service'] = "Đăng kÜ";
     96                        $user['amount'] = null;
     97                        $data['register']['user'] = $user;
     98                        $data['register']['date'] = date('d-m-Y H:i:s');
     99                }else{
     100                        $data['register']['data']['success'] = 0;
     101                        $data['register']['data']['error'] = "Người dùng đã tồn tại";
     102                        $user['service'] = "Đăng kÜ";
     103                        $user['amount'] = null;
     104                        $data['register']['user'] = $user;
     105                        $data['register']['date'] = date('d-m-Y H:i:s');
     106                }
     107               
     108                // NAP
     109                if ($amount){
     110                        $user['amount'] = $amount;
     111                        $data['charging']['data'] = $this->chargingForUser($user, $sentNumber);
     112                        $user['service'] = "Nạp tiền";
     113                        $data['charging']['user'] = $user;
     114                        $data['charging']['date'] = date('d-m-Y H:i:s');
     115                }
     116                if ($service){
     117                        // ĐK VIP
     118                       
     119                        $aryMatched = explode(' ', trim($service));
     120                        $p_code = $aryMatched[1];
     121                        $package = $package = $this->user_model->get_package ( $p_code );
     122                        $amount = $package['p_price'];
     123                        $user['amount'] = $amount;
     124                        $data['chargingvip']['data'] = $this->chargingForUser($user, $sentNumber);
     125                        $user['service'] = "Nạp tiền";
     126                        $data['chargingvip']['user'] = $user;
     127                        $data['chargingvip']['date'] = date('d-m-Y H:i:s');
     128                       
     129                        if ($data['chargingvip']['data']['success'] == 1){
     130                       
     131                                $data['register-vip']['data'] = $this->registerVipUser($user, $p_code);
     132                                $user['service'] = "Đăng kÜ ".trim($service);
     133                                $user['amount'] = -$amount;
     134                                $data['register-vip']['user'] = $user;
     135                                $data['register-vip']['date'] = date('d-m-Y H:i:s');
     136                        }else{
     137                                $data['register-vip']['data']['success'] = 0;
     138                                $data['register-vip']['data']['error'] = "Tài khoản chính cá»§a thuê bao ".$sentNumber. " khÃŽng đủ để thá»±c hiện giao dịch này";
     139                                $user['service'] = "Đăng kÜ ".trim($service);
     140                                $user['amount'] = -$amount;
     141                                $data['register-vip']['user'] = $user;
     142                                $data['register-vip']['date'] = date('d-m-Y H:i:s');
     143                        }
     144                       
     145                }
     146                /*     
     147                }elseif ($service){
     148                        // ĐK VIP
     149                        $aryMatched = explode(' ', trim($service));
     150                        $p_code = $aryMatched[1];
     151                        $data['register-vip']['data'] = $this->registerVipUser($user, $p_code);
     152                        $user['service'] = "Đăng kÜ ".trim($service);
     153                        $data['register-vip']['user'] = $user;
     154                        $data['register-vip']['date'] = date('d-m-Y H:i:s');
     155                }else{
     156                        // DK
     157                        $data['register']['data'] = $this->registerUser($user, $sentNumber);
     158                        $user['service'] = "Đăng kÜ";
     159                        $data['register']['user'] = $user;
     160                        $data['register']['date'] = date('d-m-Y H:i:s');
     161                }*/
     162                return $data;
     163        }
     164        /*
     165        public function processUser($user, $sentNumber)
     166        {
    72167                $data = array();       
    73168                $serviceAnalys = $this->serviceAnalys($user['service']);
    74169               
    75170                $case = $serviceAnalys['case'];
    76                 $aryContents = isset($serviceAnalys['content']) ? $serviceAnalys['content']: null;
     171                $aryContents = isset($serviceAn
     172                alys['content']) ? $serviceAnalys['content']: null;
    77173               
    78174                switch($case){
    79175                        case _SBG_REGISTER_FOR:
    80                                 $data = $this->registerUser($user);
     176                                $data = $this->registerUser($user, $sentNumber);
    81177                                break;
    82178                        case _SBG_REGISTER_VIP_FOR:
     
    98194               
    99195        }
    100 
    101         public function registerUser($user){
     196*/
     197        public function registerUser($user, $sentNumber)
     198        {
    102199
    103200                $data = array();
    104                 $data['user'] = $user;
     201                //$data['user'] = $user;
    105202                $this->load->model('frontend/user_model');
    106203                $this->load->model('services/services_model');
     
    108205                $token = md5($user['username'] . self::TOKENPW);
    109206                $sms = '';
    110                 $collborator = $user['collboratorId'];
     207                $collboratorId = $user['collboratorId'];
    111208                $username = $user['username'];
    112209                $password = $this->createRandomPassword();
     
    139236                                $arrUser['us_id'] = $us_id;
    140237                                $arrUser['cellphone'] = $username;
    141                                 $arrUser['collborator'] = $collborator;
     238                                $arrUser['collaborator'] = $sentNumber;
    142239                                $arrUser['acc_balanced'] = 0;
    143240                                $arrUser['p_id'] = $trialpackage['p_id'];
     
    178275        }
    179276       
    180         public function registerVipUser($arrUser, $p_code){
     277        public function registerVipUser($arrUser, $p_code)
     278        {
    181279                $data = array();
    182                 $data['user'] = $arrUser;
     280                //$data['user'] = $arrUser;
    183281                $this->load->model('frontend/user_model');
    184282                $username = $arrUser['username'];
     
    232330        }
    233331       
    234         public function chargingForUser($user, $sentNumber){
     332        public function chargingForUser($user, $sentNumber)
     333        {
    235334
    236335                $this->load->model('services/services_model');
    237336                $this->load->model('frontend/user_model');
    238337                $data = array();
    239                 $data['user'] = $user;
     338                //$data['user'] = $user;
    240339                $username = $user['username'];
    241340                $amount = $user['amount'];
     341               
     342                if (!preg_match('/^[0-9]{3,}$/', $amount)) {
     343                        $smsReturn = lang('_SBG_MO_AMOUNT_WRONG_FORMAT_MSG');
     344                        $data['success'] = 0;
     345                        $data['error'] = $smsReturn;
     346                }
    242347       
    243348                $result =$this->services_model->chargeRootAccountProcess($sentNumber, $amount, $sentNumber.' paid for SBG');
     
    284389        }
    285390       
    286        
    287         public function createRandomPassword(){
     391        public function getCollaboratorByPhone($sentNumber){
     392                $sql = "SELECT * from tblcollaborator where login_name = ? LIMIT 0,1";
     393                $query = $this->db->query ( $sql, array ( $sentNumber  ) );
     394                $row = $query->row_array ();
     395                return $row;
     396        }
     397       
     398        public function getPassword($sentNumber){
     399                $collaborator = array();
     400                $collaborator = $this->getCollaboratorByPhone($sentNumber);
     401                if ($collaborator){
     402                        $passwd = $this->createRandomPassword();
     403                        $collaborator['passwd'] = md5($passwd);
     404                        $this->updateCollaborator($collaborator['id'], $collaborator);
     405                        $aryPatterns = array('/:password:/');
     406                        $sms = preg_replace($aryPatterns, array($passwd), lang('_SBG_COLLABORATOR_PASSWORD_MSG'));
     407                        $status = 1;
     408                       
     409                }else{
     410                        $aryPatterns = array('/:collaborator:/');
     411                        $sms = preg_replace($aryPatterns, array($sentNumber), lang('_SBG_MO_COLLABORATOR_NOT_FOUND_MSG'));
     412                        $status = 0;
     413                }
     414                return $status . '|' . $sms;
     415        }
     416       
     417        public function createRandomPassword()
     418        {
    288419                $alphabet = "0123456789";
    289420                $pass = array ();
     
    296427        }
    297428       
    298         public function getProvinceAndDistict($province, $district){
    299                 $result['province'] = $province;
    300                 $result['district'] = $district;
     429        public function getProvinceAndDistict($province, $district)
     430        {
     431                $result['province'] = '';
     432                $p = trim(ucwords($province));
     433                $result['district'] = '';
     434                $d = trim(ucwords($district));
    301435                $provinces = lang('_PROVINCES_');
    302436
    303437                foreach ($provinces as $key => $pro):
    304                         if($province == $pro){
     438                        if($p == $pro){
    305439                                $result['province'] = $key;
    306440                                break;
    307441                        }
    308442                endforeach;
    309                 $sql = "SELECT * FROM tbldistrict where province_id = ? AND district_name = ?";
    310                
    311                 $query = $this->db->query ( $sql, array ($result['province'], $result['district']) );
     443                //$sql = "SELECT * FROM tbldistrict where province_id = ? AND district_name LIKE '%".$d."%'";
     444                $sql = "SELECT * FROM tbldistrict where province_id = ? AND INSTR(?, district_name)>0";
     445                //write_file('./log/sql.log', date('d-m-Y H:i:s') . ": " . $sql . "\n", FOPEN_WRITE_CREATE);
     446                $query = $this->db->query ( $sql, array ($result['province'], $d) );
    312447                if ($query->num_rows () > 0) {
    313448                        $row = $query->row_array ();
     
    317452        }
    318453       
    319         public function updateCollaborator($id, $collaborator){
     454        public function updateCollaborator($id, $collaborator)
     455        {
    320456                $this->db->where ( 'id', $id );
    321457                return $this->db->update ( 'tblcollaborator', $collaborator );
    322458        }
    323459       
    324         public function checkPassCollaborator($id, $passwd){
     460        public function checkPassCollaborator($id, $passwd)
     461        {
    325462                $passwd = md5($passwd);;
    326463                $sql = "SELECT * FROM tblcollaborator WHERE id = ? AND passwd = ?";
     
    332469                }
    333470        }
     471       
     472        public function insertUser($user)
     473        {
     474                $this->db->insert ( 'tbluser', $user );
     475                //var_dump($user);
     476                if ($this->db->affected_rows()>0){
     477                        return true;
     478                }else{
     479                        return false;
     480                }
     481        }
    334482}
Note: See TracChangeset for help on using the changeset viewer.