Files
2019-02-28 19:48:21 +08:00

746 lines
29 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* tpshop
* ============================================================================
* 版权所有 2015-2027 深圳搜豹网络科技有限公司,并保留所有权利。
* 网站地址: http://www.tp-shop.cn
* ----------------------------------------------------------------------------
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
* 不允许对程序代码以任何形式任何目的的再发布。
* 采用最新Thinkphp5助手函数特性实现单字母函数M D U等简写方式
* ============================================================================
* Author: IT宇宙人
* Date: 2015-09-09
*/
namespace app\admin\controller;
use app\admin\logic\GoodsLogic;
use app\admin\logic\SearchWordLogic;
use app\common\model\GoodsAttr;
use app\common\model\GoodsAttribute;
use app\common\model\GoodsType;
use app\common\model\Spec;
use app\common\model\SpecGoodsPrice;
use app\common\model\SpecItem;
use app\common\model\GoodsCategory;
use app\common\util\TpshopException;
use think\AjaxPage;
use think\Loader;
use think\Page;
use think\Db;
use app\admin\logic\StockLogic;
class Goods extends Base {
/**
* 商品分类列表
*/
public function categoryList(){
$GoodsLogic = new GoodsLogic();
$cat_list = $GoodsLogic->goods_cat_list();
$this->assign('cat_list',$cat_list);
return $this->fetch();
}
/**
* 添加修改商品分类
* 手动拷贝分类正则 ([\u4e00-\u9fa5/\w]+) ('393','$1'),
* select * from tp_goods_category where id = 393
select * from tp_goods_category where parent_id = 393
update tp_goods_category set parent_id_path = concat_ws('_','0_76_393',id),`level` = 3 where parent_id = 393
insert into `tp_goods_category` (`parent_id`,`name`) values
('393','时尚饰品'),
*/
public function addEditCategory(){
$GoodsLogic = new GoodsLogic();
if(IS_GET)
{
$goods_category_info = D('GoodsCategory')->where('id='.I('GET.id',0))->find();
$this->assign('goods_category_info',$goods_category_info);
$all_type = M('goods_category')->where("level<3")->getField('id,name,parent_id');//上级分类数据集限制3级分类那么只拿前两级作为上级选择
if(!empty($all_type)){
$parent_id = empty($goods_category_info) ? I('parent_id',0) : $goods_category_info['parent_id'];
$all_type = $GoodsLogic->getCatTree($all_type);
$cat_select = $GoodsLogic->exportTree($all_type,0,$parent_id);
$this->assign('cat_select',$cat_select);
}
//$cat_list = M('goods_category')->where("parent_id = 0")->select();
//$this->assign('cat_list',$cat_list);
return $this->fetch('_category');
exit;
}
$GoodsCategory = new GoodsCategory(); // D('GoodsCategory'); //
$type = I('id') > 0 ? 2 : 1; // 标识自动验证时的 场景 1 表示插入 2 表示更新
//ajax提交验证
if(I('is_ajax') == 1)
{
// 数据验证
$validate = \think\Loader::validate('GoodsCategory');
if(!$validate->batch()->check(input('post.')))
{
$error = $validate->getError();
$error_msg = array_values($error);
$return_arr = array(
'status' => -1,
'msg' => $error_msg[0],
'data' => $error,
);
$this->ajaxReturn($return_arr);
} else {
$GoodsCategory->data(input('post.'),true); // 收集数据
$GoodsCategory->parent_id = I('parent_id');
//查找同级分类是否有重复分类
$par_id = ($GoodsCategory->parent_id > 0) ? $GoodsCategory->parent_id : 0;
$sameCateWhere = ['parent_id'=>$par_id , 'name'=>$GoodsCategory['name']];
$GoodsCategory->id && $sameCateWhere['id'] = array('<>' , $GoodsCategory->id);
$same_cate = M('GoodsCategory')->where($sameCateWhere)->find();
if($same_cate){
$return_arr = array('status' => 0,'msg' => '同级已有相同分类存在','data' => '');
$this->ajaxReturn($return_arr);
}
if ($GoodsCategory->id > 0 && $GoodsCategory->parent_id == $GoodsCategory->id) {
// 编辑
$return_arr = array('status' => 0,'msg' => '上级分类不能为自己','data' => '',);
$this->ajaxReturn($return_arr);
}
//判断不能为自己的子类
if ($GoodsCategory->id > 0) {
$category_id_list = db('goods_category')->where('parent_id',$GoodsCategory->id)->field('id')->select();
$category_id_list = array_column($category_id_list,'id');
if (in_array($GoodsCategory->parent_id,$category_id_list)) {
$return_arr = array('status' => 0,'msg' => '上级分类不能为自己的子类','data' => '');
$this->ajaxReturn($return_arr);
}
}
if($GoodsCategory->commission_rate > 100)
{
// 编辑
$return_arr = array('status' => -1,'msg' => '分佣比例不得超过100%','data' => '');
$this->ajaxReturn($return_arr);
}
if ($type == 2)
{
$GoodsCategory->isUpdate(true)->save(); // 写入数据到数据库
$GoodsLogic->refresh_cat(I('id'));
}
else
{
$GoodsCategory->save(); // 写入数据到数据库
$insert_id = $GoodsCategory->getLastInsID();
$GoodsLogic->refresh_cat($insert_id);
}
$return_arr = array(
'status' => 1,
'msg' => '操作成功',
'data' => array('url'=>U('Admin/Goods/categoryList')),
);
$this->ajaxReturn($return_arr);
}
}
}
/**
* 删除分类
*/
public function delGoodsCategory(){
$ids = I('post.ids','');
empty($ids) && $this->ajaxReturn(['status' => -1,'msg' =>"非法操作!",'data' =>'']);
// 判断子分类
$count = Db::name("goods_category")->where("parent_id = {$ids}")->count("id");
$count > 0 && $this->ajaxReturn(['status' => -1,'msg' =>'该分类下还有分类不得删除!']);
// 判断是否存在商品
$goods_count = Db::name('Goods')->where("cat_id = {$ids}")->count('1');
$goods_count > 0 && $this->ajaxReturn(['status' => -1,'msg' =>'该分类下有商品不得删除!']);
// 删除分类
DB::name('goods_category')->where('id',$ids)->delete();
$this->ajaxReturn(['status' => 1,'msg' =>'操作成功','url'=>U('Admin/Goods/categoryList')]);
}
/**
* 商品列表
*/
public function goodsList(){
$GoodsLogic = new GoodsLogic();
$brandList = $GoodsLogic->getSortBrands();
$categoryList = $GoodsLogic->getSortCategory();
$this->assign('categoryList',$categoryList);
$this->assign('brandList',$brandList);
return $this->fetch();
}
/**
* 商品列表
*/
public function ajaxGoodsList(){
$where = ' 1 = 1 '; // 搜索条件
I('intro') && $where = "$where and ".I('intro')." = 1" ;
I('brand_id') && $where = "$where and brand_id = ".I('brand_id') ;
(I('is_on_sale') !== '') && $where = "$where and is_on_sale = ".I('is_on_sale') ;
$cat_id = I('cat_id');
// 关键词搜索
$key_word = I('key_word') ? trim(I('key_word')) : '';
if($key_word)
{
$where = "$where and (goods_name like '%$key_word%' or goods_sn like '%$key_word%')" ;
}
if($cat_id > 0)
{
$grandson_ids = getCatGrandson($cat_id);
$where .= " and cat_id in(". implode(',', $grandson_ids).") "; // 初始化搜索条件
}
$count = M('Goods')->where($where)->count();
$Page = new AjaxPage($count,20);
/** 搜索条件下 分页赋值
foreach($condition as $key=>$val) {
$Page->parameter[$key] = urlencode($val);
}
*/
$show = $Page->show();
$order_str = "`{$_POST['orderby1']}` {$_POST['orderby2']}";
$goodsList = M('Goods')->where($where)->order($order_str)->limit($Page->firstRow.','.$Page->listRows)->select();
$catList = D('goods_category')->select();
$catList = convert_arr_key($catList, 'id');
$this->assign('catList',$catList);
$this->assign('goodsList',$goodsList);
$this->assign('page',$show);// 赋值分页输出
return $this->fetch();
}
/**
* 出入库日志
*/
public function stockList()
{
$ctime = urldecode(I('ctime'));
if($ctime){
$gap = explode(' - ', $ctime);
$this->assign('start_time',$gap[0]);
$this->assign('end_time',$gap[1]);
$this->assign('ctime',$gap[0].' - '.$gap[1]);
}
$logic = new StockLogic();
$res = $logic->getStockList();
$this->assign('pager',$res['pager']);
$this->assign('page',$res['page']);// 赋值分页输出
$this->assign('stock_list',$res['stock_list']);
$this->assign('stockChangeType', $res['stockChangeType']);
return $this->fetch('stock_list');
}
/**
* 库存预警
*/
public function lowStockWarn()
{
$GoodsLogic = new GoodsLogic();
$brandList = $GoodsLogic->getSortBrands();
$categoryList = $GoodsLogic->getSortCategory();
$this->assign('categoryList',$categoryList);
$this->assign('brandList',$brandList);
return $this->fetch();
}
/**
* 库存预警(获取列表)
*/
public function ajaxLowStockWarn()
{
$logic = new StockLogic();
$res = $logic->getAjaxLowStockWarn();
$this->assign('pager',$res['pager']);
$this->assign('page',$res['page']);// 赋值分页输出
$this->assign('catList',$res['catList']);
$this->assign('brand_list',$res['brand_list']);
$this->assign('goodsList',$res['goodsList']);
return $this->fetch('ajaxAlterStock');
}
/**
* 库存盘点
*/
public function alterStock()
{
$GoodsLogic = new GoodsLogic();
$brandList = $GoodsLogic->getSortBrands();
$categoryList = $GoodsLogic->getSortCategory();
$this->assign('categoryList',$categoryList);
$this->assign('brandList',$brandList);
return $this->fetch();
}
/**
* 库存盘点ajax获取库存列表
*/
public function ajaxAlterStock()
{
$logic = new StockLogic();
$res = $logic->getAjaxAlterStock();
$this->assign('pager',$res['pager']);
$this->assign('page',$res['page']);// 赋值分页输出
$this->assign('catList',$res['catList']);
$this->assign('brand_list',$res['brand_list']);
$this->assign('goodsList',$res['goodsList']);
return $this->fetch();
}
/**
* 库存盘点(快速修改库存)
*/
public function changeStockVal()
{
$logic = new StockLogic();
$res = $logic->doChangeStockVal($this->admin_id); //传入admin_id用于记录stock_log
ajaxReturn($res);
}
/**
* 添加修改商品
*/
public function addEditGoods()
{
$GoodsLogic = new GoodsLogic();
$Goods = new \app\common\model\Goods();
$goods_id = input('id');
if($goods_id){
$goods = $Goods->where('goods_id', $goods_id)->find();
$level_cat = $GoodsLogic->find_parent_cat($goods['cat_id']); // 获取分类默认选中的下拉框
$level_cat2 = $GoodsLogic->find_parent_cat($goods['extend_cat_id']); // 获取分类默认选中的下拉框
$brandList = $GoodsLogic->getSortBrands($goods['cat_id']); //获取三级分类下的全部品牌
$this->assign('goods', $goods);
$this->assign('level_cat', $level_cat);
$this->assign('level_cat2', $level_cat2);
$this->assign('brandList', $brandList);
}
$cat_list = Db::name('goods_category')->where("parent_id = 0")->select(); // 已经改成联动菜单
$goodsType = Db::name("GoodsType")->select();
$suppliersList = Db::name("suppliers")->where(['is_check'=>1])->select();
$freight_template = Db::name('freight_template')->where('')->select();
$this->assign('freight_template',$freight_template);
$this->assign('suppliersList', $suppliersList);
$this->assign('cat_list', $cat_list);
$this->assign('goodsType', $goodsType);
return $this->fetch('_goods');
}
//商品保存
public function save(){
$data = input('post.');
$spec_item = input('item/a');
$validate = Loader::validate('Goods');// 数据验证
if (!$validate->batch()->check($data)) {
$error = $validate->getError();
$error_msg = array_values($error);
$return_arr = ['status' => 0, 'msg' => $error_msg[0], 'result' => $error];
$this->ajaxReturn($return_arr);
}
if ($data['goods_id'] > 0) {
$goods = \app\common\model\Goods::get($data['goods_id']);
$store_count_change_num = $data['store_count'] - $goods['store_count'];//库存变化量
$cart_update_data = ['market_price'=>$data['market_price'],'goods_price'=>$data['shop_price'],'member_goods_price'=>$data['shop_price']];
db('cart')->where(['goods_id'=>$data['goods_id'],'spec_key'=>''])->save($cart_update_data);
//编辑商品的时候需清楚缓存避免图片失效问题
clearCache();
}else{
$goods = new \app\common\model\Goods();
$store_count_change_num = $data['store_count'];
}
$goods->data($data, true);
$goods->last_update = time();
$goods->price_ladder = true;
$goods->save();
if(empty($spec_item)){
update_stock_log(session('admin_id'), $store_count_change_num, ['goods_id' => $goods['goods_id'], 'goods_name' => $goods['goods_name']]);//库存日志
}
$GoodsLogic = new GoodsLogic();
$GoodsLogic->afterSave($goods['goods_id']);
$GoodsLogic->saveGoodsAttr($goods['goods_id'], $goods['goods_type']); // 处理商品 属性
$return_arr = ['status' => 1, 'msg' => '操作成功'];
$this->ajaxReturn($return_arr);
}
public function getCategoryBrandList(){
$cart_id = I('cart_id/d',0);
$GoodsLogic = new GoodsLogic();
$brandList = $GoodsLogic->getSortBrands($cart_id);
$this->ajaxReturn(['status'=>1,'result'=>$brandList]);
}
/**
* 商品类型 用于设置商品的属性
*/
public function type_list()
{
$name = input('name/s');
$where = [];
if ($name) {
$where['name'] = ['like','%'.$name.'%'];
}
$GoodsType = new GoodsType();
$count = $GoodsType->where($where)->count();
$page = new Page($count, 14);
$goods_type_list = $GoodsType->where($where)->order("id desc")->limit($page->firstRow . ',' . $page->listRows)->select();
$this->assign('page', $page);
$this->assign('goods_type_list', $goods_type_list);
return $this->fetch();
}
//商品模型编辑页
public function type()
{
$id = input('id/d');
if($id){
$goods_type = GoodsType::get(['id'=>$id]);
$this->assign('goods_type', $goods_type);
}
return $this->fetch();
}
//商品模型保存
public function saveType()
{
$data = input('post.');
$validate = Loader::validate('GoodsType');// 数据验证
if (!$validate->batch()->check($data)) {
$error = $validate->getError();
$error_msg = array_values($error);
$this->ajaxReturn(['status' => 0, 'msg' => $error_msg[0], 'result' => $error]);
}
if ($data['id'] > 0) {
$goodsType = GoodsType::get($data['id']);
}else{
$goodsType = new GoodsType();
}
try{
$goodsType->data($data, true)->save();
$this->ajaxReturn(['status' => 1, 'msg' => '操作成功','type_id'=>$goodsType->id]);
}catch (TpshopException $t){
$error = $t->getErrorArr();
$this->ajaxReturn(['status' => 1, 'msg' => $error[0]]);
}
}
//删除商品模型
public function deleteType()
{
$id = input('id/d');
if(empty($id)){
$this->ajaxReturn(['status' => 0, 'msg' => '参数错误']);
}
$GoodsType = new GoodsType();
$goods_type = $GoodsType->where(['id'=>$id])->find();
try {
$goods_type->delete();
$this->ajaxReturn(['status' => 1, 'msg' => '删除成功']);
} catch (TpshopException $t) {
$error = $t->getErrorArr();
$this->ajaxReturn($error);
}
$this->ajaxReturn(['status' => 1, 'msg' => '删除成功']);
}
//删除规格项
public function deleteSpe()
{
$id = input('id/d');
if (empty($id)) {
$this->ajaxReturn(['status' => 0, 'msg' => '参数错误']);
}
$Spec = new Spec();
$spec = $Spec->where('id', $id)->find();
try {
$spec->delete();
$this->ajaxReturn(['status' => 1, 'msg' => '删除成功']);
} catch (TpshopException $t) {
$error = $t->getErrorArr();
$this->ajaxReturn($error);
}
}
//删除规格值
public function deleteSpeItem()
{
$id = input('id/d');
if (empty($id)) {
$this->ajaxReturn(['status' => 0, 'msg' => '参数错误']);
}
$SpeItem = new SpecItem();
$spec_item = $SpeItem->where('id', $id)->find();
try{
$spec_item->delete();
$this->ajaxReturn(['status' => 1, 'msg' => '删除成功']);
}catch (TpshopException $t){
$error = $t->getErrorArr();
$this->ajaxReturn($error);
}
}
//删除属性
public function deleteAttribute()
{
$attr_id = input('attr_id/d');
if (empty($attr_id)) {
$this->ajaxReturn(['status' => 0, 'msg' => '参数错误']);
}
$GoodsAttribute = new GoodsAttribute();
$goods_attribute = $GoodsAttribute->where('attr_id', $attr_id)->find();
try {
$goods_attribute->delete();
$this->ajaxReturn(['status' => 1, 'msg' => '删除成功']);
} catch (TpshopException $t) {
$error = $t->getErrorArr();
$this->ajaxReturn($error);
}
}
/**
* 更改指定表的指定字段
*/
public function updateField(){
$primary = array(
'goods' => 'goods_id',
'goods_category' => 'id',
'brand' => 'id',
'goods_attribute' => 'attr_id',
'ad' =>'ad_id',
);
$model = D($_POST['table']);
$model->$primary[$_POST['table']] = $_POST['id'];
$model->$_POST['field'] = $_POST['value'];
$model->save();
$return_arr = array(
'status' => 1,
'msg' => '操作成功',
);
$this->ajaxReturn($return_arr);
}
/**
* 动态获取商品属性输入框 根据不同的数据返回不同的输入框类型
*/
public function ajaxGetAttrInput()
{
$type_id = input('type_id/d', 0);
$goods_id = input('goods_id/d', 0);
$GoodsAttribute = new GoodsAttribute();
$attribute_list = $GoodsAttribute->where(['type_id' => $type_id,'attr_index'=>1])->order('`order` desc')->select();
if ($attribute_list) {
$attribute_list = collection($attribute_list)->append(['attr_values_to_array'])->toArray();
}
$GoodsAttr = new GoodsAttr();
foreach ($attribute_list as $attribute_key => $attribute_val) {
$goods_attr = $GoodsAttr->where(['goods_id' => $goods_id, 'attr_id' => $attribute_val['attr_id']])->find();
$attribute_list[$attribute_key]['goods_attr'] = $goods_attr;
}
$this->ajaxReturn($attribute_list);
}
/**
* 删除商品
*/
public function delGoods()
{
$ids = I('post.ids','');
empty($ids) && $this->ajaxReturn(['status' => -1,'msg' =>"非法操作!",'data' =>'']);
$goods_ids = rtrim($ids,",");
// 判断此商品是否有订单
$ordergoods_count = Db::name('OrderGoods')->whereIn('goods_id',$goods_ids)->group('goods_id')->getField('goods_id',true);
if($ordergoods_count)
{
$goods_count_ids = implode(',',$ordergoods_count);
$this->ajaxReturn(['status' => -1,'msg' =>"ID为【{$goods_count_ids}】的商品有订单,不得删除!",'data' =>'']);
}
// 商品团购
$groupBuy_goods = M('group_buy')->whereIn('goods_id',$goods_ids)->group('goods_id')->getField('goods_id',true);
if($groupBuy_goods)
{
$groupBuy_goods_ids = implode(',',$groupBuy_goods);
$this->ajaxReturn(['status' => -1,'msg' =>"ID为【{$groupBuy_goods_ids}】的商品有团购,不得删除!",'data' =>'']);
}
//删除用户收藏商品记录
M('GoodsCollect')->whereIn('goods_id',$goods_ids)->delete();
// 删除此商品
M("Goods")->whereIn('goods_id',$goods_ids)->delete(); //商品表
M("cart")->whereIn('goods_id',$goods_ids)->delete(); // 购物车
M("comment")->whereIn('goods_id',$goods_ids)->delete(); //商品评论
M("goods_consult")->whereIn('goods_id',$goods_ids)->delete(); //商品咨询
M("goods_images")->whereIn('goods_id',$goods_ids)->delete(); //商品相册
M("spec_goods_price")->whereIn('goods_id',$goods_ids)->delete(); //商品规格
M("spec_image")->whereIn('goods_id',$goods_ids)->delete(); //商品规格图片
M("goods_attr")->whereIn('goods_id',$goods_ids)->delete(); //商品属性
M("goods_collect")->whereIn('goods_id',$goods_ids)->delete(); //商品收藏
$this->ajaxReturn(['status' => 1,'msg' => '操作成功','url'=>U("Admin/goods/goodsList")]);
}
/**
* 品牌列表
*/
public function brandList(){
$keyword = I('keyword');
$where = $keyword ? " name like '%$keyword%' " : "";
$count = Db::name("Brand")->where($where)->count();
$Page = $pager = new Page($count,10);
$brandList = Db::name("Brand")->where($where)->order("sort desc")->limit($Page->firstRow.','.$Page->listRows)->select();
$show = $Page->show();
$cat_list = M('goods_category')->where("parent_id = 0")->getField('id,name'); // 已经改成联动菜单
$this->assign('cat_list',$cat_list);
$this->assign('pager',$pager);
$this->assign('show',$show);
$this->assign('brandList',$brandList);
return $this->fetch('brandList');
}
/**
* 添加修改编辑 商品品牌
*/
public function addEditBrand()
{
$id = I('id');
if (IS_POST) {
$data = I('post.');
$brandVilidate = Loader::validate('Brand');
if (!$brandVilidate->batch()->check($data)) {
$return = ['status' => 0, 'msg' => '操作失败', 'result' => $brandVilidate->getError()];
$this->ajaxReturn($return);
}
if ($id) {
Db::name("Brand")->update($data);
} else {
Db::name("Brand")->insert($data);
}
$this->ajaxReturn(['status' => 1, 'msg' => '操作成功', 'result' => '']);
}
$cat_list = M('goods_category')->where("parent_id = 0")->select(); // 已经改成联动菜单
$this->assign('cat_list', $cat_list);
$brand = M("Brand")->find($id);
$this->assign('brand', $brand);
return $this->fetch('_brand');
}
/**
* 删除品牌
*/
public function delBrand()
{
$ids = I('post.ids','');
empty($ids) && $this->ajaxReturn(['status' => -1,'msg' => '非法操作!']);
$brind_ids = rtrim($ids,",");
// 判断此品牌是否有商品在使用
$goods_count = Db::name('Goods')->whereIn("brand_id",$brind_ids)->group('brand_id')->getField('brand_id',true);
$use_brind_ids = implode(',',$goods_count);
if($goods_count)
{
$this->ajaxReturn(['status' => -1,'msg' => 'ID为【'.$use_brind_ids.'】的品牌有商品在用不得删除!','data' =>'']);
}
$res=Db::name('Brand')->whereIn('id',$brind_ids)->delete();
if($res){
$this->ajaxReturn(['status' => 1,'msg' => '操作成功','url'=>U("Admin/goods/brandList")]);
}
$this->ajaxReturn(['status' => -1,'msg' => '操作失败','data' =>'']);
}
/**
* 动态获取商品规格选择框 根据不同的数据返回不同的选择框
*/
public function ajaxGetSpecSelect()
{
$goods_id = input('goods_id/d', 0);
$type_id = input('type_id/d', 0);
$specList = db('Spec')->where("type_id", $type_id)->order('`order` desc')->select();
foreach ($specList as $k => $v)
$specList[$k]['spec_item'] = db('SpecItem')->where("spec_id = " . $v['id'])->order('id')->getField('id,item'); // 获取规格项
$items_id = db('SpecGoodsPrice')->where('goods_id', $goods_id)->getField("GROUP_CONCAT(`key` SEPARATOR '_') AS items_id");
$items_ids = explode('_', $items_id);
// 获取商品规格图片
if ($goods_id) {
$specImageList = db('spec_image')->where("goods_id", $goods_id)->getField('spec_image_id,src');
$this->assign('specImageList', $specImageList);
}
$this->assign('items_ids', $items_ids);
$this->assign('specList', $specList);
return $this->fetch('ajax_spec_select');
}
/**
* 动态获取商品规格输入框 根据不同的数据返回不同的输入框
*/
public function ajaxGetSpecInput(){
$GoodsLogic = new GoodsLogic();
$goods_id = I('goods_id/d') ? I('goods_id/d') : 0;
$str = $GoodsLogic->getSpecInput($goods_id ,I('post.spec_arr/a',[[]]));
exit($str);
}
/**
* 删除商品相册图
*/
public function del_goods_images()
{
$path = I('filename','');
M('goods_images')->where("image_url = '$path'")->delete();
}
/**
* 初始化商品关键词搜索
*/
public function initGoodsSearchWord(){
$searchWordLogic = new SearchWordLogic();
$successNum = $searchWordLogic->initGoodsSearchWord();
$this->success('成功初始化'.$successNum.'个搜索关键词');
}
/**
* 初始化地址json文件
*/
public function initLocationJsonJs()
{
$goodsLogic = new GoodsLogic();
$region_list = $goodsLogic->getRegionList();//获取配送地址列表
$area_list = $goodsLogic->getAreaList();
$data = "var locationJsonInfoDyr = ".json_encode($region_list, JSON_UNESCAPED_UNICODE).';'."var areaListDyr = ".json_encode($area_list, JSON_UNESCAPED_UNICODE).';';
file_put_contents(ROOT_PATH."public/js/locationJson.js", $data);
$this->success('初始化地区json.js成功。文件位置为'.ROOT_PATH."public/js/locationJson.js");
}
/**
* 获取商品模型下拉列表
*/
public function ajaxGetGoodsTypeList($type_id)
{
$GoodsType = new GoodsType();
$goods_type = $GoodsType->select();
$html = '<option value="0">选择商品模型';
foreach ($goods_type as $v){
$html .= "<option value='{$v['id']}'";
if($type_id == $v['id']){
$html .= ' selected="selected" ';
}
$html .= ">{$v['name']}</option>";
}
ajaxReturn($html);
}
}