多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
文件路径:shop/controllers/Seller/Promotion/MeetConditionGiftCtl.php 一、满送列表【方法:index();】 * 控制器:shop/controllers/Seller/Promotion/MeetConditionGiftCtl.php ->index() * 模型:shop/models/ManSong/QuotaModel.php shop/models/ManSong/BaseModel.php * 视图:shop/views/default/Seller/Promotion/MeetConditionGiftCtl/index.php 1.套餐过期时间及备注 ~~~ if (!$this->self_support_flag) //普通店铺 { $com_flag = $this->combo_flag; if ($this->combo_flag)//套餐可用 { $combo = $this->manSongQuotaModel->getManSongQuotaDetailByWhere(array('shop_id' => Perm::$shopId)); } } //店铺下的满送活动列表 $data = $this->manSongBaseModel->getManSongActList($cond_row, array('mansong_id' => 'ASC'), $page, $rows); ~~~ 2.活动状态 模型:shop/models/ManSong/BaseModel.php 参数:mansong_state(0.全部1.正常 2.已结束 3.管理员关闭) ~~~ // 活动状态 1-正常/2-已结束/3-管理员关闭) const NORMAL = 1;//正常 const END = 2;//结束 const CANCEL = 3;//管理员关闭 ~~~ 3.活动详情 参数:detail、id 方法:index(); 视图:shop/views/default/Seller/Promotion/MeetConditionGiftCtl/detail.php 根据URL获得参数detail、id来判断当前页面 ~~~ if (request_string('op') == 'detail') { if (request_int('id')) { $data = $this->manSongBaseModel->getManSongActItem(array( 'shop_id' => Perm::$shopId, 'mansong_id' => request_int('id') )); } $this->view->setMet('detail'); } ~~~ 4.删除满即送 * 控制器:shop/controllers/Seller/Promotion/MeetConditionGiftCtl.php ->removeManSong() * 模型:shop/models/ManSong/BaseModel.php * 视图:shop/views/default/Seller/Promotion/MeetConditionGiftCtl/index.php 二、新增活动 1.活动开始时间:不得小于当前时间,且小于套餐结束时间 2.活动结束时间:不得小于当前时间,且小于套餐结束时间 3.满即送规则:通过AJAX获得店铺可以参加活动的商品 方法:getShopGoods(); 视图:Seller/Promotion/MeetConditionGiftCtl/getShopGoods.php ~~~ $('#btn_show_search_goods').on('click', function(){ $('.search-goods-list').show(); $('.btn_search_goods').click(); }); $('.btn_search_goods').on('click', function() { var url = "index.php?ctl=Seller_Promotion_MeetConditionGift&met=getShopGoods&typ=e"; var key = $("#key").val(); url = key ? url + "&goods_name=" + key : url; $('.search-goods-list-bd').load(url); }); ~~~ 4.提交 新增活动提交时进行表单验证:`$('#form').validator({})` 方法:addManSong() 满送活动针对的是整个店铺的商品 只要订单的总金额满足满送规则限制,即可参加活动 满送活动一经编辑发布后不可修改 同一个时间段内只能有一个满送活动 ~~~ if(strtotime(request_string('mansong_start_time')) <= strtotime($mansong_start_date_limit)) { $check_post_data_flag = false; $msg_label = __('满级送活动时间段不能重叠!'); } ~~~ 三、套餐管理【方法:combo();】 1、套餐活动列表 * 控制器:shop/controllers/Seller/Promotion/MeetConditionGiftCtl.php ->combo() * 模型:shop/models/Shop/CostModel.php * 视图:shop/views/default/Seller/Promotion/MeetConditionGiftCtl/combo.php 套餐活动列表 `$data = $this->shopCostModel->listByWhere($cond_row,$order_row,$page, $rows);` 2.、购买套餐 * 视图:shop/views/default/Seller/Promotion/MeetConditionGiftCtl/combo.php * 控制器:shop/controllers/Seller/Promotion/MeetConditionGiftCtl.php ->addCombo() * 模型:shop/models/ManSong/QuotaModel.php shop/models/Shop/BaseModel.php shop/models/ManSong/BaseModel.php (1)购买套餐时提交时进行表单验证:`$('#form').validator({})` (2)在店铺的账期结算中扣除相关费用并且在paycenter中添加交易记录 参数:店铺id,根据店铺id号获取店铺套餐详情 1、原套餐已经过期,更新套餐开始时间和结束时间 2、原套餐尚未过期,只需更新结束时间 3、如果没有套餐详情,则套餐购买