功能需求:
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', '帮砍失败');
}
}