_vali(['admin_id.require'=>'商家id不能空']); $merchant=DataMerchants::getByAdmin($admin_id['admin_id']); $merchant['huanxinID']=SystemUser::where('id',$admin_id['admin_id'])->value('huanxinID'); $merchant['name']=SystemUser::where('id',$admin_id['admin_id'])->value('nickname'); $this->success('用户信息',$merchant); } /** * @Title ("获取分类数据") * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getCate() { $this->success('获取分类成功', ShopGoodsCate::treeData()); } /** * 获取标签数据 */ public function getMark() { $this->success('获取标签成功', ShopGoodsMark::items()); } /** * @Title ("商品数据展示") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") * @Param ("cateids",desc="商品分类id") * @Param ("admin_id",desc="商家id 不穿搜全部") * @Param ("name",desc="搜索名称模糊查询") * @Param ("sales_order",desc="销量排序 asc desc") * @Param ("price_order",desc="价格排序 asc desc") * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getGoods() { $sales_order = input('sales_order'); $price_order = input('price_order'); $cateids = input('cateids'); $ids =[]; if(!empty($cateids)){ $ids[]= ['cateids','find in set' ,$cateids]; } $admin_id =input('admin_id'); $where = []; if($admin_id){ $where['admin_id'] =$admin_id ; } // 更新访问统计 $map = $this->_vali(['code.default' => '']); if ($map['code']) ShopGoods::mk()->where($map)->inc('num_read')->update([]); // 商品数据处理 $query = ShopGoods::mQuery()->like('name,marks,payment')->equal('code,vip_entry'); $result = $query->where(['deleted' => 0, 'status' => 1,'examine'=>1])->where($ids)->where($where) ->when($sales_order,function ($quer) use ($sales_order){ $quer->order('stock_sales '.$sales_order); }) ->when($price_order,function ($quer) use ($price_order){ $quer->order('price_selling '.$price_order); }) //->order('sort desc,id desc') ->page(true, false, false, 10); if (count($result['list']) > 0) GoodsService::bindData($result['list']); // foreach ($result['list'] as &$v){ // if($v['slider']==''){ // $v['slider']=null; // } // } $this->success('获取商品数据', $result); } /** * @Title ("商品详情") * @Param ("goods_id",desc="商品id") * @return void * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function Goods_info(){ $id = input('goods_id'); $query = ShopGoods::mQuery()->where('id',$id); $result = $query->where(['deleted' => 0])->whereIn('status','0,1,2')->order('sort desc,id desc')->page(true, false, false, 10); if(!$result){ $this->error('该商品已被删除'); } if (count($result['list']) > 0) GoodsService::bindData($result['list']); $result['list'][0]['admin_name']=SystemUser::mk()->where('id',$result['list'][0]['admin_id'])->value('nickname'); $result['list'][0]['is_collection']=0; if(ShopGoodsCollection::mk()->where('goods_id',$result['list'][0]['id'])->where('uuid',$this->uuid)->find()){ $result['list'][0]['is_collection']=1; } $result['list'][0]['huanxinID'] = SystemUser::mk()->where('id',$result['list'][0]['admin_id'])->value('huanxinID'); $this->success('获取商品数据详情', $result['list'][0]); // $this->success('获取商品数据详情', $result); } /** * 获取配送区域 */ public function getRegion() { $this->success('获取区域成功', ExpressService::region(3, 1)); } /** * @Title ("购物车数量") * @Method ("get") * @return void * @throws \think\db\exception\DbException */ public function cart_number(){ $user = $this->getUser(); $count = ShopGoodsCart::mk()->where('user_id',$user['id'])->count(); $this->success('购物车数量!',$count); } /** * @Title("商品规格") * @Param ("code",desc="商品code") * @return void */ public function goods_item() { $data = $this->_vali([ 'code.require' =>'商品信息不能为空' ]); $goods_item = ShopGoodsItem::mk() ->where('goods_code',$data['code']) ->select(); $this->success('商品规格!',$goods_item); } /** * @Title("购物车添加") * @Param ("admin_id",desc="商家id") * @Param ("goods_id",desc="商品id") * @Param ("item_id",desc="规格id") * @Param ("num",desc="数量") * @return void */ public function cart_add() { $user = $this->getUser(); $data = $this->_vali([ 'admin_id.require' =>'店铺不能为空', 'item_id.require' => '选择商品规格不能为空!', 'num.require' => '数量不能为空!', 'goods_id.require' =>'商品不能为空' ]); $add_data=[ 'admin_id'=>$data['admin_id'], 'goods_id'=>$data['goods_id'], 'item_id'=>$data['item_id'], 'user_id'=>$user['id'], 'num'=>$data['num'], 'create_time'=>date('Y-m-d H:i:s') ]; $is_have = ShopGoodsCart::mk()->where(['admin_id'=>$data['admin_id'],'goods_id'=>$data['goods_id'],'item_id'=>$data['item_id'],'user_id'=>$user['id']])->find(); if($is_have){ $add_data['num']=$is_have['num']+$data['num']; ShopGoodsCart::mk()->where('id',$is_have['id'])->save($add_data); } else { ShopGoodsCart::mk()->insert($add_data); } $this->success('成功加入购物车!'); } /** * @Title ("购物车列表") * @return void * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * */ public function goods_cart_list(){ $user = $this->getUser(); $query = ShopGoodsCart::mQuery()->alias('cart'); $cart_list = $query ->join('system_user admin','admin.id=cart.admin_id') ->where('cart.user_id',$user['id']) ->group('cart.admin_id') ->field('cart.admin_id,admin.nickname') ->page(true, false, false, 10); foreach ($cart_list['list'] as $k=>$v){ $cart_list['list'][$k]['goods_item']= ShopGoodsCart::mk()->alias('cart') ->join('shop_goods goods','cart.goods_id=goods.id') ->join('shop_goods_item item','cart.item_id=item.id') ->join('system_user admin','admin.id=cart.admin_id') ->where('cart.user_id',$user['id']) ->where('cart.admin_id',$cart_list['list'][$k]['admin_id']) ->where('goods.status','in','1,0') ->where('goods.examine',1) ->field('cart.*,item.show_image,goods.name,goods.status,goods.examine,item.price_selling,item.goods_spec') ->select(); if(!count($cart_list['list'][$k]['goods_item'])){ unset($cart_list['list'][$k]); }else{ foreach ($cart_list['list'][$k]['goods_item'] as $k1 => $v1){ $arr = explode("|", $v1['show_image']); $cart_list['list'][$k]['goods_item'][$k1]['show_image'] = $arr[0]; } } } $cart_list['list'] = array_values($cart_list['list']); $this->success('我的购物车列表',$cart_list); } /** * @Title ("修改购物车") * @Param ("cart_id",desc="购物车id") * @Param ("num",desc="数量") */ public function goods_cart_save(){ $user = $this->getUser(); $cart_id= input('cart_id'); $num = input('num'); ShopGoodsCart::mk()->where(array('id'=>$cart_id,'user_id'=>$user['id']))->save(['num'=>$num]); $this->success('购物车修改完成'); } /** * @Title ("删除购物车") * @Param ("cart_ids",desc="购物车id") */ public function goods_cart_del(){ $user = $this->getUser(); $cart_id= input('cart_ids'); ShopGoodsCart::mk()->whereIn('id',$cart_id)->where('user_id',$user['id'])->delete(); $this->success('商品已删除'); } /** * @Title ("添加我的收藏") * @Param ("goods_id",desc="商品id") */ public function collection(){ $user =$this->getUser(); $goods_id = input('goods_id'); ShopGoodsCollection::mk()->insertGetId(['uuid'=>$user['id'],'goods_id'=>$goods_id,'create_at'=>date('Y-m-d H:i:s')]); $this->success('商品收藏成功'); } /** * @Title ("删除我的收藏") * @Param ("coll_ids",desc="收藏id") */ public function del_collection(){ $user = $this->getUser(); $coll_ids = input('coll_ids'); ShopGoodsCollection::mk()->whereIn('id',$coll_ids)->where('uuid',$user['id'])->delete(); $this->success('商品收藏已取消'); } /** * @Title ("详情取消收藏") * @Param ("goods_id",desc="商品id") */ public function cancel_collection(){ $user = $this->getUser(); $coll_ids = input('goods_id'); ShopGoodsCollection::mk()->where('goods_id',$coll_ids)->where('uuid',$user['id'])->delete(); $this->success('商品收藏已取消'); } /** * @Title ("我的收藏列表") */ public function collection_list(){ $user = $this->getUser(); $list = ShopGoodsCollection::mk()->alias('c')->join('shop_goods g','c.goods_id=g.id')->where('c.uuid',$user['id'])->order('c.id','desc')->field('c.*,g.name,g.cover,g.price_selling')->paginate(); $this->success('我的收藏列表',$list); } /** * @Title("热门搜索") * @Returned ("id",desc="id") * @Returned ("name",desc="热词") * @Returned ("is_hot",desc="1:热 0:否") */ public function hotsearch(){ $list=DataHotSearch::mk()->where('is_del',1)->where('type',2)->order('is_hot','desc')->select(); $this->success('',$list); } }