<?php

namespace app\api\controller;

use app\common\controller\Api;
use think\Db;
/**
 * 示例接口
 */
class Demo extends Api
{

    //如果$noNeedLogin为空表示所有接口都需要登录才能请求
    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
    //如果接口已经设置无需登录,那也就无需鉴权了
    //
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['*'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['test2'];

    /**
     * 测试方法
     *
     * @ApiTitle    (测试名称)
     * @ApiSummary  (测试描述信息)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/demo/test/id/{id}/name/{name})
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="id", type="integer", required=true, description="会员ID")
     * @ApiParams   (name="name", type="string", required=true, description="用户名")
     * @ApiParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturnParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
     * @ApiReturn   ({
         'code':'1',
         'msg':'返回成功'
        })
     */
    public function test()
    {
        $order_amount = 1000;  //消费额
        $rate = 10;            //商家比例
        $user_id = 10;             //消费者id
        $shop_id = 10;            //门店id
        $this->test1($order_amount,$rate,$user_id,$shop_id);
    }


    /*
     * 订单额,返利比例
     * $table : offline_shop ,
     * */
    public function test1($order_amount,$rate,$user_id,$shop_id,$table)
    {
        //3-20%
        $amount = bcdiv(bcmul($order_amount,$rate,2),100,2);

        //5倍
        $back_double = config('site.back_double');
        $amount = bcmul($amount,$back_double,2);

        //商务 + 锁客 + 网体 + 省代 + 市代 + 区代 = 40% (大约40%,具体看多少看各级配置)

        //商务 发给门店的上级  收益
        $shangwu_rate = config('site.back_shangwu');
        $shangwu_amount = bcdiv(bcmul($amount,$shangwu_rate,2),2);
        $shangwu_invite_id = Db::name($table)->where('id',$shop_id)->value('invite_id');

        //发钱给 $shangwu_invite_id
        if($shangwu_invite_id && $shangwu_amount > 0){

        }


        //锁客 发给消费者的上级 收益
        $suoke_rate   = config('site.back_suoke');
        $suoke_amount = bcdiv(bcmul($amount,$suoke_rate,2),2);
        $suoke_invite_id = Db::name('user')->where('id',$user_id)->value('invite_id');

        //发钱给 $suoke_invite_id
        if($suoke_invite_id && $suoke_amount > 0){

        }

        //网体 业务员逻辑 按月发 收益


        //省代,市代,区代 三个代理 都按月发 收益


    }

    /**
     * 需要登录的接口
     *
     */
    public function test2()
    {
        echo 111;exit;
        $amount = 1000;
        $rate = 15;
        $data = [];

        for($i=1;$i<=40;$i++){


            $data[] = [
                'amount' => $amount,
            ];

            $amount = bcdiv(bcmul($amount,$rate,2),100,2);
        }

        dump($data);
//        Db::name('back_base')->insertAll($data);

    }

    /**
     * 需要登录且需要验证有相应组的权限
     *
     */
    public function test3()
    {
        //$this->success('返回成功', ['action' => 'test3']);
        $data = [
            'order_paidnum'      => ['inc',1],
            'order_total_amount' => ['inc',11.25],
            'goods_sales'        => ['inc',5],
        ];
        Db::name('live_room_log')->where('id',23)->update($data);
    }

}