d

From , 5 Years ago, written in PHP, viewed 181 times.
URL https://pastebin.vip/view/88e1ce84
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2009 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: ToniLiu <cniiliuqi@126.com>
  10. // +----------------------------------------------------------------------
  11. // $Id: Cart.class.php  ToniLiu $
  12.  
  13. /**
  14.  +------------------------------------------------------------------------------
  15.  * Cart实现类
  16.  +------------------------------------------------------------------------------
  17.  * @category   Think
  18.  * @package  Think
  19.  * @subpackage  Util
  20.  * @author    ToniLiu <cniiliuqi@126.com>
  21.  * @version   $Id: Cart.class.php
  22.  +------------------------------------------------------------------------------
  23.  */
  24.  
  25. class Cart{
  26.  
  27.         //THINKPHP_MODLE
  28.         private $model;
  29.        
  30.         private $user_cart;
  31.  
  32.         public function __construct(){
  33.        
  34.                 $this->model = D("Item");
  35.                 $this->user_cart = new Model();
  36.                
  37.                 if(!$_SESSION['cart']){
  38.                         $_SESSION['cart'] = array();
  39.                         $_SESSION['cart']['goods_list'] = array();
  40.                         $_SESSION['cart']['total_num'] = 0;
  41.                         $_SESSION['cart']['total_price'] = 0.00;
  42.                         //如果是已经登录的用户
  43.                         if($_SESSION['ucenter']['user_id']){
  44.                                 $user_cart_result = $this->user_cart->query("select cart_id,user_id,item_id,item_name,volume,market_price,price,item_sn from biz_cart where user_id = ".$_SESSION['ucenter']['user_id']);
  45.                                 foreach ($user_cart_result as $value){
  46.                                         $_SESSION['cart']['goods_list'][$value['item_id']] = array(
  47.                                                                                                                                                                                 'item_id' => $value['item_id'],
  48.                                                                                                                                                                                 'item_name' => $value['item_name'],
  49.                                                                                                                                                                                 'volume' => $value['volume'],
  50.                                                                                                                                                                                 'price' => $value['price'],
  51.                                                                                                                                                                                 'market_price' => $value['market_price'],
  52.                                                                                                                                                                                 'item_sn' =>$value['item_sn']
  53.                                                                                                                                                                         );
  54.                                         $_SESSION['cart']['total_price'] = $_SESSION['cart']['total_price'] + $value['price'];
  55.                                         $_SESSION['cart']['total_num'] = $_SESSION['cart']['total_num'] + 1;                                   
  56.                                 }
  57.                         }
  58.                 }
  59.                 else{
  60.                         //如果是已经登录的用户
  61.                         if($_SESSION['ucenter']['user_id']){
  62.                
  63.                                 foreach($_SESSION['cart']['goods_list'] as $goods_value){
  64.                                         $user_cart_result = $this->user_cart->query("select cart_id,item_id from biz_cart where user_id = ".$_SESSION['ucenter']['user_id']." limit 1");
  65.                                         if(!$user_cart_result[0]){
  66.                                                 $this->user_cart->execute("INSERT INTO `zhongyoupl`.`biz_cart` (`cart_id`, `user_id`, `user_name`, `session_id`, `item_id`, `item_sn`, `item_name`, `volume`, `market_price`, `price`, `discount`, `quantity`, `amount`, `create_time`, `date_line`) VALUES (NULL, '".$_SESSION['ucenter']['user_id']."', '".$_SESSION['ucenter']['user_name']."', '".session_id()."', '".$goods_value['item_id']."', '".$goods_value['item_sn']."', '".$goods_value['item_name']."', '".$goods_value['volume']."', '".$goods_value['market_price']."', '".$goods_value['price']."', '0', '0', '0', '".date("Y-m-d H:i:s")."', '".time()."');");
  67.                                         }
  68.                                 }
  69.                                
  70.                                 //清空SESSION购物车信息
  71.                                 $_SESSION['cart']['total_price'] = 0;
  72.                                 $_SESSION['cart']['total_num'] = 0;
  73.                                
  74.                                 //根据用户的购物车信息,重构SESSION中的购物车信息
  75.                                 $this->user_cart = new Model();
  76.                                 $user_cart_result = $this->user_cart->query("select cart_id,user_id,item_id,item_name,volume,market_price,price,item_sn from biz_cart where user_id = ".$_SESSION['ucenter']['user_id']);
  77.                                 foreach ($user_cart_result as $value){
  78.                                         $_SESSION['cart']['goods_list'][$value['item_id']] = array(
  79.                                                                                                                                                                                 'item_id' => $value['item_id'],
  80.                                                                                                                                                                                 'item_name' => $value['item_name'],
  81.                                                                                                                                                                                 'volume' => $value['volume'],
  82.                                                                                                                                                                                 'price' => $value['price'],
  83.                                                                                                                                                                                 'market_price' => $value['market_price'],
  84.                                                                                                                                                                                 'item_sn' =>$value['item_sn']
  85.                                                                                                                                                                         );
  86.                                         $_SESSION['cart']['total_price'] = $_SESSION['cart']['total_price'] + $value['price'];
  87.                                         $_SESSION['cart']['total_num'] = $_SESSION['cart']['total_num'] + 1;                                   
  88.                                 }
  89.                         }
  90.                 }
  91.         }
  92.  
  93.         //添加单个商品到购物车
  94.         public function add_goods($goods_id){
  95.        
  96.                 $goods_id = $goods_id * 1;
  97.                
  98.                 if($goods_id){
  99.                         if($this->model->find($goods_id)){
  100.  
  101.                                 if($this->model->status != 5){
  102.                                         return json_encode(array('state_code' => 2,'state_message' => 'This goods is down!'));
  103.                                 }
  104.                                 $tmp_price = $this->model->price;
  105.                                 if((int)$tmp_price){
  106.                                         if(!$_SESSION['cart']['goods_list'][$this->model->item_id]){
  107.                                                 $_SESSION['cart']['goods_list'][$this->model->item_id] = array(
  108.                                                                                                                                                                                 'item_id' => $this->model->item_id,
  109.                                                                                                                                                                                 'item_name' => $this->model->item_name,
  110.                                                                                                                                                                                 'volume' => $this->model->volume,
  111.                                                                                                                                                                                 'price' => $this->model->price,
  112.                                                                                                                                                                                 'market_price' => $this->model->market_price,
  113.                                                                                                                                                                                 'item_sn' => $this->model->item_sn
  114.                                                                                                                                                                         );
  115.                                                 $_SESSION['cart']['total_price'] = $_SESSION['cart']['total_price'] + $this->model->price;
  116.                                                 $_SESSION['cart']['total_num'] = $_SESSION['cart']['total_num'] + 1;
  117.                                                 //如果是登录用户,记录到biz_cart表中
  118.                                                 if($_SESSION['ucenter']['user_id']){
  119.                                                        
  120.                                                         $user_cart_result = $this->user_cart->query("select cart_id,item_id from biz_cart where user_id = ".$this->model->item_id." limit 1");
  121.                                                         if(!$user_cart_result[0]){
  122.                                                                
  123.                                                                 $this->user_cart->execute("INSERT INTO `zhongyoupl`.`biz_cart` (`cart_id`, `user_id`, `user_name`, `session_id`, `item_id`, `item_sn`, `item_name`, `volume`, `market_price`, `price`, `discount`, `quantity`, `amount`, `create_time`, `date_line`) VALUES (NULL, '".$_SESSION['ucenter']['user_id']."', '".$_SESSION['ucenter']['user_name']."', '".session_id()."', '".$this->model->item_id."', '".$this->model->item_sn."', '".$this->model->item_name."', '".$this->model->volume."', '".$this->model->market_price."', '".$this->model->price."', '0', '0', '0', '".date("Y-m-d H:i:s")."', '".time()."');");
  124.                                                                 return json_encode(array('state_code' => 5,'state_message' => 'add Ok and insert to db!'));
  125.                                                         }
  126.                                                 }
  127.                                         }
  128.                                         else{
  129.                                                 return json_encode(array('state_code' => 3,'state_message' => 'This goods is at cart!'));
  130.                                         }
  131.                                 }
  132.                                 else{
  133.                                         return json_encode(array('state_code' => 1,'state_message' => 'price is zero'));
  134.                                 }
  135.                         }
  136.                         else{
  137.                                 return json_encode(array('state_code' => 9,'state_message' => "Don't find item!"));
  138.                         }
  139.                 }
  140.                 else{
  141.                         return json_encode(array('state_code' => 0,'state_message' => 'item_id is null'));
  142.                 }
  143.         }
  144.        
  145.         //从购物车删除单个商品
  146.         public function delete_goods($goods_id){
  147.                 $goods_id = $goods_id * 1;
  148.                 if($goods_id){
  149.                         if($_SESSION['cart']['goods_list'][$goods_id]){
  150.                                 $_SESSION['cart']['total_price'] = $_SESSION['cart']['total_price'] - $_SESSION['cart']['goods_list'][$goods_id]['price'];
  151.                                 $_SESSION['cart']['total_num'] = $_SESSION['cart']['total_num'] - 1;
  152.                                 unset($_SESSION['cart']['goods_list'][$goods_id]);
  153.                                
  154.                                 if($_SESSION['ucenter']['user_id']){
  155.                                         $user_cart_result = $this->user_cart->query("select cart_id,item_id from biz_cart where user_id = ".$_SESSION['ucenter']['user_id']." and item_id = $goods_id limit 1");
  156.                                         if($user_cart_result[0]){
  157.                                                 $this->user_cart->execute("delete from biz_cart where cart_id = ".$user_cart_result[0]['cart_id']." limit 1");
  158.                                         }
  159.                                 }
  160.  
  161.                                 return json_encode(array('state_code' => 11,'state_message' => '商品删除成功!'));
  162.                         }
  163.                         else{
  164.                                 return json_encode(array('state_code' => 12,'state_message' => '在购物车中没有找到该商品!'));
  165.                         }
  166.                 }
  167.                 else{
  168.                         return json_encode(array('state_code' => 0,'state_message' => 'item_id is null'));
  169.                 }
  170.         }
  171.        
  172.         //从购物车批量删除商品
  173.         public function delete_batch_goods($goods_id_string){
  174.                 $goods_id_arr = explode(',',$goods_id_string);
  175.                 if(sizeof($goods_id_arr)){
  176.                         foreach ($goods_id_arr as $goods_id){
  177.                                 $goods_id = $goods_id * 1;
  178.                                 if($_SESSION['cart']['goods_list'][$goods_id]){
  179.                                         $_SESSION['cart']['total_price'] = $_SESSION['cart']['total_price'] - $_SESSION['cart']['goods_list'][$goods_id]['price'];
  180.                                         $_SESSION['cart']['total_num'] = $_SESSION['cart']['total_num'] - 1;
  181.                                         unset($_SESSION['cart']['goods_list'][$goods_id]);
  182.                                         //如果登录了,同时删除biz_cart中该用户的信息
  183.                                         if($_SESSION['ucenter']['user_id']){
  184.                                                 $user_cart_result = $this->user_cart->query("select cart_id,item_id from biz_cart where user_id = ".$_SESSION['ucenter']['user_id']." and item_id = $goods_id limit 1");
  185.                                                 if($user_cart_result[0]){
  186.                                                         $this->user_cart->execute("delete from biz_cart where cart_id = ".$user_cart_result[0]['cart_id']." limit 1");
  187.                                                 }
  188.                                         }
  189.                                 }
  190.                         }
  191.                         return json_encode(array('state_code' => 11,'state_message' => '商品批量删除成功!'));
  192.                 }
  193.                 else{
  194.                         return json_encode(array('state_code' => 13,'state_message' => '参数错误!'));
  195.                 }
  196.         }
  197.        
  198.         //清空购物车
  199.         public function empty_cart(){
  200.                 unset($_SESSION['cart']);
  201.                 if($_SESSION['ucenter']['user_id']){
  202.                         $this->user_cart->execute("delete from biz_cart where user_id = ".$_SESSION['ucenter']['user_id']);
  203.                 }
  204.                 return json_encode(array('state_code' => 14,'state_message' => '清空购物车成功!'));
  205.         }
  206.        
  207.         //输出购物车信息
  208.         public function return_cart_info(){
  209.                 return $_SESSION['cart'];
  210.         }
  211.        
  212. }
  213.  
  214.  ?>

Reply to "d"

Here you can reply to the paste above

captcha

https://burned.cc - Burn After Reading Website