ShopcartController.php 6.9 KB
<?php
// +----------------------------------------------------------------------
// | bronet [ 以客户为中心 以奋斗者为本 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2017 http://www.bronet.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
namespace app\portal\controller;

use cmf\controller\WeChatBaseController;
use think\Db;

class ShopcartController extends WeChatBaseController{

    /**
     * 显示购物车页
     */
    public function shop_cart(){

        $uid = cmf_get_current_user_id();
        $goods_id = Db::name('shopping_cart') -> where("uid",$uid) -> select() -> toArray();
        if(!empty($goods_id)){
            foreach ($goods_id as $key => $val){
                $goods_data[$key] = Db::name('goods') -> where("id",$val['goods_id']) -> find();
                $goods_data[$key]['carid'] = $val['id'];
                $goods_data[$key]['book_num'] = $val['book_num'];
            }
            foreach ($goods_data as $key => $val){
                $price = explode('.',$goods_data[$key]['price']); ;
                $goods_data[$key]['price0'] = $price[0];
                $goods_data[$key]['price1'] = $price[1];
            }
        }else{
            $goods_data = null;
        }
        $num = count($goods_id);
        $this -> assign('num',$num);
        $this -> assign('goods_data',$goods_data);

        return $this -> fetch();

    }

    /**
     * 添加购物车
     */
    public function add_cart(){

        $goods_id = $_POST['goods_id'];
        $uid = cmf_get_current_user_id();
        $data = Db::name('shopping_cart') -> where("uid = ".$uid." and goods_id = ".$goods_id) -> find();
        if($data){
            return 2;
        }else{
            $arr['goods_id'] = $goods_id;
            $arr['uid'] = $uid;
            $insert = Db::name('shopping_cart') -> insert($arr);
            if($insert){
                return 1;
            }else{
                return 3;
            }
        }

    }

    /**
     *购物车删除
     */
    public function shop_cart_del(){

        $id = explode(',',$_POST['goods_id']);
        $data = Db::name('shopping_cart') -> delete($id);
        if($data){
           return true;
        }else{
            return false;
        }

    }

    /**
     * 商品数量加一
     */
    public function shop_cart_numadd(){

        $id = $_POST['id'];
        $data = Db::name('shopping_cart') -> where('id',$id) -> find();
        if($data['book_num']<200){
            $res = Db::name('shopping_cart') -> where('id',$id) -> setInc('book_num');
        }
        return true;

    }

    /**
     * 商品数量减一
     */
    public function shop_cart_numdec(){

        $id = $_POST['id'];
        $data = Db::name('shopping_cart') -> where('id',$id) -> find();
        if($data['book_num']>1){
            Db::name('shopping_cart') -> where('id',$id) -> setDec('book_num');
        }
        return true;

    }

    /**
     * 去支付判断
     */
    public function shop_cart_pay(){

        $uid = cmf_get_current_user_id();
        $cart_id = explode(',',$_POST['id']);
        foreach ($cart_id as $key => $val){
            $goods_id[] = Db::name('shopping_cart') -> where('id',$val) -> find();
        }
        foreach ($goods_id as $key => $val){
            $data[] = Db::name('goods') -> where('id',$val['goods_id']) -> find();
            $data[$key]['book_num'] = $goods_id[$key]['book_num'];
        }
        foreach ($data as $key => $val){
            if($data[0]['type'] == $data[$key]['type']){
            }else{
                $ret['type'] = 3;
                return json_encode($ret);
            }
        }
        if($data[0]['type'] == 1){

            $indent['uid'] = $uid;
            $indent['state'] = 4;
            $indent['order_number'] = cmf_get_order_sn().rand(00000,99999);
            $indent['money'] = $_POST['myprice'];
            $indent['create_time'] = time();
            $indent['indent_type'] = 1;
            $indent['logistic_name'] = 'YTO';
            $indent['is_courier'] = 1;
            $book_num = 0;
            foreach ($data as $key => $val){
                $book_num += $val['book_num'];
            }
            $indent['book_num'] = $book_num;
            $indet_id = Db::name('indent') -> insertGetId($indent);
            foreach ($data as $key => $val){
                $indent_goods['book_name'] = $val['book_name'];
                $indent_goods['pricing'] = $val['pricing'];
                $indent_goods['price'] = $val['price'];
                $indent_goods['number'] = $val['book_num'];
                $indent_goods['thumbnail'] = $val['show_img'];
                $indent_goods['indent_id'] = $indet_id;
                $indent_goods['commission'] = $val['money'];
                $indent_goods['goods_id'] = $val['id'];
                Db::name('indent_goods ') -> insert($indent_goods);
            }
            $ret['type'] = 1;
            $ret['indet_id'] = $indet_id;
            $res = json_encode($ret);
            return $res;
        }elseif ($data[0]['type'] == 2){
            $indent['uid'] = $uid;
            $indent['state'] = 4;
            $indent['order_number'] = cmf_get_order_sn().rand(00000,99999);
            $indent['money'] = $_POST['myprice'];
            $indent['indent_type'] = 2;
            $indent['create_time'] = time();
            $book_num = 0;
            foreach ($data as $key => $val){
                $book_num += $val['book_num'];
            }
            $indent['book_num'] = $book_num;
            $indent['salesman_uid'] = $data[0]['uid'];
            $indet_id = Db::name('indent') -> insertGetId($indent);
            foreach ($data as $key => $val){
                $indent_goods['book_name'] = $val['book_name'];
                $indent_goods['pricing'] = $val['pricing'];
                $indent_goods['price'] = $val['price'];
                $indent_goods['number'] = $val['book_num'];
                $indent_goods['thumbnail'] = $val['show_img'];
                $indent_goods['indent_id'] = $indet_id;
                $indent_goods['commission'] = $val['money'];
                $indent_goods['goods_id'] = $val['id'];
                Db::name('indent_goods ') -> insert($indent_goods);
            }
            $ret['type'] = 2;
            $ret['indet_id'] = $indet_id;
            $res = json_encode($ret);
            return $res;
        }


    }

    /**
     * 业务员不能买书
     */
    public function is_to_pay(){

        $uid = cmf_get_current_user_id();
        $my_user = Db::name('my_user') -> where('uid',$uid) -> find();
        if(in_array(intval($my_user['status']),[1,5,6])){
            return 2;
        }else if($my_user['status'] == 2){
            return 0;
        }else{
            return 1;
        }

    }



















}