广告电商系统开发功能和源码分享

 

最近开发了一套广告电商系统,广告电商系统是基于电商系统+看广告收益模式来运营的。广告电商系统包括4个子系统:商城系统,广告系统,盲盒系统,分销系统


下面我就广告电商系统的几个大功能模块来介绍一下,文字底部是广告电商系统的核心源码分享给大家

广告电商系统

商城功能:


免费注册邀请码注册制,基于社群私域流量分发


购买产品赠送相应的积分,积分可以用兑换看广告的任务,不同的积分开启不同的广告任务,例如100元的产品赠送100元的积分,500元的产品赠送500元的积分,积分可以开启相应的广告任务


广告系统功能:


看广告任务的开启:

例如:100积分开启的广告任务等级未青铜任务,每天看广告次数也是青铜任务的奖励;1000积分开启的广告任务为白银任务,那么对应的奖励为白银梯度的看广告奖励


系统总体的程序规则是,不同的积分梯度对应不同的广告任务等级,对应不同的看广告次数和红包奖励,这种模式对于商城购买产品来促进商城用户购买产品。


关于商城积分和广告的关系,商城的积分和广告的任务积分需求是一比一关联的


看广告的奖励收益发放:

当广告视频播放完毕后,实时发放到会员的账户里,这是来自于平台的广告收益,用户可以随时提现。


系统提现:


系统可以自由设定最小提现额度,例如:10元起提,10的整数倍起提,提现手续费率,提现时间段


广告任务操作:


进入广告区,点击视频广告,每个视频广告的播放时间都不一样的,等视频播放完毕广告奖励自动发放到会员账户里


盲盒系统功能

盲盒类别区自由分区,可以是各种价格级别的盲盒;自由设定每个盲盒类别的产品;盲盒自带控盘中奖设定;用户下单盲盒中奖后,可以选择获得产品,也可以不好产品,选择寄售模式,一旦寄售成功过,售出产品的钱自动转到会员账户里


分销系统功能


系统设定会员邀请制,注册会员,N1,N2,N3,N4等级会员,N1到N5等级会员为购买过产品的会员,每个等级的晋升都有条件参数控制,例如可以是购买产品的总额,推荐的有效会员数量,直推的有效会员数量等来设定。


 


广告电商系统部分源码之团队分润


protected static function sendReward( $spread_uid, $money, $level=0, $eq = 0,$up_level=0)

    {

        if( $money < 0.01 ) return false;

        $user_info = User::where('uid',$spread_uid)->field('uid,spread_uid,now_money,level')->find();

        if( !$user_info ) return false;

        $user_info = $user_info->toArray();

        //看是否有等级 或者 已经触发过平级且等于当前等级的

        if( $user_info['level'] < 1 || ( $eq == 1 && $level == $user_info['level'] ) )

            return self::sendReward($user_info['spread_uid'],$money,$level,$eq,$up_level);


        $level_info = SystemUserLevel::where('id',$user_info['level'])->find();

        //看是否有等级

        if( !$level_info )

            return false;


        $level_info = $level_info->toArray();


        //如果上级等级小于当前需要查询的等级

        if( $user_info['level'] < $level )

            return self::sendReward($user_info['spread_uid'],$money,$level,$eq,$up_level);


        // ::todo 计算当前level等级的团队奖励。方便计算奖励时的级差;没有则为0;

        $level_rate = SystemUserLevel::where('id',$user_info['level'] > $level ? $level : $up_level)->value('team_rate',0);

        //计算等级奖励

        // ::todo 我的奖励 = (我的等级团队比例-下级等级团队比例)*总金额/100;

        $reward_money = bcdiv(bcmul(bcsub($level_info['team_rate'],$level_rate,2),$money,2),100,2);


        //如果团队奖励没有, 等级+1;平级=0 继续查找;

        if( $level_info['team_rate'] == 0 )

        {

            $level++;

            $eq = 0;

            return self::sendReward($user_info['spread_uid'],$money,$level,$eq,$up_level);

        }


        // :todo 如果发生平级了,那我的奖励 = (我的等级平级奖励 * 我的等级对应的团队奖励)/100;

        if( $eq == 0 && $user_info['level'] == $level )

        {

            //平级拿上级的百分比;

            $reward_money = bcdiv(bcmul($level_info['eq_rate'],$reward_money,2),100,2);

            $eq = 1;

        }

        //如果用户等级大于当前等级,则eq=0;

        if( $user_info['level'] > $level )

            $eq = 0;


        $up_level = $level;

        $level = $user_info['level'];

        if( $reward_money < 0.01 )

            return self::sendReward($user_info['spread_uid'],$money,$level,$eq,$up_level);


        //发放奖励

        User::bcInc($user_info['uid'],'now_money',$reward_money,'uid');

        UserBill::income('团队奖励',$user_info['uid'],'now_money','team_reward',$reward_money,'',bcadd($user_info['now_money'],$reward_money,2),'团队奖励获得:'.$reward_money.'元');


        //发送消息

        UserMessage::sendMessage($user_info['uid'],'团队奖励','恭喜您,由于您的伞下会员观看广告,您获得团队奖励'.$reward_money.'元哦~~~');



        if( $user_info['spread_uid'] > 0 )

            return self::sendReward($user_info['spread_uid'],$money,$level,$eq,$up_level);


        return true;

    }