123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- <?php
- namespace app\admin\controller;
- use think\facade\View;
- use think\facade\Lang;
- /**
-
- *
-
- *
- * ----------------------------------------------------------------------------
- *
-
- * 控制器
- */
- class Promotionbundling extends AdminControl
- {
- public function initialize()
- {
- parent::initialize(); // TODO: Change the autogenerated stub
- Lang::load(base_path() . 'admin/lang/' . config('lang.default_lang') . '/promotionbundling.lang.php');
- }
- /**
- * 套餐管理
- */
- public function bundling_quota()
- {
- //自动开启优惠套装
- if (intval(input('param.promotion_allow')) === 1) {
- $config_model = model('config');
- $update_array = array();
- $update_array['promotion_allow'] = 1;
- $config_model->editConfig($update_array);
- }
- $pbundling_model = model('pbundling');
- // 查询添加
- $where = array();
- if (input('param.store_name') != '') {
- $where[] = array('store_name', 'like', '%' . trim(input('param.store_name')) . '%');
- }
- if (is_numeric(input('param.state'))) {
- $where[] = array('blquota_state', '=', intval(input('param.state')));
- }
- $bundlingquota_list = $pbundling_model->getBundlingQuotaList($where, 10);
- View::assign('show_page', $pbundling_model->page_info->render());
- // 状态数组
- $state_array = array(0 => lang('bundling_state_0'), 1 => lang('bundling_state_1'));
- View::assign('state_array', $state_array);
- $this->setAdminCurItem('bundling_quota');
- View::assign('bundlingquota_list', $bundlingquota_list);
- return View::fetch();
- }
- /**
- * 活动管理
- */
- public function index()
- {
- $pbundling_model = model('pbundling');
- // 查询添加
- $where = '';
- if (input('param.bundling_name') != '') {
- $where[] = array('bl_name', 'like', '%' . trim(input('param.bundling_name')) . '%');
- }
- if (input('param.store_name') != '') {
- $where[] = array('store_name', 'like', '%' . trim(input('param.store_name')) . '%');
- }
- if (is_numeric(input('param.state'))) {
- $where[] = array('bl_state', '=', input('param.state'));
- }
- $pbundling_list = $pbundling_model->getBundlingList($where, '*', 'bl_id desc', 10);
- $pbundling_list = array_under_reset($pbundling_list, 'bl_id');
- View::assign('show_page', $pbundling_model->page_info->render());
- if (!empty($pbundling_list)) {
- $blid_array = array_keys($pbundling_list);
- $bgoods_array = $pbundling_model->getBundlingGoodsList(array(array('bl_id', 'in', $blid_array)), 'bl_id,goods_id,count(*) as count', 'blgoods_appoint desc', 'bl_id');
- $bgoods_array = array_under_reset($bgoods_array, 'bl_id');
- foreach ($pbundling_list as $key => $val) {
- $pbundling_list[$key]['goods_id'] = isset($bgoods_array[$val['bl_id']]['goods_id']) ? $bgoods_array[$val['bl_id']]['goods_id'] : '';
- $pbundling_list[$key]['count'] = isset($bgoods_array[$val['bl_id']]['count']) ? $bgoods_array[$val['bl_id']]['count'] : '';
- }
- }
- View::assign('pbundling_list', $pbundling_list);
- // 状态数组
- $state_array = array(0 => lang('bundling_state_0'), 1 => lang('bundling_state_1'));
- View::assign('state_array', $state_array);
- // 输出自营店铺IDS
- // View::assign('flippedOwnShopIds', array_flip(model('store')->getOwnShopIds()));
- View::assign('flippedOwnShopIds', '');
- $this->setAdminCurItem('index');
- return View::fetch();
- }
- /**
- * 设置
- */
- public function bundling_setting()
- {
- // 实例化模型
- $config_model = model('config');
- if (request()->isPost()) {
- // 验证
- $data = [
- 'promotion_bundling_price' => input('post.promotion_bundling_price'),
- 'promotion_bundling_sum' => input('post.promotion_bundling_sum'),
- 'promotion_bundling_goods_sum' => input('post.promotion_bundling_goods_sum')
- ];
- $promotionbundling_validate = ds_validate('promotionbundling');
- if (!$promotionbundling_validate->scene('bundling_setting')->check($data)) {
- $this->error($promotionbundling_validate->getError());
- }
- $data['promotion_bundling_price'] = intval(input('post.promotion_bundling_price'));
- $data['promotion_bundling_sum'] = intval(input('post.promotion_bundling_sum'));
- $data['promotion_bundling_goods_sum'] = intval(input('post.promotion_bundling_goods_sum'));
- $return = $config_model->editConfig($data);
- if ($return) {
- $this->log(lang('ds_set') . lang('ds_promotion_bundling'));
- dsLayerOpenSuccess(lang('ds_common_op_succ'));
- } else {
- $this->error(lang('ds_common_op_fail'));
- }
- } else {
- $this->setAdminCurItem('bundling_setting');
- // 查询setting列表
- $setting = rkcache('config', true);
- View::assign('setting', $setting);
- return View::fetch();
- }
- }
- /**
- * 删除套餐活动
- */
- public function del_bundling()
- {
- $bl_id = intval(input('param.bl_id'));
- if ($bl_id <= 0) {
- $this->error(lang('param_error'));
- }
- $rs = model('pbundling')->delBundlingForAdmin(array('bl_id' => $bl_id));
- if ($rs) {
- ds_json_encode(10000, lang('ds_common_op_succ'));
- } else {
- ds_json_encode(10001, lang('ds_common_op_fail'));
- }
- }
- protected function getAdminItemList()
- {
- $menu_array = array(
- array(
- 'name' => 'index',
- 'text' => lang('bundling_list'),
- 'url' => (string)url('Promotionbundling/index')
- ), array(
- 'name' => 'bundling_quota',
- 'text' => lang('bundling_quota'),
- 'url' => (string)url('Promotionbundling/bundling_quota')
- ), array(
- 'name' => 'bundling_setting',
- 'text' => lang('bundling_setting'),
- 'url' => "javascript:dsLayerOpen('" . (string)url('Promotionbundling/bundling_setting') . "','" . lang('bundling_setting') . "')"
- ),
- );
- return $menu_array;
- }
- }
|