89 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			89 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								namespace app\admin\controller\distribution;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use app\admin\logic\distribution\CenterLogic;
							 | 
						||
| 
								 | 
							
								use app\common\basics\AdminBase;
							 | 
						||
| 
								 | 
							
								use app\common\model\distribution\Distribution;
							 | 
						||
| 
								 | 
							
								use app\common\model\distribution\DistributionLevel;
							 | 
						||
| 
								 | 
							
								use app\common\model\user\User;
							 | 
						||
| 
								 | 
							
								use app\common\server\JsonServer;
							 | 
						||
| 
								 | 
							
								use app\common\model\distribution\DistributionOrderGoods;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class Center extends AdminBase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function data()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        // 已结算: 已结算
							 | 
						||
| 
								 | 
							
								        $settled = DistributionOrderGoods::where(['status'=>2])->sum('money');
							 | 
						||
| 
								 | 
							
								        // 预估: 待返佣 + 已结算
							 | 
						||
| 
								 | 
							
								        $estimate = DistributionOrderGoods::where('status', 'in', [1, 2])->sum('money');
							 | 
						||
| 
								 | 
							
								        return view('', [
							 | 
						||
| 
								 | 
							
								            'settled' => $settled,
							 | 
						||
| 
								 | 
							
								            'estimate' => $estimate
							 | 
						||
| 
								 | 
							
								        ]);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @notes 数据概览
							 | 
						||
| 
								 | 
							
								     * @return \think\response\Json
							 | 
						||
| 
								 | 
							
								     * @author Tab
							 | 
						||
| 
								 | 
							
								     * @date 2021/9/6 14:35
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function center()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $data = CenterLogic::center();
							 | 
						||
| 
								 | 
							
								        return view('', ['data' => $data]);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @notes 分销初始化数据
							 | 
						||
| 
								 | 
							
								     * @return \think\response\Json
							 | 
						||
| 
								 | 
							
								     * @author Tab
							 | 
						||
| 
								 | 
							
								     * @date 2021/9/6 14:26
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function updateTable()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            $defaultLevel = DistributionLevel::where('is_default', 1)->findOrEmpty()->toArray();
							 | 
						||
| 
								 | 
							
								            if (empty($defaultLevel)) {
							 | 
						||
| 
								 | 
							
								                // 没有默认等级,初始化
							 | 
						||
| 
								 | 
							
								                DistributionLevel::create([
							 | 
						||
| 
								 | 
							
								                    'name' => '默认等级',
							 | 
						||
| 
								 | 
							
								                    'weights' => '1',
							 | 
						||
| 
								 | 
							
								                    'is_default' => '1',
							 | 
						||
| 
								 | 
							
								                    'remark' => '默认等级',
							 | 
						||
| 
								 | 
							
								                    'update_relation' => '1'
							 | 
						||
| 
								 | 
							
								                ]);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            // 默认分销会员等级
							 | 
						||
| 
								 | 
							
								            $defaultLevelId = DistributionLevel::where('is_default', 1)->value('id');
							 | 
						||
| 
								 | 
							
								            // 生成分销基础信息表
							 | 
						||
| 
								 | 
							
								            $users = User::field('id,is_distribution')
							 | 
						||
| 
								 | 
							
								                ->where(['del' => 0])
							 | 
						||
| 
								 | 
							
								                ->select()
							 | 
						||
| 
								 | 
							
								                ->toArray();
							 | 
						||
| 
								 | 
							
								            $distribution = Distribution::column('user_id');
							 | 
						||
| 
								 | 
							
								            $addData = [];
							 | 
						||
| 
								 | 
							
								            foreach($users as $item) {
							 | 
						||
| 
								 | 
							
								                if (in_array($item['id'], $distribution)) {
							 | 
						||
| 
								 | 
							
								                    // 已有基础分销记录,跳过
							 | 
						||
| 
								 | 
							
								                    continue;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                $data = [
							 | 
						||
| 
								 | 
							
								                    'user_id' => $item['id'],
							 | 
						||
| 
								 | 
							
								                    'level_id' => $defaultLevelId,
							 | 
						||
| 
								 | 
							
								                    'is_distribution' => $item['is_distribution'],
							 | 
						||
| 
								 | 
							
								                    'is_freeze' => 0,
							 | 
						||
| 
								 | 
							
								                    'remark' => '',
							 | 
						||
| 
								 | 
							
								                ];
							 | 
						||
| 
								 | 
							
								                $addData[] = $data;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            $distributionModel = new Distribution();
							 | 
						||
| 
								 | 
							
								            $distributionModel->saveAll($addData);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            return JsonServer::success('初始化数据完成');
							 | 
						||
| 
								 | 
							
								        } catch(\Exception $e) {
							 | 
						||
| 
								 | 
							
								            return JsonServer::error($e->getMessage());
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |