123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- <?php
- /**
- * Created by Sublime.
- * User: hao
- * Date: 19/08/30
- * Time: 上午11:20
- */
- namespace App\Http\Controllers\Admin;
- use App\Http\Controllers\Controller;
- use App\Logs;
- use App\Goods;
- use App\GoodsSkus;
- use App\Oplog;
- use App\Services\OssServices as oss;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- use PHPExcel_Reader_Excel2007;
- use PHPExcel_Reader_Excel5;
- use PHPExcel_Reader_CSV;
- class GoodsController extends Controller
- {
- public function index(Request $request){
- $page = (int)$request->input('page');
- $pageSize = 20;
- if($page<=0){
- $page = 1;
- }
- $offset = ($page-1) * $pageSize;
- $stime = $request->input('stime');
- $etime = $request->input('etime');
- $name = $request->input('name');
- $count = Goods::where(function($query) use($name, $stime, $etime){
- if($name) $query->where('name', 'like', $name.'%');
- if($stime) $query->where('createTime', '>=', $stime);
- if($etime) $query->where('createTime', '<=', $etime);
- })->where('is_del',0)->count();
- if ($count > 1) {
- // 总页数
- $pages = ceil($count/$pageSize);
- }else{
- // 总页数
- $pages = 1;
- }
- $result = Goods::where(function($query) use($name, $stime, $etime){
- if($name) $query->where('name', $name);
- if($stime) $query->where('createTime', '>=', $stime);
- if($etime) $query->where('createTime', '<=', $etime);
- })->where('is_del',0)->orderBy('id', 'desc')->offset($offset)->limit($pageSize)->get();
- $result = json_decode(json_encode($result),true);
- foreach($result as $k=>&$v){
- # 获取sku
- $skuList = GoodsSkus::where('goodsCode', $v['id'])->where('is_del', 0)->get();
- $v['sku_list'] = $skuList;
- }
- return view('goods/index', ['result' =>$result,
- 'page' =>$page,
- 'count' =>$count,
- 'pages' =>$pages,
- 'stime' =>$stime,
- 'etime' =>$etime,
- 'name' =>$name,
- ]);
- }
- /**
- * 添加商品
- * @return \Illuminate\View\View
- */
- public function create(Request $request)
- {
- return view('goods/create');
- }
- /**
- * 分组管理-进行添加操作
- * @param Request $request
- * @return \Illuminate\Http\RedirectResponse
- */
- public function store(Request $request)
- {
- $this->validate($request, [
- 'name' => 'required',
- 'productCode' => 'required',
- ], [
- 'name.required' => '商品名不能为空',
- 'productCode.required' => '商品货号不能为空',
- ]);
- //数据库-新增数据
- $goods = array();
- $goods['name'] = trim($request->input('name'));
- $goods['description'] = trim($request->input('description')); //非必填
- $goods['eshopCode'] = '99|34881';
- $goods['productCode'] = trim($request->input('productCode'));
- /*$goods['propsName'] = $request->input('propsName');
- $goods['price'] = $request->input('price');
- $goods['Weight'] = $request->input('Weight');
- $goods['volume'] = $request->input('volume'); */
- //图片上传 阿里云oss
- if ($request->hasFile('img') && $request->file('img')->isValid()) {
- $file = $request->file('img');
- $ossClient=new oss();
- // 上传阿里云
- $file = $ossClient->upload($file->getClientOriginalExtension(), $file->getRealPath(), 'upload/seafoodPic'.date("Y-m-d",time()).'/'.date('His'));
- $img=$file['oss-request-url'];
- $goods['picUrl']=str_replace("kx-youhuiquan.oss-cn-beijing.aliyuncs.com","imgs.726p.com",$img);
- }
- //$goods['picUrl'] = $request->input('picUrl');
- $res = DB::table('goods')->insertGetId($goods);
- if($res){
- //卖家云必要参数拼接转化
- $mjArr = $goods;
- $mjArr['outerCode'] = $res;
- //sku
- $sku = trim($request->input('sku'),';');
- if(!empty($sku)){
- $sku = explode(';', $sku);
- foreach($sku as $key=>$item){
- $sku_data = explode(',', $item);
- $sku_insert_data = $mjArr['skuList'][$key] = ['propsName'=>$sku_data[0], 'price'=>$sku_data[1], 'createTime'=>date('Y-m-d H:i:s'), 'modifyTime'=>date('Y-m-d H:i:s')];
- $sku_insert_data['goodsCode'] = $res;
- $sku_insert_data['eshopCode'] = '99|34881';
- $sku_ids = DB::table('goods_skus')->insertGetId($sku_insert_data);
- $mjArr['skuList'][$key]['outerCode'] = $sku_ids;
- }
- }
- exit;
- //对接卖家云
- $mj = Order::mjGoodsAdd($mjArr);
- #记录操作日志
- $self_id = session('admin_id');
- $self_name = session('real_name');
- $context = "新增商品数据";
- $type = 0;
- $tables = 'goods,goods_skus';
- $data_id = $res;
- Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
- }
-
- return redirect('/admin/goods/index')->with('info', '添加成功');
-
- }
- /**
- * 分组管理-编辑分组界面
- * @param $id
- * @return \Illuminate\View\View
- */
- public function edit($id,Request $request)
- {
-
- $data = Goods::where('id', $id)->first();
- $teamList = DB::table('teams')->select('id', 'name')->get();
- $teamList = json_decode(json_encode($teamList), true);
- return view('goods/edit', [
- 'goods' => $data,
- 'teamlist' => $teamList,
- ]);
- }
- /**
- * 分组管理-进行编辑操作
- * @param Request $request
- * @return \Illuminate\Http\RedirectResponse
- */
- public function update(Request $request)
- {
- $name = (int)$request->input('name');
- $id = (int)$request->input('id');
- $this->validate($request, [
- 'id' => 'required',
- '_cost' => 'required',
- '_fan_add' => 'required',
- 'name' => 'required',
- 'createTime' => 'required|unique:cust_day_,createTime,'.$id.',id,name,'.$name,
- ], [
- 'id.required' => 'id不能为空',
- '_cost.required' => '总成本不能为空',
- '_fan_add.required' => '总加粉数不能为空',
- 'name.required' => '团队不能为空',
- 'createTime.required' => '日期不能为空',
- 'createTime.unique' => '指定日期已存在',
- ]);
-
- $goods = array();
- $goods['_cost'] = $request->input('_cost');
- $goods['_fan_add'] = $request->input('_fan_add');
- $goods['createTime'] = $request->input('createTime');
- $goods['name'] = $name;
- $res = DB::table('cust_day_')->where('id', $id)->update($goods);
- if($res){
- #记录操作日志
- $self_id = session('admin_id');
- $self_name = session('real_name');
- $context = "修改运营上报数据";
- $type = 0;
- $tables = 'cust_day_';
- $data_id = $id;
- Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
- }
- return redirect('/admin/goods/index')->with('info', '更新成功');
- }
- /**
- * 分组管理-进行删除操作
- * @param Request $request
- * @return \Illuminate\Http\RedirectResponse
- */
- public function delete($id)
- {
- $goods = Goods::find($id);
- $goods->is_del = 1;
- if ($goods ->save()){
- #记录操作日志
- $self_id = session('admin_id');
- $self_name = session('real_name');
- $context = "删除运营上报数据";
- $type = 0;
- $tables = 'cust_day_';
- $data_id = $id;
- Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
- return redirect('/admin/goods/index')->with('info', '删除成功');
- }
- }
- }
|