您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop红包功能添加方法
南莲2025-02-06Ecshop商城教程已有人查阅
导读1.领取红包:也就是传递一个红包ID,和user_id然后update更新过来2.获取未领取过的红包列表:然后随机函数array_rand($arr,1),随机返回一个数组,从而获得红包列表的红包ID以上两步基本满足,领取红包功能。
思路:
1.领取红包:也就是传递一个红包ID,和user_id然后update更新过来
2.获取未领取过的红包列表:然后随机函数array_rand($arr,1),随机返回一个数组,从而获得红包列表的红包ID以上两步基本满足,领取红包功能。
3.判断该用户是否已经领取过红包
基本代码
html代码1:
1.领取红包:也就是传递一个红包ID,和user_id然后update更新过来
2.获取未领取过的红包列表:然后随机函数array_rand($arr,1),随机返回一个数组,从而获得红包列表的红包ID以上两步基本满足,领取红包功能。
3.判断该用户是否已经领取过红包
基本代码
html代码1:
<input type="button" value="领取红包" onClick="bouns(30)">
<script type="text/javascript" src="__PUBLIC__/js/jquery.min.js" ></script>
<script>
function bouns($type_id){
$.ajax({
,
success: function(html){
if(html == 'ok'){
alert('成功领取红包');
}if(html == 'no_bouns'){
alert('已经没有红包了哦');
}if(html == 'no_start_date'){
alert('领取红包的时间还没到哦');
}if(html == 'no_end_date'){
alert('你来晚了哦,红包已经结束了哦');
}if(html == 'pull_bonus'){
alert('你咋又来了呢,每个ID只能领取一次哦');
}
}
});
}
</script>
完整版html代码:
<script>
$(document).ready(function(){
$type_id = '30';
check_user_bonus();
//alert($f);
});
$('#DivBg').click(function(){
$(this).css('display','none');
});
// 领取红包
function bouns(){
$.ajax({
,
success: function(html){
if(html == 'ok'){ // 可以根据返回的值,多做几种选择
alert('成功领取红包');
}else{
alert(html);
}
}
});
}
//检测用户是否领取过红包;领取过,则不显示;未领取就显示红包
function check_user_bonus(){
$.ajax({
,
success: function (html){
if(html !=0){ // 0,显示红包;否则就隐藏红包
$("#DivBg").css('display','none');
}else{
$("#DivBg").css('display','block');
}
}
});
}
</script>
BonusController.php
public function bonus_ajax(){
$type_id = $_GET['type_id'];
$m = model('Bonus')->get_bonus($type_id);
echo $m;
}
BonusModel.class.php
<?php
defined('IN_ECTOUCH') or die('Deny Access');
class BonusModel extends BaseModel {
/**
* 红包
*
* @access private
* @param integer $brand_id
* @return array
*/
// 获取ecs_bouns_type 红包类型
function get_bonus_type($type_id=''){
if(!empty($type_id)){ // 有值获取单个;无值则获取全部
$where = ' where type_id = '.$type_id;
}else{
$where = ' ';
}
$sql = 'select * from '. $this->pre . 'bonus_type '.$where;
$res = $this->query($sql);
return $res;
}
// 获取ecs_user_bouns 红包列表(未被领取的红包)
function get_user_bonus($bouns_type_id=''){
if(!empty($bouns_type_id)){ // 有值获取单个;无值则获取全部
$where = ' where user_id =0 and bonus_type_id = '.$bouns_type_id; //必须是“线下发放红包”
}else{
$where = ' ';
}
$sql = 'select bonus_id from '. $this->pre . 'user_bonus '.$where;
$res = $this->query($sql);
return $res;
}
// 合并红包类型 与红包列表
function bouns_info($bouns_type_id){
$bouns_type = $this->get_bonus_type($bouns_type_id);
$bouns_type[0]['user_bouns'] = $this->get_user_bonus($bouns_type_id);
return $bouns_type;
}
//检测是否重复领取; 已经领取( >1 )
function check_user_bonus($bonus_type_id){
$sql = 'select * from '. $this->pre .'user_bonus where bonus_type_id = '.$bonus_type_id.' and user_id='.$_SESSION['user_id'];
$result = $this->query($sql);
return count($result);
}
// 领取红包
function get_bonus($type_id){
$user_id = $_SESSION['user_id'];
$time = gmtime();
//红包类型
$bonus_type = $this->get_bonus_type($type_id);
// 红包列表
$bouns_list = $this->get_user_bonus($type_id);
// 是否领取过红包
$check_bonus = $this->check_user_bonus($type_id);
// 判断条件
if(empty($user_id)){
$str = 'no_user'; // 1.未登录
}elseif(count($bouns_list) < 1){
$str = 'no_bouns'; // 3.没有红包(红包领取完了)
}elseif($bonus_type[0]['send_type'] !=3){ //2.红包类型不对 ,必须"线下发放红包"
$str = 'send_type_err'; //
}elseif($time < $bonus_type[0]['use_start_date']){ //4.领取红包时间还未到
$str = 'no_start_date';
}elseif($time > $bonus_type[0]['use_end_date']){ //5.领取红包时间还已经结束
$str = 'no_end_date';
}elseif($check_bonus > 0){ // 6.已经领取过红包
$str = 'pull_bonus';
}else{
$rand_key = array_rand($bouns_list,1);
$rand_id = $bouns_list[$rand_key]['bonus_id'];
$sql = "UPDATE ". $this->pre ."user_bonus SET user_id = ".$user_id.",used_time = ".$time." where bonus_id=".$rand_id;
if($this->query($sql)){
$str = 'ok';
}else{
$str = 'err';
}
}
echo $str;
}
}
本文标签:
很赞哦! ()
图文教程
ecshop发票不能使用出现flow.php on line 723等报错的解决方法
ECSHOP模板屋给客户网站做编码转换出现个问题,网站在点结算页面出现Warning: Invalid argument supplied for foreach flow.php on line 723报错
ecshop设置收货人信息怎么实现只显示国家
一般面向国外用户的ECSHOP商城,可能会有这方面的需求:【将Ecshop中收货人信息的省市区设成非必选项】,其实也就是只留一个“请选择国家”的下拉选择框。
ecshop本地安装方法教程
ecshop是一套典型的电子商务解决方案,安装ecshop是为了借鉴ecshop中的处理方案以及利用ecshop的数据主要借鉴的ecshop的后台部分。
ecshop调用指定广告的写法实例
在include/lib_goods.php文件下面新增:二、然后再指定的位置的控制页面增加:例如首页调用,我们在index.php页面增加
相关源码
-
WordPress个人博客主题 - wp-Concise-v1.0免费下载wp-Concise-v1.0是一款专为个人博客设计的简约风格主题,采用全宽排版设计理念,注重内容呈现效果。该模板适用于个人随笔、技术分享、生活记录等博客场景,帮助用户打造专业的内容展示空间。查看源码 -
(自适应)简繁双语机械矿山矿石五金设备pbootcms源码下载本模板基于PbootCMS开发,主要面向机械五金、矿山矿石设备等行业,支持简体中文和繁体中文双语切换。采用响应式布局技术,确保在各种设备上都能获得良好的浏览体验。模板设计注重展示工业设备的专业性和技术特点,帮助企业建立可靠的线上展示平台。查看源码 -
(自适应)光伏测试仪器电站运维设备网站源码免费下载本模板为光伏检测设备与电站运维服务企业设计,采用PbootCMS内核开发,具备完整的设备展示、技术文档管理及客户服务功能模块。通过自适应结构与SEO优化框架,有效提升企业在移动端和搜索引擎中的专业形象。查看源码 -
(自适应响应式)刷卡机POS机无线支付设备pbootcms网站源码下载本模板基于PbootCMS系统开发,为支付终端设备企业设计,特别适合POS机、移动支付终端、刷卡设备等金融科技产品展示。采用响应式布局技术,确保各类支付终端产品在不同设备查看源码 -
(自适应)五金配件机械蓝色营销型pbootcms模板免费下载基于PbootCMS的工业配件展示系统,精简DIV+CSS架构确保响应速度,自适应设计呈现参数表格,支持后台实时更新产品规格、在线留言等内容。查看源码 -
(自适应)大型农业机械设备水稻玉米收割机网站pbootcms源码下载本模板基于PbootCMS内核开发,为农业机械设备制造与销售企业设计,特别适合水稻玉米收割机、拖拉机、播种机等农用机械展示。模板充分考虑了农机行业的特性,从产品展示到技术参数,从作业案例到售后服务查看源码
| 分享笔记 (共有 篇笔记) |
