萬元公排購車萬元購車陌車系統源碼開發小結

初次接手這個項目需求的時候,花了一週的時間瞭解萬元購車的制度規則,也就是作需求調研。php

作完需求調研以後,開始思考這套系統我要怎麼作,選擇什麼語言?,選擇什麼前端框架?,數據結構如何呈現?,底層代碼如何構建?前端

想要進一步瞭解萬元購車系統源碼的朋友,請和我探討,微信號:15889726201sql

一下是系統的一部分介紹前端框架

 

下附部分萬元公排購車萬元購車陌車系統源碼,微信

排位類數據結構

<?php
/* 
 系統分組排位核心類
 */
class camp{
    var $db;
    var $table_camp;
    var $errmsg;
     function __construct(){
        global $db,$CFG;
        $this->db=$db;
        $this->table_camp=$db->pre.'camp';
    }
   
    function pass($post){
        if(!$post['username']) return $this->err('請輸入要排位的會員帳戶');
        if(!$post['underUsername']) return $this->err('請輸入要排位的下屬會員帳戶');
        $member=memberInfo($post['username']);//排位會員校驗
        $underUsername=memberInfo($post['underUsername']);//排位下屬會員校驗
        if($member){
            if($member['status']!='4'){return $this->err('該排位會員帳戶異常,不能參加排位。異常狀態值:<span class="has-error">'.memberStatus($member['status']).'</span>');}
        }
        if($underUsername){
            if($underUsername['status']!='4'){return $this->err('該排位會員帳戶異常,不能參加排位,異常狀態值:<span class="has-error">'.memberStatus($underUsername['status']).'</span>');}
        }
        
        //檢查下屬會員否在左排位
        $leftCheck=$this->getTeam($post['underUsername'],'leftUser');
        if($leftCheck){
            $this->err("排位失敗,該會員已經在會員【{$leftCheck['username']}】的網體左排位中,請覈實"); 
            return false;
        }
        //檢查下屬會員否在右排位 
        $rightCheck=$this->getTeam($post['underUsername'],'rightUser');
        if($rightCheck){
            $this->err("排位失敗,該會員已經在會員【{$rightCheck['username']}】的網體右排位中,請覈實"); 
             return false;
        }
        return true;
    }
    
    function getTeam($username,$field='username'){
        if(!in_array($field,array('username','leftUser','rightUser'))){
            return false;
        }
        $condition = "{$field}='{$username}' ";
        return $this->db->get_one("SELECT * FROM {$this->table_camp} WHERE  {$condition}");
    }
    
    function add($post){
        global $KL_TIME;
        $thisUserArr=$this->getTeam($post['username']);
        $leaderThis=isset($thisUserArr['leader'])?$thisUserArr['leader']:'0';//參加排名的會員上級帳戶
        
        $post['leftUser']=  isset($thisUserArr['leftUser'])?$thisUserArr['leftUser']:'';
        $post['rightUser']=isset($thisUserArr['rightUser'])?$thisUserArr['rightUser']:'';
        
        if($thisUserArr){
            if(!$thisUserArr['leftUser']){//若是左邊爲空 那麼排左邊
                 $post['leftUser']=$post['underUsername'];
            }
               //若是右邊爲空,那麼排右邊
            if((!$thisUserArr['rightUser'])&&$thisUserArr['leftUser']){
                 $post['rightUser']=$post['underUsername'];
            }
            //若是左右都有會員,那麼當前會員排位失敗
            if($thisUserArr['leftUser']&&$thisUserArr['rightUser']){
                return $this->err("排位失敗,當前會員{$post['username']}的左右下屬排位已滿,請覈實");
            } 
            
        } 
        else{
           $post['leftUser']=$post['underUsername']; 
        }
        $username=$post['username'];
        $underUsername=$post['underUsername'];
        $leftUser=$post['leftUser'];
        $rightUser=$post['rightUser'];
        $leftTask=$thisUserArr['leftTask'];
        $rightTask=$thisUserArr['rightTask'];
        $addtime=$thisUserArr['addtime']?$thisUserArr['addtime']:$KL_TIME;
        //更新排位會員沙盤左右排位
       
        
        $this->db->query("REPLACE INTO {$this->table_camp} SET username='{$username}',leftUser='{$leftUser}',rightUser='{$rightUser}',leftTask='{$leftTask}',rightTask='{$rightTask}',leader='{$leaderThis}',addtime='{$addtime}'");
        
        //更新剛剛排位的下屬會員記錄 領導信息
        $this->db->query("REPLACE INTO {$this->table_camp} SET username='{$underUsername}',leader='{$username}',addtime='{$KL_TIME}' ");
          //得到上上級帳戶
        
        
        if($leaderThis){
            if(!$this->taskUser($leaderThis,$username,$underUsername)){
                return false;
            }
        }
        return true;
    }
    
