随笔 - 134  文章 - 3  评论 - 15  阅读 - 10万

竞拍秒购电商核心源码分享

竞拍电商系统的核心业务逻辑如下:
用户注册购买积分,有积分后必须兑换成提货券, 兑换提货券后会获得 1:1 的广告值,广告值在进行预约活动和寄售活动销毁。

1、购物积分:通过平台商城商品区购买原价商品或通过向推荐人线下转账直接购买积分。2、提货劵:获得积分后在平台商城兑换区 1:1 兑换成提货券,提货劵是平台商城提货“唯一凭证“,当提货券达到平台自定义数值,用户必须消除提货券进行商品交割,否则用户将不能继续参加预约活动。3、广告值:兑换提货劵时平台额外赠送 1:1 广告值,有了广告值才能参与预约抢购活动,预约前需要冻结广告值(可冻结,可解冻)。

以下是竞拍秒购电商核心源码分享
预约部分代码段

复制代码
if(!$spirit_id)return app('json')->fail('参数错误');
$data1 =  YueOrder::where(['uid'=>$request->uid(),'cid'=>$spirit_id,'is_del'=>0])->whereDay('add_time')->find();
if($data1 ) return app('json')->fail('重复预约');
$quYuInfo = ActiveModel::find($spirit_id);
$user = $request->user();
if($quYuInfo->helpCard > $user->help_card)return app('json')->fail('帮抢卡不足');
$user = $request->user();
if($quYuInfo->jifen > $user['integral'] )return app('json')->fail('积分不足');
 
复制代码

抢购代码段

复制代码
$cache_name = 'cache_purchase_'.$request->uid();
if( cache($cache_name) )
    return app('json')->fail('请勿频繁请求');
cache($cache_name,1,2);
$redis = Redis::instance();
$s1 = ExperienceModel::where(['uid'=>$request->uid(),'status'=>1,'order_id'=>0])->where('end_time','>',time())->find();
if(!$s1)return app('json')->fail('该场次没有预约记录');
$s2 =ExperienceModel::where(['uid'=>$request->uid(),'status'=>1])->where('order_id','>',0)->where('end_time','>',time())->find();
if($s2)return app('json')->fail('已经抢过了');//判断今天预约的记录是否抢购过
$yid = ExperienceModel::where(['status'=>1,'order_id'=>0])->where('end_time','>',time())->where('uid',$request->uid())->value('id');
$pid = $redis->rPop('T');
if(!$pid)return app('json')->fail('没有抢到,请稍后再试');
复制代码
复制代码
$redis = Redis::instance();
if(!$cid)return app('json')->fail('请求参数错误');
$s1 = YueOrder::where(['uid'=>$request->uid(),'cid'=>$cid,'order_id'=>0,'is_del'=>0,'suo'=>1])->whereDay('add_time')->find();
if(!$s1)return app('json')->fail('该场次没有预约记录');
$s2 =YueOrder::where(['uid'=>$request->uid(),'cid'=>$cid,'is_del'=>0,'suo'=>0])->where('order_id','>',0)->whereDay('add_time')->find();
if($s2)return app('json')->fail('该场次今天已经抢过了');//判断今天预约的记录是否抢购过
$yid = YueOrder::where(['cid'=>$cid,'order_id'=>0,'is_del'=>0,'suo'=>1])->whereDay('add_time')->where('uid',$request->uid())->field('id,quid')->find();
$aid = ActiveQuYu::where('id',$yid['quid'])->value('name');
//查询白名单
$pid = 0;
$white_list = WhiteListModel::where('is_del',0)->field('uid')->select()->toArray();
$white_list = array_column($white_list,'uid');
复制代码

 

posted on   程序员李铁牛  阅读(417)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类

点击右上角即可分享
微信分享提示