<?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_numchange(){ $id = $this->request->param('id',0,'intval'); $num = $this->request->param('num',0,'intval'); $data = Db::name('shopping_cart') -> where('id',$id) -> find(); if($data['book_num'] != $num){ if($num < 1){ $this->error('商品数量不能小于1'); } if($num > 999){ $this->error('商品数量不能大于999'); } $res = Db::name('shopping_cart') -> where('id',$id) -> update(['book_num'=>$num]); if(!$res) { $this->error('购物车更新失败'); } } $this->success('修改成功'); } /** * 商品数量加一 */ public function shop_cart_numadd(){ $id = $_POST['id']; $data = Db::name('shopping_cart') -> where('id',$id) -> find(); if($data['book_num']<999){ $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; } } }