php三级分销/多级分销

<?php
/**
 * Created by PhpStorm.
 * User: guojuqi
 * Email: 735345789@qq.com
 * Date: 2020/5/7
 * Time: 9:51
 */

namespace app\api\service;

use think\Cache;
use think\Db;

class FxService
{
    protected $level;
    protected $money;
    protected $userDbObj;

    /**
     * FxService constructor.
     * @param $level
     */
    public function __construct($level = '')
    {
        if ($level == '') {
            $level = Cache::get('fx_config');
            if (!$level) {
                $level = $this->getFxLevelConfig();
                Cache::set('fx_config', $level, 3600 * 24);
            }
        }
        $this->level = $level;
        $this->userDbObj = Db::name('members');
    }
    public function getFxLevelConfig()
    {
        $return = false;
        $level = Db::name('n_config')->where('name', 'fx')
            ->order('key asc')->field('value')->select()->toArray();
        foreach ($level as $k => $v) {
            $return[] = $v['value'];
        }
        return $return;
    }

    /**
     * 设置金额
     * @param $money
     */
    public function setMoney($money)
    {
        $this->money = $money;
    }
    //$level = [55, 14, 11, 7, 5, 3];

    /**
     * @param $id
     * @return array|bool
     */
    public function getYj($id)
    {
        $member = $this->queryDb($id);
        if (!$member) {
            return false;
        }
        $data = [];
        foreach ($this->level as $k => $v) {
            //用户7 id为71 拿去100的百分之55
            $fund = $this->money * $v * 0.01;
            $data[$member['id']] = $fund;
            //查询 用户7 上级信息
            $member = $this->queryDb($member['parent_id']);
            if (empty($member)) {
                break; //结束循环
            }
        }
        return $data;
    }

    /**
     * 设置db对象
     * @param $userDbObj
     */
    public function setUserObj($userDbObj)
    {
        $this->userDbObj = $userDbObj;
    }

    /**
     * db对象
     * @param $id
     * @return mixed
     */
    public function queryDb($id)
    {
        return $this->userDbObj->where('id', $id)->field('id, parent_id')->find();
    }
}

调用

数据入库

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
打开dns.37it.cn免费申请二级域名解析方可使用 否则会出现00002993错误 用替换工具ultrareplace,文本编辑工具:Notepad++ 下面是需要替换的地方 ceshi.vvei.cn 超级人脉管家 http://mp.weixin.qq.com/s?__biz=MzA4MTI1OTI1OA==&mid=212268202&idx=1&sn=581c81665c013e1ee5c01db440df2593#rd 这个到时候自己撰写一份新手指南替换 掉 http://123.com/index.php?g=Admin&m=Login&a=index 后台地址 admin admin888 微信管理>>自定义回复 修改 http://ceshi.vvei.cn/ 替换为 你的网站 1、数据库连接地址:Public\Conf\config.php 2、微信菜单修改:Public\Conf\button_config.php,然后“微信管理”-“菜单管理”-“重新生成菜单”。 另下面三行代码请修改: $link_config (还没有关注的,引导关注,点击“立即关注”进入微信文章) $config_good_pic (购买时,页面上面的产品图) $headimgurl (没有购买前的头部左上角LOGO) 3、公众号里面的支付授权目录:直接域名就可以 支付回调URL:直接域名就可以 告警通知URL:先空着 4、更“换推广二维码”图片,图片在根目录保持格式、名字不变。记得在服务器根目录/imgpublic里删除其它多余的图片,只留benbendou.jpg即可。 5、页面的CSS在这里改:Application\Tpl\App\default\Public\Static\css 6、如果头像出不来,可以把根目录的imgpublic文件夹权限设为777 7、微信支付前显示的图片: Application\Tpl\App\default\Public\Static\images\productsinfo.jpg 对应更改的文件:Application\Tpl\App\default\Index\pay.html 8、更改下单时的“备注”内容:Application\Tpl\App\default\Index\index.html 9、关于修改微信关注后回复的内容目录地址: Application\Lib\Action\Admin\WechatAction.class.php 可修改第249,263,267行,可修改中文汉字,不要修改参数代码。 =============================================================== 后台登录:http://您的域名/index.php?g=Admin 初始帐号:admin 密 码:admin888
好的,关于php三级分销思路和数据库设计,我可以给您提供一些思路和建议。 首先,三级分销是指一个用户可以邀请下级用户,下级用户可以邀请更多的下级用户,形成一个三层的分销关系。在这种模式下,上级用户可以获得下级用户销售所产生的一定比例的收益。 针对这种模式,我们可以设计一个数据库,包含以下几个表: 1. 用户表(user):用于存储用户信息,包括用户ID、用户名、密码、昵称、头像等。 2. 商品表(goods):用于存储商品信息,包括商品ID、商品名称、商品价格、商品图片等。 3. 订单表(order):用于存储订单信息,包括订单ID、用户ID、商品ID、购买数量、订单状态等。 4. 分销关系表(distribution):用于存储用户之间的分销关系,包括上级用户ID、下级用户ID、分销比例等。 基于以上表,我们可以设计如下的数据库结构: 用户表(user): | 字段名 | 类型 | 说明 | | --------- | --------- | --------- | | user_id | int(11) | 用户ID,自增主键 | | username | varchar(50) | 用户名 | | password | varchar(50) | 密码 | | nickname | varchar(50) | 昵称 | | avatar | varchar(255) | 头像 | 商品表(goods): | 字段名 | 类型 | 说明 | | --------- | --------- | --------- | | goods_id | int(11) | 商品ID,自增主键 | | goods_name | varchar(50) | 商品名称 | | goods_price | decimal(10,2) | 商品价格 | | goods_image | varchar(255) | 商品图片 | 订单表(order): | 字段名 | 类型 | 说明 | | --------- | --------- | --------- | | order_id | int(11) | 订单ID,自增主键 | | user_id | int(11) | 用户ID,外键关联用户表 | | goods_id | int(11) | 商品ID,外键关联商品表 | | quantity | int(11) | 购买数量 | | status | tinyint(1) | 订单状态,0-未支付,1-已支付 | 分销关系表(distribution): | 字段名 | 类型 | 说明 | | --------- | --------- | --------- | | superior_id | int(11) | 上级用户ID,外键关联用户表 | | inferior_id | int(11) | 下级用户ID,外键关联用户表 | | ratio | decimal(10,2) | 分销比例 | 在这个数据库结构中,我们可以通过订单表中的用户ID和商品ID来计算出每个订单产生的收益,然后根据分销关系表中的分销比例来计算出上级用户应该获得的分成。 当然,在具体实现时,还需要考虑一些其他的因素,比如订单的退款、分销比例的动态调整等。但是以上是一个基本的数据库设计思路,可以作为参考。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP柚子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值