insertGetId($goods_array); return $result; } /** * 获取单个闲置 * @access public * @author csdeshang * @param type $condition 查询条件 * @return type */ public function getOneFlea($condition){ return Db::name('flea')->where($condition)->find(); } /** * 商品列表 * @access public * @author csdeshang * @param type $special_condition 查询条件 * @param type $pagesize 分页信息 * @param type $field 字段 * @return type */ public function getFleaList($special_condition, $pagesize = '', $field = '*',$order = 'goods_id desc',$limit=0) { $where = $this->getCondition($special_condition); if ($pagesize) { $res = Db::name('flea')->alias('flea')->where($where)->field($field)->order($order)->paginate(['list_rows'=>$pagesize,'query' => request()->param()],false); $this->page_info = $res; $list_goods = $res->items(); }else{ $list_goods = Db::name('flea')->alias('flea')->where($where)->field($field)->order($order)->limit($limit)->select()->toArray(); } return $list_goods; } /** * 他们正在卖的 * @access public * @author csdeshang * @param type $condition 条件 * @param type $limit 分页信息 * @param type $field 字段 * @return type */ public function getSaleFleaList($condition, $limit = '10', $field = 'member.member_id,member.member_name,flea.*') { $order = 'goods_id desc'; $list_goods = Db::name('flea')->alias('flea')->join('member member', 'flea.member_id=member.member_id', 'LEFT')->field($field)->order($order)->where($condition)->limit($limit)->select()->toArray(); return $list_goods; } /** * 他们正在统计当前卖家正在出售闲置个数卖的 * @access public * @author csdeshang * @param type $member_id 会员id * @return type */ public function getFleaStatistic($member_id) { $field = 'member.member_avatar,member.member_qq,member.member_id,member.member_name,count(*) as num'; $group = 'member.member_id'; $goods_array = Db::name('flea')->alias('flea')->join('member member', 'flea.member_id=member.member_id', 'LEFT')->field($field)->where('member.member_id',$member_id)->group($group)->select()->toArray(); return $goods_array['0']; } /** * 闲置物品多图 * @access public * @author csdeshang * @param array $condition 列表条件 * @param array $pagesize 分页页数 * @return type */ public function getFleauploadList($condition,$pagesize='') { if($pagesize){ $member_list = Db::name('fleaupload')->where($condition)->paginate(['list_rows'=>$pagesize,'query' => request()->param()],false); $this->page_info = $member_list; $result= $member_list->items(); }else{ $result = Db::name('fleaupload')->where($condition)->select()->toArray(); } return $result; } /** * 得到商品所有缩略图,带商品路径 * @access public * @author csdeshang * @param type $goods 商品列表 * @param type $path 商品路径 * @return type */ public function getThumb(&$goods, $path) { if (is_array($goods)) { foreach ($goods as $k => $v) { $goods[$k]['thumb_small'] = ds_get_pic($path , $v['fleafile_name']); $goods[$k]['thumb_big'] = ds_get_pic($path , str_replace('_small', '_big', $v['fleafile_name'])); } } } /** * 商品信息更新 * @access public * @author csdeshang * @param type $data 数据 * @param type $goods_id 商品id * @return boolean */ public function editFlea($data, $condition) { if (empty($data)) { return false; } $update = Db::name('flea')->where($condition)->update($data); return $update; } /** * 闲置物品数量 * @access public * @author csdeshang * @param type $condition 条件 * @return int */ public function getFleaCount($condition) { if (empty($condition)) { return false; } $count = Db::name('flea')->where($condition)->count(); return $count; } /** * 闲置物品删除 * @access public * @author csdeshang * @param type $goods_id 商品id * @return boolean */ public function delFlea($goods_id) { if (empty($goods_id)) { return false; } if(is_array($goods_id)){ $del_state = Db::name('flea')->where('goods_id','in', $goods_id)->delete(); }else{ $del_state = Db::name('flea')->where('goods_id', $goods_id)->delete(); } if ($del_state) { $image_more = Db::name('fleaupload')->field('fleafile_name')->whereIn('item_id', $goods_id)->whereIn('fleaupload_type', '12,13')->select()->toArray(); if (is_array($image_more) && !empty($image_more)) { foreach ($image_more as $v) { @unlink(BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_MFLEA . DIRECTORY_SEPARATOR . $v['store_id'] . DIRECTORY_SEPARATOR . $v['fleafile_name']); } } Db::name('fleaupload')->whereIn('item_id', $goods_id)->whereIn('fleaupload_type', '12,13')->select()->toArray(); } return true; } /** * 按所属分类查找闲置物品 * @access public * @author csdeshang * @param type $condition 条件 * @return type */ public function getFleaByClass($condition,$field='*',$order='',$limit=10) { $goods_array = Db::name('flea')->alias('flea')->join('fleaclass fleaclass','flea.fleaclass_id=fleaclass.fleaclass_id')->where($condition)->field($field)->order($order)->limit($limit)->select()->toArray(); return $goods_array; } /** * 将条件数组组合为SQL语句的条件部分 * @access public * @author csdeshang * @param type $condition_array 条件数组 * @return string */ private function getCondition($condition_array) { $condition_sql = array(); if (isset($condition_array['member_id']) && $condition_array['member_id'] != '') { $condition_sql[]=array('member_id','=',$condition_array['member_id']); } if (isset($condition_array['image_store_id']) && $condition_array['image_store_id'] != '') { $condition_sql[]=array('store_id','=',$condition_array['image_store_id']); $condition_sql[]=array('item_id','=',$condition_array['item_id']); $condition_sql[]=array('fleaupload_type','=',$condition_array['image_type']); } //添加不等于某商品的条件 if (isset($condition_array['goods_id_diff']) && $condition_array['goods_id_diff'] != 0) { $condition_sql[]=array('goods_id','=',$condition_array['goods_id_diff']); } if (isset($condition_array['fleaclass_id_list']) && $condition_array['fleaclass_id_list'] != '') { $condition_sql[]=array('flea.fleaclass_id','in',ltrim($condition_array['fleaclass_id_list'], ',')); } if (isset($condition_array['goods_id']) && $condition_array['goods_id'] != 0) { $condition_sql[]=array('goods_id','=',$condition_array['goods_id']); } if (isset($condition_array['keyword']) && $condition_array['keyword'] != '') { $condition_sql[]=array('goods_name','LIKE',"%".$condition_array['keyword']."%"); } if (isset($condition_array['upload_id']) && $condition_array['upload_id'] != '') { $condition_sql[]=array('fleaupload_id','=',$condition_array['upload_id']); } if (isset($condition_array['goods_id_in'])) { if ($condition_array['goods_id_in'] == '') { $condition_sql[]=array('flea.goods_id','in',''); } else { $condition_sql[]=array('flea.goods_id','in',$condition_array['goods_id_in']); } } if (isset($condition_array['fleaclass_id']) && $condition_array['fleaclass_id'] != '') { $condition_sql[]=array('fleaclass_id','in',$this->_getRecursiveClass(array($condition_array['fleaclass_id']))); } if (isset($condition_array['fleaclass_id_in'])) { if ($condition_array['fleaclass_id_in'] == '') { $condition_sql[]=array('flea.fleaclass_id','in',''); } else { $condition_sql[]=array('flea.fleaclass_id','in',$condition_array['fleaclass_id_in']); } } if (isset($condition_array['key_input']) && $condition_array['key_input'] != '') { $condition_sql[]=array('goods_name|goods_tag','LIKE',"%".$condition_array['key_input']."%"); } if (isset($condition_array['like_member_name']) && $condition_array['like_member_name'] != '') { $condition_sql[]=array('member_name','LIKE',"%".$condition_array['like_member_name']."%"); } /* 检索 */ if (isset($condition_array['pic_input']) && $condition_array['pic_input'] == 2) { $condition_sql[]=array('goods_image','<>',''); } if (isset($condition_array['body_input']) && $condition_array['body_input'] == 2) { $condition_sql[]=array('goods_body','<>',''); } if (isset($condition_array['seller_input']) && $condition_array['seller_input'] != '') { $condition_sql[]=array('member_id','=',$condition_array['seller_input']); } if (isset($condition_array['quality_input']) && $condition_array['quality_input'] != '') { if ($condition_array['quality_input'] == 7) { $condition_sql[]=array('flea_quality','<=',7); } else { $condition_sql[]=array('flea_quality','>=',$condition_array['quality_input']); } } if (isset($condition_array['start_input']) && $condition_array['start_input'] != '') { $condition_sql[]=array('goods_store_price','>=',$condition_array['start_input']); } if (isset($condition_array['end_input']) && $condition_array['end_input'] != '') { $condition_sql[]=array('goods_store_price','<=',$condition_array['end_input']); } if (isset($condition_array['areaid']) && $condition_array['areaid'] != '') { $condition_sql[]=array('fleaarea_id','in',$condition_array['areaid']); } return $condition_sql; } /** * 递归得到商品分类的ID * @access public * @author csdeshang * @staticvar string $class_list * @param type $class_id 分类ID * @return type */ private function _getRecursiveClass($class_id) { static $class_list = ''; $id = implode(',', $class_id); $class_list .= ',' . $id; $temp_list = Db::name('fleaclass')->where('fleaclass_parent_id','in',$id)->field('fleaclass_id')->select()->toArray(); if (!empty($temp_list)) { $_tmp = array(); //取得ID组成的一维数组 foreach ($temp_list as $key => $val) { $_tmp[] = $val['fleaclass_id']; } unset($temp_list); $temp_list = $_tmp; $id = $this->_getRecursiveClass($temp_list); } return trim($class_list, ','); } }