    //添加資格倒掛任務
    //$leaderName 上級領導帳戶名
    //$selfName 上排位的帳戶名
    //$username 倒掛的下屬帳戶名
    function taskUser($leaderName,$selfName,$username){
       $leader=$this->db->get_one("SELECT leftUser,rightUser,leader FROM {$this->table_camp} WHERE leftUser='{$selfName}' or rightUser='{$selfName}' ");
       $leftUser=$rightUser=$userTask='';
        if($leader){
            //判斷資格倒掛的上級
            $leftUser=$leader['leftUser'];
            $rightUser=$leader['rightUser'];
            if($selfName==$leftUser){
                $userTask=$rightUser;
            } 
            elseif ($selfName==$rightUser) {
                $userTask=$leftUser;
            }
            else{         
                $this->err("當前會員資格掛靠歸屬失敗,緣由:資格2個名額已滿"); 
                return false;
            }
               
            $task=  $this->getTeam($userTask);
            if($task){
                $leftTask=$task['leftTask'];
                $rightTask=$task['rightTask'];
                if(!$leftTask){
                    $leftTask=$username;
                }
                else{
                    $rightTask=$username;
                }
            }
            else{
                  $this->err("當前會員資格掛靠歸屬失敗"); 
                  return false;
            }
           $this->db->query("UPDATE {$this->table_camp} SET leftTask='{$leftTask}',rightTask='{$rightTask}' where username='{$userTask}'");   
           $this->outUser($leaderName);
           return true; 
        }
            
    }
    
    //出局狀態更新 
    //$usernameOne 組長
    function outUser($username){
        $usernameOneArr = $this->db->get_one("SELECT * FROM {$this->table_camp} WHERE username='{$username}' AND leftuser<>'0' AND rightuser<>'0'");     
        if($usernameOneArr){
            $leftUser=$usernameOneArr['leftUser'];
            $rightUser=$usernameOneArr['rightUser'];
            $count = $this->db->count("{$this->table_camp}","(username='{$leftUser}' OR username='{$rightUser}') AND leftuser<>'0' AND rightuser<>'0'");
            if($count==2){
               $this->db->query("UPDATE  {$this->db->pre}member set outing='1' WHERE username='{$username}'");
               return true;
            }
            else{
                return false;
            }
            
        }
        else{
            return false;
        }
    }
    
