where(['del'=>0,'is_recommend'=>1]) ->order('sort desc') ->field('id,name') ->select(); return $category_list; } /** * Notes:pc端首页接口 * @return array * @author:kiki */ public static function pcLists(){ //新品上架 $new_list = Db::name('goods g') ->where(['g.del'=>0,'g.status'=>1,'g.is_new'=>1]) ->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,sm.name as mud_name,s.name as supplier_name') ->join('screen_mud sm', 'g.mud_id = sm.id') ->join('supplier s', 'g.supplier_id = s.id') ->order('g.id desc,g.sort desc') ->limit(10) ->select(); $ad_list = Db::name('ad a') ->join('ad_position ap', 'a.pid = ap.id') ->where(['pid' =>[2],'a.status' => 1,'a.del' => 0,'ap.status' => 1,'ap.del' => 0]) ->order('a.id desc') ->field('a.*') ->select(); $index_ad = []; //首页轮播图广告 foreach ($ad_list as $ad){ $url = $ad['link']; $is_tab = 0; $params = []; switch ($ad['link_type']) { case 1: $page = Ad::getLinkPage($ad['client'], $ad['link']); $url = $page['path']; $is_tab = $page['is_tab'] ?? 0; break; case 2: $goods_path = Ad::getGoodsPath($ad['client']); $url = $goods_path; $params = [ 'id' => $ad['link'], ]; break; } //首页轮播图广告 if(empty($index_ad) && 2 == $ad['pid']){ $index_ad = [ 'image' => UrlServer::getFileUrl($ad['image']), 'link' => $url, 'link_type' => $ad['link_type'], 'params' => $params, 'is_tab' => $is_tab, ]; } } //紫砂资讯 $article = Db::name('article') ->where(['del'=>0,'is_notice'=>1,'is_show'=>1]) ->order('create_time desc') ->field('id,title,synopsis,image,create_time') ->limit(4) ->select(); foreach ($article as $key => $v1){ $article[$key]['image']=UrlServer::getFileUrl($v1['image']); $article[$key]['create_time'] = date('Y-m-d', $v1['create_time']); } //专家信息 $supplier = Db::name('supplier') ->where(['del'=>0,'is_notice'=>1]) ->order('create_time desc') ->field('id,name,remark,avatar') ->limit(6) ->select(); foreach ($supplier as $key => $v2){ $supplier[$key]['avatar']=UrlServer::getFileUrl($v2['avatar']); } //门店信息 $store = Db::name('store') ->where(['del'=>0,'is_show'=>1]) ->order('create_time desc') ->field('id,title,address,image,business,traffic,contact') ->limit(4) ->select(); foreach ($store as $key => $v2){ $store[$key]['image']=UrlServer::getFileUrl($v1['image']); } $list = [ 'new_list' => $new_list, 'index_ad' => $index_ad, 'article' => $article, 'supplier' => $supplier, 'store' => $store ]; return $list; } //专家信息 public static function supplierclssList(){ $supplier_category = new \app\admin\model\SupplierCategory(); $supplier_category_list = $supplier_category ->where(['del'=>0, 'is_show'=>1]) ->field('id,name') ->select(); $category_list = []; foreach ($supplier_category_list as $key => $supplier_category){ $supplier_list = Db::name('supplier') ->where(['cid'=>$supplier_category['id'],'del'=>0]) ->field('id,name') ->select(); if(!$supplier_list){ continue; } $category_list[] = [ 'id' => $supplier_category['id'], 'name' => $supplier_category['name'], 'supplier_list'=> $supplier_list, ]; } return $category_list; } /** * Notes:获取专家列表 * @param $page int 页码 * @param $size int 每页数量 * @param $cid int 分类id * @return array * @author: kiki */ public static function supplierList($page,$size,$cid){ $where[] = ['del','=',0]; //按商品分类搜索 if($cid){ $where[] = ['cid','=',$cid]; } $count =Db::name('supplier') ->field('id,name,remark,avatar') ->where($where) ->count(); $list =Db::name('supplier') ->order('create_time desc') ->field('id,name,remark,avatar') ->where($where) ->page($page, $size) ->select(); $more = is_more($count, $page, $size); //是否有下一页 return [ 'list' => $list, 'page' => $page, 'size' => $size, 'count' => $count, 'more' => $more ]; } /** * Notes:获取专家详情 * @param $cid int 专家id * @return array * @author: kiki */ public static function getsupplierDetail($id){ $where[] = ['del','=',0]; $where[] = ['id','=',$id]; $info =Db::name('supplier') ->order('create_time desc') ->field('id,name,remark,avatar,honor,position') ->where($where) ->find(); $goods_list=Db::name('goods g') ->where(['g.del'=>0,'g.status'=>1,'g.supplier_id'=>$info['id']]) ->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,sm.name as mud_name,s.name as supplier_name') ->join('screen_mud sm', 'g.mud_id = sm.id') ->join('supplier s', 'g.supplier_id = s.id') ->order('g.id desc,g.sort desc') ->select(); return [ 'info' => $info, 'goods_list' => $goods_list, ]; } /** * Notes:pc端获取公共数据 * @param $user_id int 用户id * @return array * @author: kiki */ public static function commonData($user_id){ $nickname = ''; if($user_id){ $nickname = Db::name('user')->where(['id'=>$user_id])->value('nickname'); } $help_category_list = DB::name('help_category') ->where('is_show', 1) ->where(['del' => 0]) ->field('id,name') ->select(); $h_category_list = []; foreach ($help_category_list as $key => $help_category){ $help_list = Db::name('help') ->where(['cid'=>$help_category['id'],'del'=>0]) ->field('id,title') ->select(); $h_category_list[] = [ 'id' => $help_category['id'], 'name' => $help_category['name'], 'help_list'=> $help_list, ]; } return [ 'logo' => UrlServer::getFileUrl(ConfigServer::get('website', 'pc_logo')), 'name' => ConfigServer::get('website', 'name',''), 'nickname' => $nickname, 'kfphone' => ConfigServer::get('service','phone',''), 'kf_qr_code' => UrlServer::getFileUrl(ConfigServer::get('service','image','')), 'oa_qr_code' => UrlServer::getFileUrl(ConfigServer::get('oa', 'qr_code', '')), 'h_category_list'=>$h_category_list, ]; } /** * Notes:惠藏藏品列表 * @author: kiki */ public static function cangpingoods(){ $ad_list = Db::name('ad a') ->join('ad_position ap', 'a.pid = ap.id') ->where(['pid' =>[24],'a.status' => 1,'a.del' => 0,'ap.status' => 1,'ap.del' => 0]) ->order('a.id desc') ->field('a.*') ->select(); $ad = []; //广告 foreach ($ad_list as $ad){ $url = $ad['link']; $is_tab = 0; $params = []; switch ($ad['link_type']) { case 1: $page = Ad::getLinkPage($ad['client'], $ad['link']); $url = $page['path']; $is_tab = $page['is_tab'] ?? 0; break; case 2: $goods_path = Ad::getGoodsPath($ad['client']); $url = $goods_path; $params = [ 'id' => $ad['link'], ]; break; } //广告 if(empty($tiemai_tup_ad) && 24 == $ad['pid']){ $tiemai_tup_ad = [ 'image' => UrlServer::getFileUrl($ad['image']), 'link' => $url, 'link_type' => $ad['link_type'], 'params' => $params, 'is_tab' => $is_tab, ]; } } $where[] = ['g.del','=',0]; $where[] = ['g.status','=',1]; //藏品捡宝 $where1[] = ['is_jiantreasure','=',1]; //镇店藏品 $where2[] = ['is_zdtreasure','=',1]; $jiantreasure_list =Db::name('goods g') ->field('g.id as goods_id,g.name as goods_name,g.image,remark') ->where($where) ->where($where1) ->page(0,7) ->select(); foreach ($jiantreasure_list as $key => $v1){ $jiantreasure_list[$key]['image']=UrlServer::getFileUrl($v1['image']); } $zdtreasure_list =Db::name('goods g') ->field('g.id as goods_id,g.name as goods_name,g.image,remark') ->where($where) ->where($where2) ->page(0,7) ->select(); foreach ($zdtreasure_list as $key => $v1){ $zdtreasure_list[$key]['image']=UrlServer::getFileUrl($v1['image']); } return [ 'ad' => $tiemai_tup_ad,//广告 'jiantreasure_list' => $jiantreasure_list,//藏品捡宝 'zdtreasure_list' => $zdtreasure_list,//镇店藏品 ]; } /** * Notes:特卖商品列表 * @author: kiki */ public static function temaigoods(){ $ad_list = Db::name('ad a') ->join('ad_position ap', 'a.pid = ap.id') ->where(['pid' =>[16,21],'a.status' => 1,'a.del' => 0,'ap.status' => 1,'ap.del' => 0]) ->order('a.id desc') ->field('a.*') ->select(); $tiemai_tup_ad = []; //特卖大图广告 $tiemai_bott_ad = []; //特卖小图广告 foreach ($ad_list as $ad){ $url = $ad['link']; $is_tab = 0; $params = []; switch ($ad['link_type']) { case 1: $page = Ad::getLinkPage($ad['client'], $ad['link']); $url = $page['path']; $is_tab = $page['is_tab'] ?? 0; break; case 2: $goods_path = Ad::getGoodsPath($ad['client']); $url = $goods_path; $params = [ 'id' => $ad['link'], ]; break; } //特卖大图广告 if(empty($tiemai_tup_ad) && 21 == $ad['pid']){ $tiemai_tup_ad = [ 'image' => UrlServer::getFileUrl($ad['image']), 'link' => $url, 'link_type' => $ad['link_type'], 'params' => $params, 'is_tab' => $is_tab, ]; } //特卖小图广告 if(16 == $ad['pid']){ $tiemai_bott_ad[] = [ 'image' => UrlServer::getFileUrl($ad['image']), 'link' => $url, 'link_type' => $ad['link_type'], 'params' => $params, 'is_tab' => $is_tab, ]; } } $where[] = ['g.del','=',0]; $where[] = ['g.status','=',1]; //新品上架 $where1[] = ['is_new','=',1]; //精品推荐 $where2[] = ['is_best','=',1]; //今日促销 $where3[] = ['is_like','=',1]; $xinpin_list =Db::name('goods g') ->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,s.name as supplier_name') ->join('supplier s', 'g.supplier_id = s.id') ->where($where) ->where($where1) ->page(0,7) ->select(); foreach ($xinpin_list as $key => $v1){ $xinpin_list[$key]['image']=UrlServer::getFileUrl($v1['image']); } $jingpin_list =Db::name('goods g') ->field('g.id as goods_id,g.name as goods_name,g.image,min_price as price') ->where($where) ->where($where2) ->page(0,6) ->select(); foreach ($jingpin_list as $key => $v1){ $jingpin_list[$key]['image']=UrlServer::getFileUrl($v1['image']); } $cuxiao_list =Db::name('goods g') ->field('g.id as goods_id,g.name as goods_name,g.image,min_price as price') ->where($where) ->where($where3) ->page(0,6) ->select(); foreach ($cuxiao_list as $key => $v1){ $cuxiao_list[$key]['image']=UrlServer::getFileUrl($v1['image']); } return [ 'da_ad' => $tiemai_tup_ad,//大图 'xiao_ad' => $tiemai_bott_ad,//4小图 'xinpin_list' => $xinpin_list,//新品 'jingpin_list' => $jingpin_list,//精品 'cuxiao_list' => $cuxiao_list//促销 ]; } /** * Notes:获取商品列表 * @param $page int 页码 * @param $size int 每页数量 * @param $name string 商品名称 * @param $category_id int 分类id * @param $type int 类型:1-热销榜单;2-新品推荐;3-好物优选 * @param $sort_type string 筛选类型:sales_sum-销量筛选;price-价格筛选 * @param $sort string 排序方式:desc-降序;asc-升序 * @return array * @author: kiki */ public static function goodsList($page,$size,$name,$category_id,$type,$sort_type,$sort){ $where[] = ['g.del','=',0]; $where[] = ['g.status','=',1]; //按商品名称搜索 if($name){ $where[] = ['g.name','like','%'.$name.'%']; } //按商品分类搜索 if($category_id){ $where[] = ['first_category_id|second_category_id|third_category_id','=',$category_id]; } //按类型筛选 if(1 != $type){ switch ($type){ case 2: //新品上架 $where[] = ['is_new','=',1]; break; case 3: //精品推荐 $where[] = ['is_best','=',1]; break; case 4: //今日促销 $where[] = ['is_like','=',1]; break; case 5: //藏品捡宝 $where[] = ['is_jiantreasure','=',1]; break; case 6: //镇店藏品 $where[] = ['is_zdtreasure','=',1]; break; } } //按排序条件显示 $order = []; if($sort_type && $sort){ $order = [$sort_type=>$sort]; } $goods = new Goods(); $count =Db::name('goods g') ->join('screen_mud sm', 'g.mud_id = sm.id') ->join('supplier s', 'g.supplier_id = s.id') ->where($where) ->count(); $list =Db::name('goods g') ->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,sm.name as mud_name,s.name as supplier_name') ->join('screen_mud sm', 'g.mud_id = sm.id') ->join('supplier s', 'g.supplier_id = s.id') ->where($where) ->order($order) ->page($page, $size) ->select(); foreach ($list as $key => $v1){ $list[$key]['image']=UrlServer::getFileUrl($v1['image']); } $more = is_more($count, $page, $size); //是否有下一页 return [ 'list' => $list, 'page' => $page, 'size' => $size, 'count' => $count, 'more' => $more ]; } /** * Notes:修改用户信息 * @param $post array 用户信息 * @return int|string * @throws \think\Exception * @throws \think\exception\PDOException * @author: kiki */ public static function changeUserInfo($post){ $data = [ 'nickname' => $post['nickname'], 'sex' => $post['sex'], 'create_time' => time(), ]; return Db::name('user')->where(['id'=>$post['user_id']])->update($data); } }