| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 | <?php/** * @copyright   Copyright (c) 2017 https://www.sapixx.com All rights reserved. * @license     Licensed (http://www.apache.org/licenses/LICENSE-2.0). * @author      pillar<ltmn@qq.com> * 商城配置 */namespace app\fastshop\controller;use app\common\controller\Manage;use app\fastshop\model\Config as Configs;use think\facade\Request;class Config extends Manage{    public function initialize()    {        parent::initialize();        if(!model('auth')->getAuth($this->user->id,0)){            $this->error('无权限,你非【超级管理员】');        }        $this->assign('pathMaps',[['name' => '应用配置','url' => url("fastshop/config/index")]]);    }    /**     *  应用配置     * @return void     */    public function index(){        if(request()->isAjax()){            $data = [                'shop_types'         => input('post.shop_types/d'),                'regvip_price'       => input('post.regvip_price/d'),                'regvip_level1_ratio'=> input('post.regvip_level1_ratio/d'),                'regvip_level2_ratio'=> input('post.regvip_level2_ratio/d'),                'reward_types'       => input('post.reward_types/d'),                'reward_nth'         => input('post.reward_nth/d'),                'reward_ratio'       => input('post.reward_ratio/d'),                'tax'                => input('post.tax/d'),                'profit'             => input('post.profit/d'),                'shopping'           => input('post.shopping/d'),                'num'                => input('post.num/a'),                'much'               => input('post.much/a'),                'ratio'              => input('post.ratio/a'),                'platform_ratio'     => input('post.platform_ratio/d'),                'platform_amout'     => input('post.platform_amout/d'),            ];            $validate = $this->validate($data,'config.save');            if(true !== $validate){                return json(['code'=>0,'msg'=>$validate]);            }            //处理商品属性            if(!empty($data['num']) && !empty($data['much'])){                $ary = [];                foreach ($data['num'] as $key => $value) {                    $ary[$key]['num'] = intval($value);                }                foreach ($data['much'] as $key => $value) {                    $ary[$key]['much'] = intval($value);                }                foreach ($data['ratio'] as $key => $value) {                    $ary[$key]['ratio'] = $value > 100 ? 100 : intval($value);                }                $props = array_filter($ary);                $data['rules'] = empty($props) ? '[]' : json_encode($props);            }            unset($data['num']);            unset($data['much']);            unset($data['ratio']);            $rel = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);            if(empty($rel)){                $data['member_miniapp_id'] = $this->member_miniapp_id;                $result =  model('Config')->save($data);            }else{                $result =  model('Config')->save($data,['member_miniapp_id' => $this->member_miniapp_id]);                  }            if($result){                return json(['code'=>200,'data' => ['url' => url('fastshop/config/index')],'msg'=>'操作成功']);            }else{                return json(['code'=>0,'msg'=>'操作失败']);            }        }else{            $info = model('Config')->where(['member_miniapp_id' => $this->member_miniapp_id])->find();            if(empty($info)){                return $this->redirect(url('fastshop/config/setting'),302);            }            $info['rules'] = empty($info->rules) ? [] : json_decode($info->rules,true);            $view['info']  = $info;            return view()->assign($view);        }    }    /**     *  应用配置     * @return void     */    public function setting(){        if(request()->isAjax()){            $data = [                'cycle'              => Request::param('cycle/d',0),                'payment_type_shop'  => Request::param('payment_type_shop/d',0),                'payment_point_shop' => Request::param('payment_point_shop/d',0),                'payment_type'       => Request::param('payment_type/d',0),                'payment_point'      => Request::param('payment_point/d',0),                'lack_cash'          => Request::param('lack_cash/d',0),                'shopping_name'      => Request::param('shopping_name/s','购物积分'),                'amountlimit'        => Request::param('amountlimit/d',0),                'day_ordernum'       => Request::param('day_ordernum/d',0),                'sale_ordernum'      => Request::param('sale_ordernum/d',0),                'old_users'          => Request::param('old_users/d',0),                'is_priority'        => Request::param('is_priority/d',0),                'lock_sale_day'      => Request::param('lock_sale_day/d',0),                'num_referee_people' => Request::param('num_referee_people/d',0),            ];            $validate = $this->validate($data,'config.setting');            if(true !== $validate){                return json(['code'=>0,'msg'=>$validate]);            }            $rel = Configs::where(['member_miniapp_id' => $this->member_miniapp_id])->find();            $data['lack_cash'] = $data['lack_cash']*100;            if(empty($rel)){                $data['member_miniapp_id'] = $this->member_miniapp_id;                $result = Configs::insert($data);            }else{                $result = Configs::where(['id' => $rel->id])->update($data);                  }            if($result){                return json(['code'=>200,'data' => ['url' => url('fastshop/config/setting')],'msg'=>'操作成功']);            }else{                return json(['code'=>0,'msg'=>'操作失败']);            }        }else{            $view['info']  = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);            return view()->assign($view);        }    }    /**     *  应用配置     * @return void     */    public function message(){        if(request()->isAjax()){            $data = [                'message'            => input('post.message/s','','htmlspecialchars'),                'member_miniapp_id'  => $this->member_miniapp_id,            ];            $validate = $this->validate($data,'config.message');            if(true !== $validate){                return json(['code'=>0,'msg'=>$validate]);            }            $rel = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);            if(empty($rel)){                $data['member_miniapp_id'] = $this->member_miniapp_id;                $result =  model('Config')->save($data);            }else{                $result =  model('Config')->save($data,['member_miniapp_id' => $this->member_miniapp_id]);                  }            if($result){                return json(['code'=>200,'data' => ['url' => url('fastshop/config/message')],'msg'=>'操作成功']);            }else{                return json(['code'=>0,'msg'=>'操作失败']);            }        }else{                        $view['info']  = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);            return view()->assign($view);        }    }     /**     *      *  应用配置     * @return void     */    public function configs(){        $info  = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);        return json(['code'=>200,'msg'=>'成功','data'=>$info]);    }}
 |