    //首層網體結構
    function netStruct($username){
       $leftUser=$rightUser='';
       $netArr=array();
       $leaderExit1=$this->db->get_one("SELECT * FROM {$this->table_camp} WHERE username='{$username}'");
       if($leaderExit1){
           //判斷是否有副組長 ,若是沒有組長,那麼它就是組長
           if($leaderExit1['leader']){
                $leaderExit2=$this->db->get_one("SELECT * FROM {$this->table_camp} WHERE username='{$leaderExit1['leader']}'");
                    $username=$leaderExit2['username'];
                    //判斷是否有組長,若有組長,那麼它就是付副組長
                    if($leaderExit2){
                        if($leaderExit2['leader']){
                            $leaderExit3=$this->db->get_one("SELECT * FROM {$this->table_camp} WHERE username='{$leaderExit2['leader']}'");
                            $username=$leaderExit3['username'];
                        }
                        
                    }
                
                }           
       }
        $sql="select a.username,a.leftUser,a.rightUser,b.fullname,b.belong,b.addtime,b.mobile,a.leftTask,a.rightTask from {$this->table_camp} a left join {$this->db->pre}member b on a.username=b.username where a.username='{$username}'";
        $userNet=$this->db->get_one($sql);  
       
       
       
       
       if($userNet&&$userNet['leftUser']){//有下屬會員,在網體結構顯示中,那麼本身就是頂層會員
          $leftUser=$userNet['leftUser'];
          $rightUser=$userNet['rightUser'];
          $netArr['username']=$userNet['username'];
          $netArr['fullname']=$userNet['fullname'];
          $netArr['addtime']= timetodate($userNet['addtime'],0);
          $netArr['leftUser']=$userNet['leftUser'];
          $netArr['rightUser']=$userNet['rightUser'];
          $belongUser=memberInfo($userNet['belong']);
          $netArr['belongUsername']= $belongUser['username'];
          $netArr['belongFullname']= $belongUser['fullname'];
          $netArr['leftTask']=$userNet['leftTask'];
          $netArr['rightTask']=$userNet['rightTask'];
       }
       else{
                //判斷是不是人家的子節點
                $sql="select a.username,a.leftUser,a.rightUser,b.fullname,b.belong,b.addtime,b.mobile,a.leftTask,a.rightTask from "
                    . "{$this->table_camp} a left join {$this->db->pre}member b "
                    . "on a.username=b.username where a.leftUser='{$username}' or a.rightUser='{$username}'";
                   
                $leaderNet=  $this->db->get_one($sql);
                
          if($leaderNet){              
                $netArr['username']=$leaderNet['username'];
                $netArr['fullname']=$leaderNet['fullname'];
                $netArr['addtime']= timetodate($leaderNet['addtime'],0);
                $netArr['leftUser']=$leaderNet['leftUser'];
                $netArr['rightUser']=$leaderNet['rightUser'];
                $belongUser=memberInfo($leaderNet['belong']);
                if($belongUser){
                  $netArr['belongUsername']= $belongUser['username'];
                  $netArr['belongFullname']= $belongUser['fullname'];
                }else{
                  $netArr['belongUsername']= '';
                  $netArr['belongFullname']= '';
                }
          $netArr['leftTask']=$userNet['leftTask'];
          $netArr['rightTask']=$userNet['rightTask'];
              
          }
          else{
                $sql="select a.*,leftTask,rightTask from  {$this->db->pre}member a left join {$this->table_camp} b on a.username=b.username where a.username='{$username}'";
                
                $leaderNet=  $this->db->get_one($sql);
          $netArr['username']=$leaderNet['username'];
          $netArr['fullname']=$leaderNet['fullname'];
          $netArr['addtime']= timetodate($leaderNet['addtime'],0);
          $netArr['leftUser']='';
          $netArr['rightUser']='';
          $belongUser=memberInfo($leaderNet['belong']);
          if($belongUser){
                  $netArr['belongUsername']= $belongUser['username'];
                  $netArr['belongFullname']= $belongUser['fullname'];
                }else{
                  $netArr['belongUsername']= '';
                  $netArr['belongFullname']= '';
                }  
          }
          $netArr['leftTask']=$userNet['leftTask'];
          $netArr['rightTask']=$userNet['rightTask'];
         
       }
       return $netArr;
    }
    
    function netStructTwo($username){
       $sql="select a.username,a.fullname,a.belong,a.addtime,a.mobile ,b.leftUser,b.rightUser,b.leftTask,b.rightTask  from {$this->db->pre}member a left join {$this->table_camp} b on a.username=b.username where a.username='{$username}'";
       $userNet=$this->db->get_one($sql);
       $netArr=array();
       if($userNet){//
          $netArr['username']=$userNet['username'];
          $netArr['fullname']=$userNet['fullname'];
          $netArr['addtime']= timetodate($userNet['addtime'],0);
          $netArr['leftUser']=$userNet['leftUser'];
          $netArr['rightUser']=$userNet['rightUser'];
          $belongUser=memberInfo($userNet['belong']);
          $netArr['belongUsername']= $belongUser['username'];
          $netArr['belongFullname']= $belongUser['fullname'];
          $netArr['leftTask']=$userNet['leftTask'];
          $netArr['rightTask']=$userNet['rightTask'];
          return $netArr;
       }
    }
    
    function err($error) {
    $this->errmsg = $error;
    return false;
    }
}

 

資金帳戶處理類框架

<?php
/* 
資金帳戶處理類
 */
