getFleaList($special_condition, 10, '*', 'goods_id desc', 14);
if (is_array($list_goods) and !empty($list_goods)) {
foreach ($list_goods as $key => $val) {
$list_goods[$key]['goods_image'] = $list_goods[$key]['goods_image'] == '' ? '' : ds_get_pic(ATTACH_MFLEA . '/' . session('member_id'), str_replace('_1024', '_240', $val['goods_image']));
}
}
View::assign('show_page', $flea_model->page_info->render());
View::assign('list_goods', $list_goods);
//查询会员信息
$this->member_info = $this->getMemberAndGradeInfo(true);
View::assign('menu_sign', 'flea');
View::assign('menu_sign_url', (string) url('Memberflea/index'));
View::assign('menu_sign1', 'flea_list');
$this->setMemberCurItem('index');
$this->setMemberCurMenu('member_flea');
return View::fetch($this->template_dir . 'store_flea_list');
}
/**
* 添加闲置
*/
public function add_goods()
{
/**
* 检测用户发布闲置物品个数
*/
$flea_model = model('flea');
$goods_num = $flea_model->getFleaCount(array('member_id' => session('member_id')));
if ($goods_num >= 10) {
$this->error(lang('store_goods_index_flea_notice1'));
}
/**
* 实例化商品分类模型
*/
$fleaclass_model = model('fleaclass');
$goods_class = $fleaclass_model->getTreeClassList(1);
View::assign('goods_class', $goods_class);
/**
* 地区
*/
$this->fleaarea_show();
$goods_image_path = ATTACH_MFLEA . '/' . session('member_id'); //店铺商品图片目录地址
View::assign('goods_image_path', $goods_image_path);
View::assign('item_id', '');
//查询会员信息
$this->member_info = $this->getMemberAndGradeInfo(true);
$this->setMemberCurItem('goods_add');
$this->setMemberCurMenu('member_flea');
View::assign('menu_sign', 'flea');
View::assign('menu_sign_url', (string) url('Memberflea/index'));
View::assign('menu_sign1', 'add_flea_goods');
echo View::fetch($this->template_dir . 'store_flea_goods_add');
}
/**
* 保存闲置物品
*/
public function save_goods()
{
/**
* 清除前一天冗余图片数据
*/
$fleaupload_model = model('fleaupload');
$upload_array = array();
$upload_array[] = array('store_id', '=', session('member_id'));
$upload_array[] = array('fleaupload_type', '=', '12');
$upload_array[] = array('item_id', '=', '0');
$upload_array[] = array('fleaupload_time', '<', TIMESTAMP - 24 * 60 * 60);
$fleaupload_model->delFleaupload($upload_array, session('member_id'));
unset($upload_array);
if (request()->isPost()) {
/**
* 验证表单
*/
$data = [
'goods_name' => input('post.goods_name'),
'goods_price' => input('post.goods_price')
];
$memberflea_validate = ds_validate('memberflea');
if (!$memberflea_validate->scene('save_goods')->check($data)) {
ds_json_encode(10001, $memberflea_validate->getError());
}
/**
* 实例化店铺商品模型
*/
$flea_model = model('flea');
$goods_array = array();
$goods_array['member_id'] = session('member_id');
$goods_array['member_name'] = session('member_name');
$goods_array['goods_name'] = input('post.goods_name');
$goods_array['fleaclass_id'] = input('post.cate_id');
$goods_array['fleaclass_name'] = input('post.cate_name');
$goods_array['flea_quality'] = input('post.sh_quality');
$goods_array['flea_pname'] = input('post.flea_pname');
$goods_array['fleaarea_id'] = input('post.area_id');
$goods_array['fleaarea_name'] = input('post.area_info');
$goods_array['flea_pphone'] = input('post.flea_pphone');
$goods_array['goods_tag'] = input('post.goods_tag');
$goods_array['goods_price'] = input('post.goods_price');
$goods_array['goods_store_price'] = input('post.goods_store_price');
$goods_array['goods_show'] = '1';
$goods_array['goods_body'] = input('post.mct_introduce');
$goods_array['goods_keywords'] = input('post.seo_keywords');
$goods_array['goods_description'] = input('post.seo_description');
$res = word_filter($goods_array['goods_name'] . ' ' . $goods_array['goods_tag'] . ' ' . $goods_array['goods_body'] . ' ' . $goods_array['flea_pname'] . ' ' . $goods_array['goods_keywords'] . ' ' . $goods_array['goods_description']);
if (!$res['code']) {
ds_json_encode(10001, $res['msg']);
}
if ($res['data']['if_sensitive']) {
ds_json_encode(10001, implode('、', $res['data']['sensitive_msg']));
}
$state = $flea_model->addFlea($goods_array);
if ($state) {
/**
* 更新闲置物品多图
*/
$upload_array = array();
$upload_array[] = array('store_id', '=', session('member_id'));
$upload_array[] = array('item_id', '=', '0');
$upload_array[] = array('fleaupload_type', 'in', array('12', '13'));
$goods_file_id_array = input('post.goods_file_id/a');
$upload_array[] = array('fleaupload_id', 'in', implode(",", $goods_file_id_array));
$fleaupload_model->editFleaupload(array('item_id' => $state), $upload_array);
/**
* 商品封面图片修改
*/
if (!empty($goods_file_id_array[0])) {
$image_info = $flea_model->getFleauploadList(array('fleaupload_id' => intval($goods_file_id_array[0])));
$goods_image = $image_info[0]['fleafile_name'];
$flea_model->editFlea(array('goods_image' => $goods_image), array('goods_id' => $state, 'member_id' => $this->member_info['member_id']));
}
ds_json_encode(10000, lang('store_goods_index_flea_add_success'));
} else {
ds_json_encode(10001, lang('store_goods_index_flea_add_fail'));
}
}
}
/**
* 删除闲置物品
*/
public function flea_del()
{
/**
* 实例化闲置物品模型
*/
$flea_model = model('flea');
/**
* 检查商品是否属于店铺
*/
$goods_id = trim(input('goods_id'));
if (empty($goods_id)) {
ds_json_encode(10001, lang('param_error'));
}
//统计输入数量
$goods_id_array = explode(',', $goods_id);
$input_goods_count = count($goods_id_array);
//统计确认的数量
$condition = array();
$condition[] = array('member_id', '=', session('member_id'));
$condition[] = array('goods_id', 'in', $goods_id);
$verify_count = $flea_model->getFleaCount($condition);
//判断输入和确认是否一致
if ($input_goods_count !== $verify_count) {
ds_json_encode(10001, lang('param_error'));
}
$state = $flea_model->delFlea($goods_id);
if ($state) {
ds_json_encode(10000, lang('store_goods_index_flea_del_success'));
} else {
ds_json_encode(10001, lang('store_goods_index_flea_del_fail'));
}
}
public function drop_image()
{
$id = intval(input('id'));
$fleaupload_model = model('fleaupload');
$drop_stata = $fleaupload_model->delFleaupload(array('fleaupload_id' => $id, 'store_id' => session('member_id')), session('member_id'));
if ($drop_stata) {
echo json_encode(array('done' => true));
exit;
}
}
/**
* 编辑闲置物品页面
*/
public function edit_goods()
{
/**
* 实例化店铺商品模型
*/
$flea_model = model('flea');
$goods_array = $flea_model->getFleaList(array('goods_id' => intval(input('param.goods_id'))));
View::assign('goods', $goods_array[0]);
View::assign('goods_id', $goods_array[0]['goods_id']);
$goods_image_path = ATTACH_MFLEA . '/' . session('member_id'); //店铺商品图片目录地址
$goods_image = $flea_model->getFleauploadList(array('store_id' => session('member_id'), 'item_id' => $goods_array[0]['goods_id'], 'fleaupload_type' => 12));
if (is_array($goods_image) and !empty($goods_image)) {
$goods_image_1 = ds_get_pic($goods_image_path, $goods_array[0]['goods_image']); //封面图
$image_key = 0;
foreach ($goods_image as $key => $val) {
$goods_image[$key] = $val;
if ($goods_array[0]['goods_image'] == $val['fleafile_name'])
$image_key = $key;
}
if ($image_key > 0) { //将封面图放到第一位显示
$goods_image_0 = $goods_image[0];
$goods_image[0] = $goods_image[$image_key];
$goods_image[$image_key] = $goods_image_0;
}
}
View::assign('goods_image', $goods_image);
View::assign('goods_image_path', $goods_image_path);
/**
* 实例化商品分类模型
*/
$fleaclass_model = model('fleaclass');
$goods_class = $fleaclass_model->getTreeClassList(1);
View::assign('goods_class', $goods_class);
View::assign('item_id', $goods_array[0]['goods_id']);
//查询会员信息
$this->member_info = $this->getMemberAndGradeInfo(true);
$this->setMemberCurItem('goods_edit');
$this->setMemberCurMenu('member_flea');
View::assign('menu_sign', 'flea');
View::assign('menu_sign_url', (string) url('Memberflea/index'));
View::assign('menu_sign1', 'edit_flea');
/**
* 地区
*/
$this->fleaarea_show();
return View::fetch($this->template_dir . 'store_flea_goods_add');
}
/**
* 编辑闲置物品保存
*/
public function edit_save_goods()
{
$goods_id = intval(input('post.goods_id'));
if ($goods_id != 0) {
/**
* 验证表单
*/
$data = [
'goods_name' => input('post.goods_name'),
'goods_price' => input('post.goods_price')
];
$memberflea_validate = ds_validate('memberflea');
if (!$memberflea_validate->scene('edit_save_goods')->check($data)) {
ds_json_encode(10001, $memberflea_validate->getError());
}
/**
* 实例化闲置物品模型
*/
$flea_model = model('flea');
$goods_array = array();
$goods_array['goods_name'] = input('post.goods_name');
$goods_array['fleaclass_id'] = input('post.cate_id');
$goods_array['fleaclass_name'] = input('post.cate_name');
$goods_array['flea_quality'] = input('post.sh_quality');
$goods_array['flea_pname'] = input('post.flea_pname');
$goods_array['fleaarea_id'] = input('post.area_id');
$goods_array['fleaarea_name'] = input('post.area_info');
$goods_array['flea_pphone'] = input('post.flea_pphone');
$goods_array['goods_tag'] = input('post.goods_tag');
$goods_array['goods_price'] = input('post.goods_price');
$goods_array['goods_store_price'] = input('post.goods_store_price');
$goods_array['goods_show'] = '1';
$goods_array['goods_body'] = input('post.mct_introduce');
$goods_array['goods_keywords'] = input('post.seo_keywords');
$goods_array['goods_description'] = input('post.seo_description');
$state = $flea_model->editFlea($goods_array, array('goods_id' => $goods_id, 'member_id' => $this->member_info['member_id']));
if ($state >= 0) {
/**
* 闲置物品封面图片修改
*/
if (!empty($_POST['goods_file_id'][0])) {
$image_info = $flea_model->getFleauploadList(array('fleaupload_id' => intval($_POST['goods_file_id'][0])));
$goods_image = $image_info[0]['fleafile_name'];
$flea_model->editFlea(array('goods_image' => $goods_image), array('goods_id' => $goods_id, 'member_id' => $this->member_info['member_id']));
}
ds_json_encode(10000, lang('store_goods_index_flea_goods_edit_success'));
} else {
ds_json_encode(10001, lang('store_goods_index_flea_goods_edit_fail'));
}
}
}
/**
* 上传图片
*/
public function image_upload()
{
if (input('upload_type') == 'uploadedfile') {
$fleaupload_model = model('fleaupload');
$file_id = intval(input('post.file_id'));
if ($file_id > 0) {
$drop_stata = $fleaupload_model->delFleaupload(array('fleaupload_id' => $file_id, 'store_id' => session('member_id')), session('member_id'));
}
/**
* 实例化json模型
*/
/**
* 上传图片
*/
$upload_path = BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_MFLEA . DIRECTORY_SEPARATOR . session('member_id') . DIRECTORY_SEPARATOR;
$file_name = session('member_id') . '_' . date('YmdHis') . rand(10000, 99999) . '.png';
$res = ds_upload_pic(ATTACH_MFLEA . DIRECTORY_SEPARATOR . session('member_id'), 'file', $file_name);
if ($res['code']) {
$file_name = $res['data']['file_name'];
//生成缩略图
ds_create_thumb($upload_path, $file_name, '240,1024', '240,1024', '_small,_normal');
} else {
echo "";
exit;
}
/**
* 取得图像大小
*/
list($width, $height, $type, $attr) = getimagesize(ds_get_pic(ATTACH_MFLEA . DIRECTORY_SEPARATOR . session('member_id'), $file_name));
/**
* 图片数据入库
*/
$insert_array = array();
$image_type = array('goods_image' => 12, 'desc_image' => 13); //debug
$insert_array['fleafile_name'] = $file_name;
$insert_array['fleafile_size'] = intval($_FILES['file']['size']);
$insert_array['fleaupload_time'] = TIMESTAMP;
$insert_array['item_id'] = intval(input('post.item_id'));
$insert_array['store_id'] = session('member_id');
$insert_array['fleaupload_type'] = $image_type['goods_image'];
$result2 = $fleaupload_model->addFleaupload($insert_array);
$data = array();
$data['file_id'] = $result2;
$data['file_name'] = $file_name;
$data['file_path'] = $file_name;
$data['file_url'] = ds_get_pic(ATTACH_MFLEA . '/' . session('member_id'), $file_name);
$data['instance'] = 'goods_image';
$data['id'] = intval(input('post.id'));
/**
* 整理为json格式
*/
$output = json_encode($data);
echo "";
}
return View::fetch($this->template_dir . 'flea_upload_image');
}
/**
* 判断当前分类是否为最后一级分类
*/
public function check_class()
{
if (input('required') == 'false' and input('cate_id') == '0') {
echo 'true';
exit;
}
/**
* 实例化商品分类模型
*/
$fleaclass_model = model('fleaclass');
$sub_class = $fleaclass_model->getFleaclassList(array('fleaclass_parent_id' => intval(input('get.cate_id'))));
if (is_array($sub_class) and !empty($sub_class)) {
echo 'false';
} else {
echo 'true';
}
}
/**
* 买家闲置收藏
*
* @param
* @return
*/
public function favorites()
{
/**
* 实例化模型
*/
$fleafavorites_model = model('fleafavorites');
/**
* 类型
*/
/**
* 删除操作
*/
if (input('drop') && input('drop') == 'ok' && input('fav_id')) {
$fav_arr = explode(',', input('fav_id'));
if (!empty($fav_arr) && is_array($fav_arr)) {
/**
* 批量删除
*/
foreach ($fav_arr as $fav_id) {
if (intval($fav_id) > 0) {
$condition = array();
$condition[] = array('fleafav_id', '=', intval($fav_id));
$condition[] = array('member_id', '=', session('member_id'));
$condition[] = array('fleafav_type', '=', 'flea');
if (!$fleafavorites_model->delFleafavorites($condition)) {
ds_json_encode(10001, lang('flea_favorite_del_fail'));
}
}
}
Db::name('flea')->where('goods_id', 'in', $fav_arr)->dec('flea_collect_num')->update();
} else {
if (intval(input('get.fav_id')) > 0) {
$condition = array();
$condition[] = array('fleafav_id', '=', intval(input('get.fav_id')));
$condition[] = array('member_id', '=', session('member_id'));
$condition[] = array('fleafav_type', '=', 'flea');
if (!$fleafavorites_model->delFleafavorites($condition)) {
ds_json_encode(10001, lang('flea_favorite_del_fail'));
}
Db::name('flea')->where('goods_id', input('fav_id'))->dec('flea_collect_num')->update();
}
}
ds_json_encode(10000, lang('flea_favorite_del_success'));
}
/**
* 分页
*/
/**
* 得到收藏列表
*/
$subQuery = Db::name('fleafavorites')->field('fleafav_id')->where(array('member_id' => session('member_id'), 'fleafav_type' => 'flea'))->buildSql();
$show_page = Db::name('flea')->field('goods_id,goods_name,goods_image,goods_store_price,member_name,member_id')->where('goods_id in ' . $subQuery)->paginate(['list_rows' => 10, 'query' => request()->param()], false);
$type_list = $show_page->items();
if (!empty($type_list) && is_array($type_list)) {
foreach ($type_list as $key => $fav) {
if ($fav['goods_image']) {
$type_list[$key]['goods_image'] = ds_get_pic(ATTACH_MFLEA . '/' . $fav['member_id'], str_replace('_1024', '_240', $fav['goods_image']));
}
}
}
//查询会员信息
$this->member_info = $this->getMemberAndGradeInfo(true);
/**
* 页面输出
*/
$this->setMemberCurItem('fav_flea');
$this->setMemberCurMenu('member_flea');
View::assign('menu_sign', 'flea_favorites');
View::assign('favorites_list', $type_list);
View::assign('show_page', $show_page);
View::assign('menu_sign_url', (string) url('Memberflea/favorites'));
View::assign('menu_sign1', 'flea_favorites_list');
return View::fetch($this->template_dir . "favorites_flea_index");
}
/**
* 增加买家收藏
*
* @param
* @return
*/
public function addfavorites()
{
if (intval(input('fav_id')) > 0) {
/**
* 实例化模型
*/
$fleafavorites_model = model('fleafavorites');
//判断商品,店铺是否为当前会员
$flea_model = model('flea');
$flea_info = $flea_model->getFleaList(array('goods_id' => intval(input('param.fav_id'))));
if ($flea_info[0]['member_id'] == session('member_id')) {
echo json_encode(array('done' => false, 'msg' => lang('flea_favorite_no_my_product')));
die;
}
//闲置物品收藏次数增加1
$check_rss = $fleafavorites_model->checkFleafavorites(intval(input('fav_id')), 'flea', session('member_id'));
if (!$check_rss) {
Db::name('flea')->where('goods_id', input('fav_id'))->inc('flea_collect_num')->update();
$add_rs = $fleafavorites_model->addFleafavorites(array(
'member_id' => session('member_id'),
'fleafav_id' => intval(input('fav_id')),
'fleafav_type' => 'flea',
'fleafav_time' => TIMESTAMP
));
if (!$add_rs) {
echo json_encode(array('done' => false, 'msg' => lang('flea_favorite_collect_fail')));
}
echo json_encode(array('done' => true, 'msg' => lang('flea_favorite_collect_success')));
}
echo json_encode(array('done' => true, 'msg' => lang('flea_favorite_collect_tips')));
} else {
echo json_encode(array('done' => false, 'msg' => lang('flea_favorite_collect_fail')));
}
}
private function fleaarea_show()
{
/**
* 加载模型
*/
$fleaarea_model = model('fleaarea');
$condition[] = array('fleaarea_parent_id', '=', 0);
$area_one_level = $fleaarea_model->getFleaareaList($condition, 'fleaarea_id,fleaarea_name');
View::assign('area_one_level', $area_one_level);
}
protected function getMemberItemList()
{
$menu_array = array();
switch (request()->action()) {
case 'index':
$menu_array = array(
array('name' => 'index', 'text' => lang('idle_list'), 'url' => (string) url('Memberflea/index'))
);
break;
case 'add_goods':
$menu_array = array(
array('name' => 'index', 'text' => lang('idle_list'), 'url' => (string) url('Memberflea/index')),
array('name' => 'goods_add', 'text' => lang('release_idle'), 'url' => (string) url('Memberflea/add_goods'))
);
break;
case 'favorites':
$menu_array = array(
array(
'name' => 'fav_goods', 'text' => lang('ds_member_path_collect_list'),
'url' => (string) url('Memberfavorites/fglist')
), array(
'name' => 'fav_store', 'text' => lang('ds_member_path_collect_store'),
'url' => (string) url('Memberfavorites/fslist')
),
array(
'name' => 'fav_flea', 'text' => lang('collection_idle'), 'url' => (string) url('Memberflea/favorites')
)
);
}
return $menu_array;
}
}