97 lines
3.8 KiB
PHP
97 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace Yunshop\WeightValue\Api;
|
|
|
|
use app\common\components\ApiController;
|
|
use app\common\models\Income;
|
|
use app\common\models\Member;
|
|
use app\common\models\member\MemberChildren;
|
|
use Yunshop\TeamDividend\models\TeamDividendLevelModel;
|
|
use Yunshop\WeightValue\models\WeightValue;
|
|
use Yunshop\WeightValue\models\WeightValueLog;
|
|
|
|
class IndexController extends ApiController{
|
|
/**
|
|
* Common: 权重值中心 - 信息获取
|
|
* Author: wu-hui
|
|
* Time: 2023/10/19 10:50
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function getCenterData(){
|
|
$data = [];
|
|
$uid = \YunShop::app()->getMemberId();
|
|
$teamLevelId = request()->input('team_level_id');// 经销商等级id
|
|
// 获取等级信息
|
|
$data['level_name'] = TeamDividendLevelModel::uniacid()->where('id',$teamLevelId)->value('level_name');
|
|
// 获取当前用户信息
|
|
$user = Member::getMemberById($uid,['uid','nickname','realname','avatar']);
|
|
$data['user'] = $user ? $user->toArray() : [];
|
|
// 获取可提现金额&团队人数
|
|
$data['income'] = (float)Income::uniacid()->where('member_id', $uid)->where('status', 0)->sum('amount');// 可提现金额(仅计算未提现)
|
|
$data['total_income'] = (float)Income::uniacid()->where('member_id', $uid)->sum('amount');// 累计收入(包括已提现收入)
|
|
$data['team_total'] = MemberChildren::getTeamModel($uid)->count();
|
|
// 获取统计信息
|
|
$data['statistics'] = (new WeightValue())->getStatistics($uid,$teamLevelId);
|
|
|
|
return $this->successJson('success',$data);
|
|
}
|
|
/**
|
|
* Common: 权重值中心 - 统计信息明细
|
|
* Author: wu-hui
|
|
* Time: 2023/10/19 17:35
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function getDetails(){
|
|
// 参数获取
|
|
$keyName = request()->input('key_name');
|
|
$uid = \YunShop::app()->getMemberId();
|
|
$weightValueModel = new WeightValue();
|
|
$teamLevelId = (int)request()->input('team_level_id');// 经销商等级id
|
|
// 根据类型获取对应的列表
|
|
switch($keyName){
|
|
//直推奖励
|
|
case 'direct_push_give':
|
|
$result = $weightValueModel->commissionDetail($uid,0);
|
|
break;
|
|
//权重收益
|
|
case 'weight_income':
|
|
$result = $weightValueModel->shareholderDividendDetail($uid,$teamLevelId);
|
|
break;
|
|
//团队收益
|
|
case 'team_income':
|
|
$result = $weightValueModel->teamDividendDetail($uid,$teamLevelId,0);
|
|
break;
|
|
//推荐代理
|
|
case 'recommend_agent':
|
|
$result = $weightValueModel->commissionDetail($uid,1);
|
|
break;
|
|
//平级奖励
|
|
case 'peer_level_reward':
|
|
$result = $weightValueModel->teamDividendDetail($uid,$teamLevelId,1);
|
|
break;
|
|
//权重值
|
|
case 'weight_value':
|
|
$search = [
|
|
'member_id' => $uid,
|
|
'team_dividend_agency_level_id' => $teamLevelId
|
|
];
|
|
$field = ['id','team_dividend_agency_level_id','change_type','change_quantity','created_at','remark'];
|
|
$result = (new WeightValueLog)->getList(20,$search,$field);
|
|
break;
|
|
//总订单金额&总订单数
|
|
case 'order_money':
|
|
case 'order_num':
|
|
$result = $weightValueModel->orderDetail($uid);
|
|
break;
|
|
}
|
|
|
|
return $this->successJson('success',[
|
|
'current_page' => (int)$result['current_page'],
|
|
'data' => (array)$result['data'],
|
|
'last_page' => (int)$result['last_page'],
|
|
]);
|
|
}
|
|
|
|
|
|
|
|
} |