class bonus{
    var $db;
    var $errmsg;
    var $table;
    var $cfg;
    function __construct(){
        global $db,$CFG;
        $this->db=$db;
        $this->table=$db->pre.'bonus';
        $this->cfg=$CFG;
    }
    /**
       * 現金幣和購車基金增減處理
       * @param  [String] username 帳戶名
       * @param [Float] amount 添加金額
       * @param [Int] type 資金類型
       * @param [String] reason  添加緣由
       * @param [String] note  詳細備註
     */
    function add($username,$amount,$type='0',$reason='',$userling='',$note='',$carMoneyType='1'){
      
        global $KL_TIME;
        $bonusType=$this->cfg['bonusType'];
        
        if(!$username){
            return false;
        }
        
        if(!array_key_exists($type, $bonusType)){
            $this->errmsg='要操做的獎金類型不存在';
            return false;
        }
        if($type=='2'){
            $this->db->query("UPDATE {$this->db->pre}member SET moneyCar=moneyCar+{$amount} WHERE username='{$username}'");
            $r=$this->db->get_one("SELECT moneyCar FROM {$this->db->pre}member WHERE username='{$username}'");
            $balance=$r['moneyCar'];
            $sql="INSERT INTO {$this->db->pre}bonus_car (username,underling,amount,balance,addtime,reason,carMoneyType) "
            . "VALUES('{$username}','{$userling}','{$amount}','{$balance}','{$KL_TIME}','{$reason}','{$carMoneyType}')";
            $this->db->query($sql);
            return true;
        }
        else{
           
            $this->db->query("UPDATE {$this->db->pre}member SET money=money+{$amount} WHERE username='{$username}'");
            $r=$this->db->get_one("SELECT money FROM {$this->db->pre}member WHERE username='{$username}'");
            $balance=$r['money'];
            $sql="INSERT INTO {$this->db->pre}bonus (username,amount,balance,type,reason,note,addtime) VALUES "
            . "('{$username}','{$amount}','{$balance}','{$type}','{$reason}','{$note}','{$KL_TIME}')";
            $this->db->query($sql);
            return true;
        }
        
        
    }
    
    //系統對現金幣手工化妝
    function bonusSystem($username,$amount,$reason){
        global $KL_TIME;
        $userInfo=memberInfo($username);
        if(!$userInfo){
            $this->errmsg='操做失敗,要劃帳的用戶不存在';
            return false;
        }
        
        if(!is_numeric($amount)){
            $this->errmsg='操做失敗,金額必須是整數';
            return false;
        }
        
        if(!($amount%100===0)){
            $this->errmsg='操做失敗,金額必須是100的整數';
            return false;
        }
        if(($amount<0)&&($amount>$userInfo['money'])){
            $this->errmsg='操做失敗,帳戶餘額不足';
            return false;
        }
        
        $this->db->query("UPDATE {$this->db->pre}member SET money=money+{$amount} WHERE username='{$username}'");
        $r=$this->db->get_one("SELECT money FROM {$this->db->pre}member WHERE username='{$username}'");
        $balance=$r['money'];
        //報單幣增長記錄
        $sql="INSERT INTO {$this->db->pre}bonus (username,amount,balance,type,reason,addtime) "
                . "VALUES('{$username}','{$amount}','{$balance}','8','{$reason}','{$KL_TIME}')";
        $this->db->query($sql);   
        return true;  
    }
    
    
    //系統對購車基金手工劃帳
    function bonusCarSystem($username,$amount,$reason){
        global $KL_TIME;
        $userInfo=memberInfo($username);
        if(!$userInfo){
            $this->errmsg='操做失敗,要劃帳的用戶不存在';
            return false;
        }
        
        if(!is_numeric($amount)){
            $this->errmsg='操做失敗,金額必須是整數';
            return false;
        }
        
        if(!($amount%100===0)){
            $this->errmsg='操做失敗,金額必須是100的整數';
            return false;
        }
        if(($amount<0)&&($amount>$userInfo['moneyCar'])){
            $this->errmsg='操做失敗,帳戶餘額不足';
            return false;
        }
        
        $this->db->query("UPDATE {$this->db->pre}member SET moneyCar=moneyCar+{$amount} WHERE username='{$username}'");
        $r=$this->db->get_one("SELECT moneyCar FROM {$this->db->pre}member WHERE username='{$username}'");
        $balance=$r['moneyCar'];
        //增長記錄
        $sql="INSERT INTO {$this->db->pre}bonus_car (username,amount,balance,carMoneyType,reason,addtime) "
                . "VALUES('{$username}','{$amount}','{$balance}','3','{$reason}','{$KL_TIME}')";
        $this->db->query($sql);   
        return true;  
    }
    
    
    
    
    //系統對報單幣手工劃帳
    function bonusManageSystem($username,$amount,$reason){
        global $KL_TIME;
        $userInfo=memberInfo($username);
        if(!$userInfo){
            $this->errmsg='操做失敗,要劃帳的用戶不存在';
            return false;
        }
        
        if(!is_numeric($amount)){
            $this->errmsg='操做失敗,金額必須是整數';
            return false;
        }
        
        if(!($amount%100===0)){
            $this->errmsg='操做失敗,金額必須是100的整數';
            return false;
        }
        if(($amount<0)&&($amount>$userInfo['moneyManage'])){
            $this->errmsg='操做失敗,帳戶餘額不足';
            return false;
        }
        
        $this->db->query("UPDATE {$this->db->pre}member SET moneyManage=moneyManage+{$amount} WHERE username='{$username}'");
        $r=$this->db->get_one("SELECT moneyManage FROM {$this->db->pre}member WHERE username='{$username}'");
        $balance=$r['moneyManage'];
        //報單幣增長記錄
        $sql="INSERT INTO {$this->db->pre}bonus_manage (username,amount,balance,manageType,reason,addtime) "
                . "VALUES('{$username}','{$amount}','{$balance}','3','{$reason}','{$KL_TIME}')";
        $this->db->query($sql);   
        return true; 
        
        
        
        
    }
    
    
    
    
    
