render(); } public function getSet(){ $category = CategoryDiscount::uniacid()->get()->toArray(); foreach ($category as $k => $item) { $category[$k]['category_ids'] = Category::select('id', 'name')->whereIn('id', explode(',', $item['category_ids']))->get()->toArray(); } return $this->successJson('success',$category); } public function updateSet() { $form_data = request()->form_data; $id = request()->id; if (!$id) { throw new ShopException('参数错误!'); } if ($form_data) { $form_data['discount_value'] = array_filter($form_data['discount_value']); $discount = $form_data['discount_value']; $categoryModel = CategoryDiscount::find($id); if(isset($form_data['category_ids'][0]['id'])){ $form_data['category_ids']=array_column($form_data['category_ids'],'id'); } $category_ids = implode(',', $form_data['category_ids']); $data = [ 'category_ids' => $category_ids, 'uniacid' => \YunShop::app()->uniacid, 'level_discount_type' => $form_data['discount_type'], 'discount_method' => $form_data['discount_method'], 'discount_value' => $discount, 'created_at' => time(), ]; $categoryModel->fill($data); if ($categoryModel->save()) { $goods_ids = GoodsCategory::select('goods_id')->whereIn('category_id', explode(',', $data['category_ids']))->get()->toArray(); foreach ($goods_ids as $goods_id) { $item_id[] = $goods_id['goods_id']; } foreach ($item_id as $goodsId) { Discount::relationSave($goodsId, $data); } return $this->successJson('ok'); } } $levels = MemberLevel::getMemberLevelList(); $levels = array_merge($this->defaultLevel(), $levels); $categoryDiscount = CategoryDiscount::find($id); $categoryDiscount['category_ids'] = Category::select('id', 'name') ->whereIn('id', explode(',', $categoryDiscount['category_ids'])) ->get()->toArray(); return view('discount.set', [ 'levels' => json_encode($levels), 'firstCate'=>(new Category())->getCategoryFirstLevel(), 'categoryDiscount' => json_encode($categoryDiscount), 'url' => json_encode(yzWebFullUrl('discount.batch-discount.update-set',['id' => $id])), ])->render(); } /** * 商品-折扣全局设置 */ public function allSet() { $set_data = request()->form_data; if ($set_data) { $isSet = Setting::set('discount.all_set', $set_data); if ($isSet) { return $this->successJson('ok',$set_data); }else{ return $this->successJson('设置失败'); } } $set = Setting::get('discount.all_set'); // return $this->successJson('ok', $set); return view('discount.all-set',[ 'set' => json_encode($set), ])->render(); } public function store() { $form_data = request()->form_data; if ($form_data) { $form_data['discount_value'] = array_filter($form_data['discount_value']); $discount = $form_data['discount_value']; $categorys = $form_data['search_categorys']; foreach ($categorys as $v){ $categorys_r[] = $v['id']; } $category_ids = implode(',', $form_data['category_ids']); $data = [ 'category_ids' => $category_ids, 'uniacid' => \YunShop::app()->uniacid, 'level_discount_type' => $form_data['discount_type'], 'discount_method' => $form_data['discount_method'], 'discount_value' => $discount, 'created_at' => time(), ]; $model = new CategoryDiscount(); $model->fill($data); if ($model->save()) { $goods_ids = GoodsCategory::select('goods_id')->whereIn('category_id', explode(',', $data['category_ids']))->get()->toArray(); foreach ($goods_ids as $goods_id) { $item_id[] = $goods_id['goods_id']; } foreach ($item_id as $goodsId) { Discount::relationSave($goodsId, $data); } return $this->successJson('ok'); } } $levels = MemberLevel::getMemberLevelList(); $levels = array_merge($this->defaultLevel(), $levels); return view('discount.set', [ 'levels' => json_encode($levels), 'firstCate'=>(new Category())->getCategoryFirstLevel(), 'url' => json_encode(yzWebFullUrl('discount.batch-discount.store')), ])->render(); } public function selectCategory() { $kwd = \YunShop::request()->keyword; if ($kwd) { $category = Category::getNotOneCategorysByName($kwd); return $this->successJson('ok', $category); } } public function deleteSet() { if (CategoryDiscount::find(request()->id)->delete()) { return $this->successJson('ok'); }; } private function defaultLevel() { return [ '0'=> [ 'id' => "0", 'level' => "0", 'level_name' => \Setting::get('shop.member.level_name') ?: '普通会员' ], ]; } }