基于微擎 砍价活动

功能需求:

1、添加砍价活动(这里是教育项目,砍价活动为课程中的一个分类)

2、用户第一次砍价,成为砍主

3、用户可以邀请好友帮自己砍价(一个好友只能帮一个用户砍价一次)

接口:

用户成为砍主

//用户砍价(成为砍主)
    public function doPagebeBargainer()
    {
        global $_W,$_GPC;
        $uniacid = $_W['uniacid'];
        $id = $_GPC['id'];  //砍价活动id
        $uid = $_GPC['uid'];  //当前用户(砍主)
        //根据uid查询当前用户(砍主)信息(用户是否存在)
        $userinfo = pdo_fetch("select * from " . tablename('yzpx_sun_user') . " where id='$uid'");
        if (!$userinfo) {
            return $this->result(1, 'error', '未找到该用户');
        }
        //判断重复提交
        $kanzhu = pdo_fetch("select * from " . tablename('yzpx_sun_bargain') . " where uid='$uid' and cid='$id' and help_uid=0 ");
        if ($kanzhu) {
            return $this->result(1, 'error', '你已经是该活动砍主,可邀请好友帮砍');
        }
        //获取当前砍价课程  这里要获取当前课程的砍价范围,砍价次数
        $bargainInfo = pdo_get('yzpx_sun_course', array('uniacid' => $_W['uniacid'], 'id' => $_GPC['id']));
        $kanjia_num = $bargainInfo['bargain_num'];  //砍价次数
        $cut = $bargainInfo['money'] - $bargainInfo['nowmoney'];  //砍价的范围  原价-底价
        // echo $cut;exit();
        $cutmoney = rand(0, $cut)*0.5;
        // echo $cutmoney;exit();
        $now_money =  $bargainInfo['money'] - $cutmoney;
        // 搜集数据
        $data = array();
        $data['cid'] = $id;  //活动id
        $data['uid'] = $uid;   //砍主(当前用户id)
        $data['now_money'] = $now_money;
        $data['kj_money'] = $cutmoney;
        $data['help_uid'] = 0;//为砍主
        $data['createtime'] = time();
        $data['uniacid'] = $_W['uniacid'];
        $data['username'] = $userinfo['user_name'];
        $data['headurl'] = $userinfo['headimg'];
        $data['help_num'] = 1;
        $data['isbuy'] = 0; //0未购买  1已购买
        $res = pdo_insert('yzpx_sun_bargain', $data);
        if($res){
            //该课程参与人数
            $num=1;
            pdo_update('yzpx_sun_course', array('signnum +=' => $num), array('id' => $id));
            return $this->result(0, 'success', $cutmoney);
        }else{
            return $this->result(1, 'error', '操作失败');
        }
    }

邀请好友帮砍

//好友帮砍
    public function doPagebarginHelper()
    {
        global $_GPC, $_W;
        //接受参数
        $uniacid = $_W['uniacid'];
        $id = $_GPC['id'];  //砍价活动id
        $uid = $_GPC['uid'];
        //获取当前砍价课程  这里要获取当前课程的砍价范围,砍价次数
        $bargainInfo = pdo_get('yzpx_sun_course', array('uniacid' => $_W['uniacid'], 'id' => $_GPC['id']));
        //查询已经砍价的次数
        $num = pdo_fetchcolumn("select count(*) from " . tablename("yzpx_sun_bargain")  ."where uniacid=" . $uniacid . " and uid=" . $uid . " and cid=" . $id . "");
        //剩余砍价次数
        $sy_num = $bargainInfo['bargain_num'] - $num;  //如果剩余砍价次数为0   禁止砍价
        //先查询砍主  
        $master = pdo_get('yzpx_sun_bargain', array('help_uid' => '0', 'cid' => $_GPC['id'], 'uid' => $_GPC['uid'],'uniacid' => $_W['uniacid']));
        //判断一个好友只能帮助一次
        $helper = pdo_get('yzpx_sun_bargain', array('help_uid' => $_GPC['help_uid'], 'cid' => $_GPC['id'], 'uid' => $_GPC['uid'],'uniacid' => $_W['uniacid']));
        if ($helper) {
            return $this->result(1, 'error', '不能重复帮砍');
        }
        //查询当前活动帮砍的最后一位好友(包含砍主)
        $sql3 = "SELECT * FROM ims_yzpx_sun_bargain WHERE uid = " . $uid . " and cid=" . $id . " Order BY id desc";
        $helperList = pdo_fetchall($sql3);
        //获取当前砍价课程  这里要获取当前课程的砍价范围,砍价次数
        $bargainInfo = pdo_get('yzpx_sun_course', array('uniacid' => $_W['uniacid'], 'id' => $_GPC['id']));
        $cutMax = $helperList[0]['now_money'] - $bargainInfo['nowmoney'] ;  //随机数的上限 
        //如果当前是最后一位
        if($sy_num <= 1){
            $cutmoney = $cutMax;
        }else{
            $cutmoney = rand(0, $cutMax)*0.5;
        }
        $now_money = $cutMax - $cutmoney; 
        $nowprice = $now_money + $bargainInfo['nowmoney'];
        // 搜集数据
        $data = array();
        $data['cid'] = $id;  //活动id
        $data['uid'] = $uid;   //砍主(当前用户id)
        $data['now_money'] = $nowprice;
        $data['kj_money'] = $cutmoney;  //砍掉的金额
        $data['help_uid'] = $_GPC['help_uid'];  //帮砍好友的id
        $data['createtime'] = time();
        $data['uniacid'] = $_W['uniacid'];
        $data['username'] = $_GPC['user_name'];
        $data['headurl'] = $_GPC['headimg'];
        $data['help_num'] = 1;
        $data['isbuy'] = 0; //0未购买  1已购买
        $res1 = pdo_insert('yzpx_sun_bargain', $data);
        //修改砍主的信息(当前金额  帮砍次数)
        $num = pdo_fetchcolumn("select count(*) from " . tablename("yzpx_sun_bargain")  ."where uniacid=" . $uniacid . " and uid=" . $uid . " and cid=" . $id . "");
        $datas['now_money'] = $nowprice;
        $datas['help_num'] = $num-1;  //减去自己的一次
        $res2 = pdo_update('yzpx_sun_bargain', $datas, array('id' => $master['id'],'uniacid' => $_W['uniacid']));
        if($res2){
            return $this->result(0, 'success', $cutmoney);
        }else{
            return $this->result(1, 'error', '帮砍失败');
        }   
    }

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值