    //報單幣記錄操做 若是
    function exchangeBonus($username,$amount,$fromUsername='',$manageType,$reason=''){
        global $KL_TIME;
        $amount=abs($amount);
        
        if(!($amount%100===0)){
            $this->errmsg='操做失敗,金額必須是100的整數';
            return false;
        }
               
        //報單幣更新
        //判斷本身的現金幣轉報單幣給本身
        
        if(($manageType=='1')&&(!$fromUsername)){
            $userInfo=memberInfo($username);
            if($userInfo['money']<$amount){
                $this->errmsg='轉換失敗,您的現金幣餘額不足';
                return false;
            }
           
            $this->add($username,'-'.$amount,'7','現金幣轉報單幣');//本身的現金幣扣除       
            $this->db->query("UPDATE {$this->db->pre}member SET moneyManage=moneyManage+{$amount} WHERE username='{$username}'");
            $r=$this->db->get_one("SELECT moneyManage FROM {$this->db->pre}member WHERE username='{$username}'");
            $balance=$r['moneyManage'];
            //報單幣增長記錄
            $sql="INSERT INTO {$this->db->pre}bonus_manage (username,amount,balance,manageType,fromUsername,reason,addtime) "
                . "VALUES('{$username}','{$amount}','{$balance}','{$manageType}','{$fromUsername}','{$reason}','{$KL_TIME}')";
            $this->db->query($sql);   
            return true; 
            
            
        } 
            
 
            
        
        //本身的報單幣轉給會員報單幣帳戶
        if(($manageType=='2')&&($username!=$fromUsername)){
            $userInfo=memberInfo($username);
            if($userInfo['moneyManage']<$amount){
                $this->errmsg='轉換失敗,您的報單幣餘額不足';
                return false;
            }
            //個人報單幣扣除處理
            $Myamount=-abs($amount);
            $this->db->query("UPDATE {$this->db->pre}member SET moneyManage=moneyManage+{$Myamount} WHERE username='{$username}'");
            $r=$this->db->get_one("SELECT moneyManage FROM {$this->db->pre}member WHERE username='{$username}'");
            $balance=$r['moneyManage'];
            //報單幣扣減的記錄處理
            $sql="INSERT INTO {$this->db->pre}bonus_manage (username,amount,balance,manageType,fromUsername,reason,addtime) "
                . "VALUES('{$username}','{$Myamount}','{$balance}','{$manageType}','{$fromUsername}','轉出報單幣給{$fromUsername}','{$KL_TIME}')";
            $this->db->query($sql);
            
            //對方的報單幣增長處理
            $this->db->query("UPDATE {$this->db->pre}member SET moneyManage=moneyManage+{$amount} WHERE username='{$fromUsername}'");
            $r=$this->db->get_one("SELECT moneyManage FROM {$this->db->pre}member WHERE username='{$fromUsername}'");
            $balance=$r['moneyManage'];
            //報單幣扣減的記錄處理
            $sql="INSERT INTO {$this->db->pre}bonus_manage (username,amount,balance,manageType,fromUsername,reason,addtime) "
                . "VALUES('{$fromUsername}','{$amount}','{$balance}','{$manageType}','{$username}','收到{$username}的報單幣','{$KL_TIME}')";
            $this->db->query($sql);
            return true;
            
        }
        
  
    }
    
