www.lightcourse.com/app/admin/controller/Promotionbundling.php

223 lines
8.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
namespace app\admin\controller;
use think\facade\View;
use think\facade\Lang;
/**
* ============================================================================
* 联课教育商城系统
* ============================================================================
* 版权所有 2022 刻羽互动科技有限公司,并保留所有权利。
* 网站地址: http://www.o1h.cn
* ----------------------------------------------------------------------------
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
* 不允许对程序代码以任何形式任何目的的再发布。
* ============================================================================
* 控制器
*/
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 index()
{
$pbundling_model = model('pbundling');
// 查询添加
$where = '';
if (input('param.bundling_name') != '') {
$where[] = array('bl_name','like', '%' . trim(input('param.bundling_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('ds_close'), 1 => lang('ds_open'));
View::assign('state_array', $state_array);
$this->setAdminCurItem('index');
return View::fetch();
}
/**
* 套餐活动添加
*/
public function bundling_add() {
/**
* 实例化模型
*/
$pbundling_model = model('pbundling');
if (request()->isPost()) {
// 插入套餐
$data = array();
$bl_id = intval(input('post.bundling_id'));
if ($bl_id <= 0) {
$data['bl_name'] = input('post.bundling_name');
$data['bl_discount_price'] = input('post.discount_price');
$data['bl_freight_choose'] = input('post.bundling_freight_choose');
$data['bl_freight'] = input('post.bundling_freight');
$data['bl_state'] = intval(input('post.state'));
$bl_id = $pbundling_model->addBundling($data);
if (!$bl_id) {
ds_json_encode(10001,lang('ds_common_op_fail'));
}
} else {
$condition = array();
$condition[] = array('bl_id','=',$bl_id);
$data['bl_name'] = input('post.bundling_name');
$data['bl_discount_price'] = input('post.discount_price');
$data['bl_freight_choose'] = input('post.bundling_freight_choose');
$data['bl_freight'] = input('post.bundling_freight');
$data['bl_state'] = intval(input('post.state'));
$pbundling_model->editBundling($data, $condition);
}
// 插入套餐商品
$goods_model = model('goods');
$data_goods = array();
$appoint_goodsid = false;
if (input('post.bundling_id')) {
$pbundling_model->delBundlingGoods(array('bl_id' => $bl_id));
}
$goods_array = input('post.goods/a');#获取数组
if (!empty($goods_array) && is_array($goods_array)) {
foreach ($goods_array as $key => $val) {
// 验证是否为本店铺商品
$goods_info = $goods_model->getGoodsInfoByID($val['gid']);
if (empty($goods_info)) {
continue;
}
$data = array();
$data['bl_id'] = $bl_id;
$data['goods_id'] = $goods_info['goods_id'];
$data['goods_commonid'] = $goods_info['goods_commonid'];
$data['goods_name'] = $goods_info['goods_name'];
$data['goods_image'] = $goods_info['goods_image'];
$data['blgoods_price'] = ds_price_format($val['price']);
$data['blgoods_appoint'] = intval($val['appoint']);
if (!$appoint_goodsid && intval($val['appoint']) == 1) {
$appoint_goodsid = intval($val['gid']);
}
$data_goods[] = $data;
}
}
// 插入数据
$return = $pbundling_model->addBundlingGoodsAll($data_goods);
$this->log('添加优惠套装,名称:' . input('post.bundling_name') . ' id' . $return);
ds_json_encode(10000,lang('ds_common_op_succ'));
} else {
// 是否能使用编辑器
$editor_multimedia = true;
View::assign('editor_multimedia', $editor_multimedia);
if (intval(input('param.bundling_id')) > 0) {
$bundling_info = $pbundling_model->getBundlingInfo(array('bl_id' => intval(input('param.bundling_id'))));
View::assign('bundling_info', $bundling_info);
$b_goods_list = $pbundling_model->getBundlingGoodsList(array('bl_id' => intval(input('param.bundling_id'))));
if (!empty($b_goods_list)) {
$goodsid_array = array();
foreach ($b_goods_list as $val) {
$goodsid_array[] = $val['goods_id'];
}
$goods_list = model('goods')->getGoodsList(array(array('goods_id','in', $goodsid_array)), 'goods_id,goods_price,goods_image,goods_name');
View::assign('goods_list', array_under_reset($goods_list, 'goods_id'));
}
View::assign('b_goods_list', $b_goods_list);
// 输出导航
$this->setAdminCurItem('bundling_edit');
} else {
$this->setAdminCurItem('bundling_add');
}
return View::fetch('bundling_add');
}
}
/**
* 套餐活动添加商品
*/
public function bundling_add_goods() {
/**
* 实例化模型
*/
$goods_model = model('goods');
// where条件
$where = array();
if (trim(input('param.keyword')) != '') {
$where[] = array('goods.goods_name','like', '%' . trim(input('param.keyword')) . '%');
}
$goods_list = $goods_model->getGoodsListForPromotion($where, 'goods.goods_id,goods.goods_commonid,goods.goods_name,goods.goods_image,goods.goods_price,goods.goods_serial,goods.goods_storage', 8, 'bundling');
View::assign('show_page', $goods_model->page_info->render());
View::assign('goods_list', $goods_list);
echo View::fetch( 'bundling_add_goods');exit;
}
/**
* 删除套餐活动
*/
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) {
$this->success(lang('ds_common_op_succ'));
}
else {
$this->error(lang('ds_common_op_fail'));
}
}
protected function getAdminItemList()
{
$menu_array = array(
array(
'name' => 'index',
'text' => lang('bundling_list'),
'url' => url('Promotionbundling/index')
),
array(
'name' => 'bundling_add',
'text' => lang('bundling_add'),
'url' => url('Promotionbundling/bundling_add')
),
);
return $menu_array;
}
}