php实现团购,团购

步骤1

$url='http://localhost/lvshi/index.php/Api/Order/dd/id/'.$id.'.html';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//将curl_exec()获取的信息以文件流的形式返回,不直接输出。

注意顺序调用

curl_setopt($ch, CURLOPT_TIMEOUT, 1);

//不用等待返回值需要加这个

curl_exec($ch);

dump(curl_error($ch)); //查出错

curl_close($ch);

//需要做团购是。只需要判断是否是团长,如果是团长就调用这个,这个会请求另外一个方法,只停留一秒然后立马返回小程序需要的数据,

//而另外一个方法会一直等待到点后计算团购是否成功。

步骤2

public function dd(){

ini_set('max_execution_time','0');

//设置脚本执行时间

$id=I("get.id");

//获取orderid,必须要在之前获取,如果之后获取,会获取不到

file_put_contents('1.txt',5555,FILE_APPEND);

//写日志,代替dump

$time=50;

//成团剩余秒数 需要自己计算传值过来

sleep($time);

/沉睡秒数

//一下为业务逻辑

$result=M('order')->where(['id'=>$id])->find();

if($result){

M('order')->where(['id'=>$id])->save(['status'=>60]);

}else{

M("order")->add(['id'=>$id]);

}

}

以上步骤为开发环境可以但是生产环境不行

一下

为生产环境遐想

前提:

1 一个团购商品可以同时多个开团。

2 3天为团购时间,到达3人即可为团购成功

3 当前团购达成,当前团队关闭(假如3天为团购时间,到达3人即可为团购成功,当3天内达成3人。就关闭当前团购队伍,去发货(团购成功))

一 当用户一进去选择一个团购的商品进行开团。我们会标识这个用户为团长,并且得到关闭团购的时间戳(即当前时间戳33600*24),并且设置统一状态"s"为0 type1(团购通道开启中);

当拼团成功,即在时间内完成3人购买,就改变S为1拼团成功 type 2 (团购通道关闭)

当拼团失败时。

我们有计划任务,妹分钟都执行一个方法。 此方法会拿当前时间对比关闭团购的时间戳,如果大于就会把所有的订单其中。S= 的改状态为3(3为拼团失败),并且关闭团购通道。同时退款

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值