    //系統處理報單幣
    function exchangeBonusSystem($username,$amount,$reason=''){
        global $KL_TIME;
        if($amount<0){
            $userInfo=memberInfo($username);
            if($userInfo['moneyManage']<abs($amount)){
            $this->errmsg='報單幣餘額不足';
            return false;
            }
        }  
        $this->db->query("UPDATE {$this->db->pre}member SET moneyManage=moneyManage+{$amount} WHERE username='{$username}'");
        $r=$this->db->get_one("SELECT moneyManage FROM {$this->db->pre}member WHERE username='{$username}'");
        $balance=$r['moneyManage'];
        $sql="INSERT INTO {$this->db->pre}bonus_manage (username,amount,balance,manageType,reason,addtime) "
                . "VALUES('{$username}','{$amount}','{$balance}','0','{$reason}','{$KL_TIME}')";
        $this->db->query($sql);
        return true;
    }
    
    //購車基金轉現金幣***************************************
    //
    function carBonusToBonus($username,$amount,$carMoneyType=2,$reason){
        global $KL_TIME;        
        $carMoneyToMoney=$this->cfg['carMoneyToMoney'];//初次購車基金提現額度
        $userInfo=memberInfo($username);
        if(!$userInfo['carMoneyToMoneyStatus']){
            $this->errmsg="購車基金轉換失敗!購車基金提現必須知足以下兩種之一<br>方式1:購買一臺汽車 <br>方式2:聯繫公司轉讓購車基金給公司會員。";
            return false;
        }
        if($userInfo['moneyCar']<abs($amount)){
            $this->errmsg='購車基金轉換失敗!購車基金轉換的金額小於餘額';
            return false;
        }
        
        if(!($amount%100===0)){
            $this->errmsg='購車基金轉換失敗!轉換的金額必須是100的整數';
            return false;
        }
        
        
        
        
        $this->db->query("UPDATE {$this->db->pre}member SET moneyCar=moneyCar+{$amount} WHERE username='{$username}'");
        $r=$this->db->get_one("SELECT moneyCar FROM {$this->db->pre}member WHERE username='{$username}'");
        $balance=$r['moneyCar'];
        $sql="INSERT INTO {$this->db->pre}bonus_car (username,amount,balance,carMoneyType,reason,addtime) "
            . "VALUES('{$username}','{$amount}','{$balance}','{$carMoneyType}','{$reason}','{$KL_TIME}')";
        if($this->db->query($sql)){
          $amount=abs($amount);
          $taxPercent=$this->cfg['carMoneyCharge']*100;
          $reason="{$amount}元購車基金轉現金幣,稅費{$taxPercent}%";
          $amount=$amount-$amount*$this->cfg['carMoneyCharge'];
          $this->add($username,$amount,'6',$reason); //現金幣表裏增長購車基金轉換來的獎金
          return true;
        }
        else{
            $this->errmsg='購車基金轉換失敗,請校對';
            return false;
        } 
    }
    
    
    function listinfo($condition = ' ', $order = 'id DESC'){
        global $pages, $page, $pagesize, $offset, $items, $statusArr;
        $bonusType=$this->cfg['bonusType'];
        $items = $this->db->count("{$this->table}",$condition); 
        $pages = pages($items, $page, $pagesize);
        $result=$this->db->query("SELECT * from {$this->table} WHERE $condition order by {$order} LIMIT {$offset},{$pagesize}");
        $lists=array();
        while($row=$this->db->fetch_array($result)){
        $row['bonusType']=$bonusType[''.$row['type'].''];//獎金類型賦值
        $lists[]=$row;
        }
        return $lists;
    }
    
    
    //獎金提現申請
    function moneyTake($username,$amount){ 
        global $KL_TIME;
        $r=$this->db->get_one("SELECT * FROM {$this->db->pre}member WHERE username='{$username}'");
        $moneyUser=$r['money'];
        if($moneyUser<$amount&&$amount){
           return $this->err('您的提現金額小於獎金總金額,請覈實');
        }
        $moneyPercent=$this->cfg['moneyPercent'];//手續費百分比
        $serviceCharge=$amount*$moneyPercent;//提現收取的手續費
        $amountActual=$amount-$serviceCharge;//提現實際金額
        $bankInfo="銀行:{$r['bank']}&nbsp;&nbsp;{$r['bankBranch']}<br>帳戶名:{$r['accoutName']}<br>帳號:{$r['bankAccout']}";
        if($amount%100===0){//判斷是不是100的整數
            $this->add($username,'-'.$amount,'5','獎金提現申請');//獎金扣除記錄
            //提現申請記錄
            $this->db->query("INSERT INTO {$this->db->pre}take_money "
            . "(username,amount,amountActual,serviceCharge,moneyPercent,bankInfo,status,addtime) "
            . "VALUES('{$username}','{$amount}','{$amountActual}','{$serviceCharge}','{$moneyPercent}','{$bankInfo}','1','{$KL_TIME}')");
          return true;
        }
        else{
           return $this->err('提現金額必須是100的整數');
          
        }
    }
    //獎金提現列表
    function listTake($condition = ' ', $order = 'id DESC'){
        global $pages, $page, $pagesize, $offset;
        $takeStatus=$this->cfg['takeStatus'];
        $items = $this->db->count("{$this->db->pre}take_money",$condition); 
        $pages = pages($items, $page, $pagesize);
        $result=$this->db->query("SELECT * from {$this->db->pre}take_money WHERE $condition order by {$order} LIMIT {$offset},{$pagesize}");
        $lists=array();
        while($row=$this->db->fetch_array($result)){
        $row['statusCn']=$takeStatus[''.$row['status'].''];//提現狀態設爲中文
        $lists[]=$row;
        }
        return $lists;
    }
    
