| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- <?php
- /**
- * Created by PhpStorm.
- * Author: 芸众商城 www.yunzshop.com
- * Date: 2017/2/27
- * Time: 上午10:44
- */
- namespace app\backend\modules\member\controllers;
- use app\backend\modules\goods\models\Goods;
- use app\backend\modules\member\models\MemberLevel;
- use app\backend\modules\member\models\MemberShopInfo;
- use app\common\components\BaseController;
- use app\common\facades\Setting;
- use app\common\helpers\PaginationHelper;
- use app\common\helpers\Url;
- class MemberLevelController extends BaseController
- {
- /**
- * 加载模板
- * @return string
- * @throws \Throwable
- */
- public function index()
- {
- return view('member.level.list', [])->render();
- }
- /*
- * Member level pager list
- * 17.3,31 restructure
- *
- * @autor yitian */
- public function show()
- {
- $pageSize = 10;
- $levelList = MemberLevel::getLevelPageList($pageSize);
- return $this->successJson('ok', [
- 'levelList' => $levelList,
- 'level_type' => Setting::get('shop.member')['level_type']
- ]);
- }
- public function searchGoods()
- {
- $goods = Goods::getGoodsByNameLevelNew(request()->keyword);
- foreach ($goods as $k => $v) {
- $goods[$k]['thumb'] = yz_tomedia($v['thumb']);
- }
- return $this->successJson('ok', [
- 'goods' => $goods,
- ]);
- }
- /*
- * Add member level
- *
- * @autor yitian */
- public function form()
- {
- $id = request()->id;
- return view('member.level.form', [
- 'id' => $id,
- 'shopSet' => Setting::get('shop.member'),
- 'integral' => (app('plugins')->isEnabled('integral') && \Yunshop\Integral\Common\Services\SetService::getIntegralSet()['member_show']) ? 1 : 0
- ])->render();
- }
- public function store()
- {
- $levelModel = new memberLevel();
- $requestLevel = \YunShop::request()->level;
- $get_setting = Setting::get('shop.member');
- $shop_set = [
- 'level_type' => $get_setting['level_type'],
- 'level_discount_calculation' => empty($get_setting['level_discount_calculation']) ? 0 : $get_setting['level_discount_calculation']
- ];
- if ($requestLevel) {
- //将数据赋值到model
- $levelModel->fill($requestLevel);
- //其他字段赋值
- $levelModel->uniacid = \YunShop::app()->uniacid;
- unset($levelModel->goods);
- unset($levelModel->goods_id);
- if ($requestLevel['goods']) {
- foreach ($requestLevel['goods'] as $k => $v) {
- if ($v['goods_id']) {
- $arr[] = $v['goods_id'];
- }
- }
- } else {
- $arr[] = [];
- }
- if (empty($requestLevel['goods_id'])) {
- $levelModel->goods_id = implode(',', array_unique($arr));
- } else {
- $ids = implode(',', array_unique(array_merge(array_filter($arr), array_values($requestLevel['goods_id']))));
- $levelModel->goods_id = $ids;
- }
- //字段检测
- $validator = $levelModel->validator();
- if ($validator->fails()) {//检测失败
- return $this->errorJson($validator->errors()->first(),$shop_set);
- } else {
- //数据保存
- if ($levelModel->save()) {
- //显示信息并跳转
- return $this->successJson('添加会员等级成功', ['data' => true]);
- } else {
- return $this->errorJson('添加会员等级失败');
- }
- }
- }
- return $this->successJson('ok', [
- 'shopSet' => $shop_set
- ]);
- }
- /**
- * Modify membership level
- */
- public function update()
- {
- $levelModel = MemberLevel::getMemberLevelById(\YunShop::request()->id);
- if (!$levelModel) {
- return $this->message('无此记录或已被删除', '', 'error');
- }
- $requestLevel = \YunShop::request()->level;
- $requestLevel['order_count'] = isset($requestLevel['order_count']) ? $requestLevel['order_count'] : 0;
- if ($levelModel['goods_id']) {
- $goods = MemberLevel::getGoodsId($levelModel['goods_id']);
- $levelModel->goods = $goods ? $goods->toArray() : [];
- }
- $get_setting = Setting::get('shop.member');
- $shop_set = [
- 'level_type' => $get_setting['level_type'],
- 'level_discount_calculation' => empty($get_setting['level_discount_calculation']) ? 0 : $get_setting['level_discount_calculation']
- ];
- if ($requestLevel) {
- if (!isset($requestLevel['goods_id'])) {
- $requestLevel['goods_id'] = 0;
- }else{
- $requestLevel['goods_id'] = implode(',',array_unique(array_filter($requestLevel['goods_id'])));
- }
- unset($levelModel->goods);
- unset($requestLevel['goods']);
- $levelModel->fill($requestLevel);
- $validator = $levelModel->validator();
- if ($validator->fails()) {//检测失败
- return $this->errorJson($validator->messages());
- } else {
- // $saveModel = \app\common\models\MemberLevel::find(\YunShop::request()->id);
- // $bool = $saveModel->fill($requestLevel)->save();
- if ($levelModel->fill($requestLevel)->save()) {
- return $this->successJson('修改会员等级信息成功', ['data' => true]);
- } else {
- return $this->errorJson('修改会员等级信息失败');
- }
- }
- }
- return $this->successJson('获取数据成功', [
- 'levelModel' => $levelModel,
- 'shopSet' => $shop_set
- ]);
- }
- /*
- * Delete membership
- *
- * @author yitain */
- public function destroy()
- {
- $id = \YunShop::request()->id;
- $uniacid = \YunShop::app()->uniacid;
- $levelModel = MemberLevel::getMemberLevelById($id);
- if (!$levelModel) {
- return $this->error('未找到记录或已删除');
- }
- if ($levelModel->where(['uniacid' => $uniacid, 'id' => $id])->delete()) {
- MemberShopInfo::where('level_id', $id)->update(['level_id' => '0']);
- return $this->successJson('删除等级成功', ['data' => true]);
- } else {
- return $this->error('删除等级失败');
- }
- }
- public function getLevel()
- {
- $keyword = request()->keyword;
- $level = MemberLevel::uniacid()->where('level_name', 'like', '%' . $keyword . '%')->select('id', 'level_name')->get()->toArray();
- return $this->successJson('ok', $level);
- }
- }
|