model = new ShopGoods(); $this->cate_model = new ShopGoodsCate(); $this->car_model = new Car(); } /** * @author chenniang * @DataTime: 2021-03-19 11:57 * @功能说明:首页选择店铺列表 */ public function indexStoreList(){ $input = $this->_param; $dis[] = ['uniacid','=',$this->_uniacid]; $dis[] = ['status','=',2]; $dis[] = ['business_status','=',1]; if(!empty($input['store_name'])){ $dis[] = ['title','like','%'.$input['store_name'].'%']; } $lat = !empty($input['lat'])?$input['lat']:0; $lng = !empty($input['lng'])?$input['lng']:0; $alh = '(2 * 6378.137* ASIN(SQRT(POW(SIN(3.1415926535898*('.$lat.'-lat)/360),2)+COS(3.1415926535898*'.$lat.'/180)* COS('.$lat.' * 3.1415926535898/180)*POW(SIN(3.1415926535898*('.$lng.'-lng)/360),2))))*1000 as distance'; $alhs = '(2 * 6378.137* ASIN(SQRT(POW(SIN(3.1415926535898*('.$lat.'-lat)/360),2)+COS(3.1415926535898*'.$lat.'/180)* COS('.$lat.' * 3.1415926535898/180)*POW(SIN(3.1415926535898*('.$lng.'-lng)/360),2))))*1000<20000'; $store_model = new Farmer(); $data = $store_model->dataDistanceList($dis,$alh,$alhs,10); if(!empty($data['data'])){ foreach ($data['data'] as &$v){ $v['distance'] = getDistances($v['lng'],$v['lat'],$lng,$lat); $v['distance'] = $store_model->getDistanceAttr($v['distance']); } } return $this->success($data); } /** * @author chenniang * @DataTime: 2021-03-19 13:24 * @功能说明:选择门店 */ public function selectStore(){ $input = $this->_input; $user_model = new User(); $res = $user_model->dataUpdate(['id'=>$this->getUserId()],['last_store_id'=>$input['store_id']]); return $this->success($res); } /** * @author chenniang * @DataTime: 2021-03-18 16:46 * @功能说明:分类列表 */ public function goodsIndex(){ $input = $this->_param; $store_id = !empty($input['store_id'])?$input['store_id']:0; $data['cate_id'] = $this->cate_model->shopCateList($this->_uniacid,$store_id); if(!empty($store_id)){ $store_model = new Farmer(); $data['store_info'] = $store_model->dataInfo(['id'=>$store_id]); } return $this->success($data); } /** * @author chenniang * @DataTime: 2022-03-01 13:47 * @功能说明: */ public function haveSelectStoreId(){ return $this->success($this->getStoreInfo()['id']); } /** * @author chenniang * @DataTime: 2022-02-22 15:27 * @功能说明:商品列表 */ public function goodsList(){ $input = $this->_param; $dis[] = ['a.uniacid','=',$this->_uniacid]; $dis[] = ['a.status','=',1]; // $dis[] = ['a.index_show','=',1]; $dis[] = ['d.status','=',2]; $dis[] = ['d.business_status','=',1]; if(!empty($input['store_id'])){ $dis[] = ['b.store_id','=',$input['store_id']]; } if(!empty($input['cate_id'])){ $dis[] = ['c.cate_id','=',$input['cate_id']]; } if(!empty($input['goods_name'])){ $dis[] = ['a.goods_name','like','%'.$input['goods_name'].'%']; } //商品信息 $data = $this->model->indexGoodsList($dis,10); if(!empty($data['data'])){ foreach ($data['data'] as &$v){ $where = [ 'type' => 5, 'user_id' => $this->getUserId() ]; $v['car_count'] = $this->car_model->where($where)->count(); } } return $this->success($data); } /** * @author chenniang * @DataTime: 2021-03-19 15:46 * @功能说明:商品详情 */ public function goodsInfo(){ $input = $this->_param; $dis = [ 'id' => $input['id'] ]; $data = $this->model->dataInfo($dis); $farm_model = new Farmer(); $where[] = ['id','in',$data['store']]; $data['store_info'] = $farm_model->dataInfo($where); $spe_model = new ShopGoodsSpe(); $spe_price_model = new GoodsSpePrice(); $where = [ 'goods_id' => $input['id'], 'status' => 1 ]; $data['spe_text'] = $spe_model->goodsSpe($where); $data['spe_price'] = $spe_price_model->goodsSpePrice($where); $kill_model = new SeckillList(); $integral_model = new IntegralList(); //秒杀活动 $data['kill_list'] = $kill_model->atvIng($input['id'],0,2); if(!empty($data['spe_price'])){ foreach ($data['spe_price'] as &$v){ //查询是否有秒杀活动 $v['kill_atv'] = $kill_model->atvIng($input['id'],$v['id']); if(empty($v['kill_atv'])){ //积分活动 $v['integral_atv'] = $integral_model->atvIng($input['id'],$v['id']); }else{ $v['integral_atv'] = []; } } } return $this->success($data); } /** * @author chenniang * @DataTime: 2021-03-24 14:07 * @功能说明:购物车信息 */ public function carInfo(){ $input = $this->_param; $store_id = !empty($input['store_id'])?$input['store_id']:0; //购物车信息 $car_info = $this->car_model->carPriceAndCount($this->getUserId(),$store_id,1); return $this->success($car_info); } /** * @author chenniang * @DataTime: 2021-03-24 14:46 * @功能说明:添加到购物车 */ public function addCar(){ $input = $this->_input; $is_show_del = !empty($input['is_show_del'])?$input['is_show_del']:1; if($is_show_del==1){ $this->car_model->where(['user_id'=>$this->getUserId(),'is_show'=>2])->delete(); } $insert = [ 'uniacid' => $this->_uniacid, 'user_id' => $this->getUserId(), 'farmer_id'=> $input['store_id'], 'goods_id'=> $input['goods_id'], 'spe_id' => $input['spe_id'], 'type' => 5, 'is_show' => !empty($input['is_show'])?$input['is_show']:1, ]; $input['goods_num'] = !empty($input['goods_num'])?$input['goods_num']:1; $info = $this->car_model->dataInfo($insert); //增加数量 if(!empty($info)){ $res = $this->car_model->dataUpdate(['id'=>$info['id']],['goods_num'=>$info['goods_num']+$input['goods_num']]); }else{ //添加到购物车 $insert['goods_num'] = $input['goods_num']; $insert['status'] = 1; $res = $this->car_model->dataAdd($insert); } return $this->success($res); } /** * @author chenniang * @DataTime: 2021-03-24 14:54 * @功能说明:删除购物车 */ public function delCar(){ $input = $this->_input; $info = $this->car_model->dataInfo(['id'=>$input['id']]); $input['goods_num'] = !empty($input['goods_num'])?$input['goods_num']:1; //加少数量 if($info['goods_num']>$input['goods_num']){ $res = $this->car_model->dataUpdate(['id'=>$info['id']],['goods_num'=>$info['goods_num']-$input['goods_num']]); }else{ $res = $this->car_model->where(['id'=>$info['id']])->delete(); } return $this->success($res); } /** * @author chenniang * @DataTime: 2021-03-25 10:39 * @功能说明: */ public function carUpdate(){ $input = $this->_input; if(!empty($input['id'])){ $res = $this->car_model->where('id','in',$input['id'])->update(['status'=>$input['status']]); }else{ $res = $this->car_model->where('user_id','=',$this->getUserId())->update(['status'=>$input['status']]); } return $this->success($res); } /** * @author chenniang * @DataTime: 2021-03-24 14:59 * @功能说明:批量删除购物车 */ public function delSomeCar(){ $input = $this->_input; $dis = [ 'uniacid' => $this->_uniacid, 'user_id' => $this->getUserId(), 'farmer_id'=> $this->getStoreInfo()['id'], 'type' => 5, ]; $res = $this->car_model->where($dis)->delete(); return $this->success($res); } }