    //確認提現記錄是否存在
    function moneyOne($username,$id){
        $money=$this->db->get_one("SELECT * FROM {$this->db->pre}take_money WHERE username='{$username}' and id='{$id}'");
        if($money){
           return $money; 
        }
        else{
            return $this->err('提現記錄不存在');
        }
    }

    function moneyOk($username,$id,$status,$note=''){
        global $KL_TIME;
        $moneyArr=$this->moneyOne($username,$id);
       if(!$moneyArr){
           return $this->err('提現記錄不存在');
       }
       if($moneyArr['status']=='2'){
           return $this->err('該筆提現申請已經過審覈,請勿重複提交');
       }
       if($status=='2'){
           $this->db->query("UPDATE {$this->db->pre}take_money SET "
           . "status='{$status}',settime='{$KL_TIME}',note='{$note}' "
           . "WHERE id='{$id}'");
          return true;
       }
       return $this->err('系統錯誤,提現審覈失敗');
    }
    
    //購車基金列表
    function listCarBonus($condition = ' ', $order = 'id DESC'){
        global $pages, $page, $pagesize, $offset;
        $items = $this->db->count("{$this->db->pre}bonus_car",$condition); 
        $pages = pages($items, $page, $pagesize);
        $result=$this->db->query("SELECT * from {$this->db->pre}bonus_car WHERE $condition order by {$order} LIMIT {$offset},{$pagesize}");
        $lists=array();
        $carMoneyType=$this->cfg['carMoneyType'];//購車基金數據類型
        while($row=$this->db->fetch_array($result)){
        $row['carMoneyTypeCn']=array_key_exists($row['carMoneyType'], $carMoneyType)?$carMoneyType[''.$row['carMoneyType'].'']:'';//報單幣操做中文類型
        $lists[]=$row;
        }
        return $lists;
    }
    
    function listManageBonus($condition = ' ', $order = 'id DESC'){
        global $pages, $page, $pagesize, $offset;
        $items = $this->db->count("{$this->db->pre}bonus_manage",$condition); 
        $pages = pages($items, $page, $pagesize);
        $result=$this->db->query("SELECT * from {$this->db->pre}bonus_manage WHERE $condition order by {$order} LIMIT {$offset},{$pagesize}");
        $lists=array();
        $mangeMoneyType=$this->cfg['mangeMoneyType'];//報單幣數據類型
        while($row=$this->db->fetch_array($result)){
            $row['manageTypeCn']=array_key_exists($row['manageType'], $mangeMoneyType)?$mangeMoneyType[''.$row['manageType'].'']:'';//報單幣操做中文類型
            $lists[]=$row;
        }
        return $lists;
    }
            
    
    function err($error) {
    $this->errmsg = $error;
    return false;
    }
}

 

 

想要進一步瞭解萬元購車系統源碼的朋友,請和我探討,微信號:15889726201post

相關文章
相關標籤/搜索