bztang-admin/plugins/team-dividend/src/api/ResultsController.php

102 lines
3.5 KiB
PHP

<?php
/**
* Author:
* Date: 2018/11/29
* Time: 10:27 PM
*/
namespace Yunshop\TeamDividend\Api;
use app\common\components\ApiController;
use app\common\models\member\ChildrenOfMember;
use app\common\models\OrderGoods;
use Illuminate\Support\Facades\DB;
use Yunshop\TeamDividend\admin\models\TeamDividendAgencyModel;
use Yunshop\TeamDividend\models\OrderModel;
use Yunshop\TeamDividend\services\SettingService;
class ResultsController extends ApiController
{
// plugin.team-dividend.api.results.index
public function index()
{
$agent = TeamDividendAgencyModel::select(['uid'])
->where('uid', \YunShop::app()->getMemberId())
->first();
if (!$agent) {
return $this->errorJson('未找到经销商信息');
}
return $this->successJson('成功', [
'team_order_price' => $agent->team_order_price,
'team_goods_total' => $agent->team_goods_total
]);
}
// plugin.team-dividend.api.results.getList
public function getList()
{
$set = \Setting::get('plugin.team_dividend');
$member_id = \YunShop::app()->getMemberId();
$order_model = OrderModel::select(['yz_order.id', 'uid', 'status', 'order_sn', 'price', 'finish_time'])
->join('yz_member_children', 'yz_member_children.child_id', 'yz_order.uid')
->with([
'hasManyOrderGoods',
'belongsToMember' => function ($member) {
$member->select('uid', 'nickname', 'avatar')->with([
'yzMember' => function ($yzMember) {
$yzMember->select('member_id', 'wechat');
}
]);
}
])
->where('yz_member_children.member_id', $member_id);
if ($set['show_pay_order'] == 1) {
//团队业绩显示已支付未完成订单
$order_model->where('status', '>', 0)->orderBy('id', 'desc');
} else {
$order_model->where('status', 3)->orderBy('finish_time', 'desc');
}
$data = $order_model->paginate();
$is_show = $set['including_self'] ? true : false;
$is_show_team_buyer = $set['is_team_buyer'] ? true : false;
return $this->successJson('成功', ['data' => $data, 'is_show' => $is_show, 'is_show_team_buyer' => $is_show_team_buyer]);
}
public function getMyOrder()
{
$set = \Setting::get('plugin.team_dividend');
$member_id = \YunShop::app()->getMemberId();
$order_model = OrderModel::select(['yz_order.id', 'uid', 'status', 'order_sn', 'price', 'finish_time'])
->with([
'hasManyOrderGoods',
'belongsToMember' => function ($member) {
$member->select('uid', 'nickname', 'avatar')->with([
'yzMember' => function ($yzMember) {
$yzMember->select('member_id', 'wechat');
}
]);
}
])
->where('uid', $member_id);
if ($set['show_pay_order'] == 1) {
//团队业绩显示已支付未完成订单
$order_model->where('status', '>', 0)->orderBy('id', 'desc');
} else {
$order_model->where('status', 3)->orderBy('finish_time', 'desc');
}
$data = $order_model->paginate();
return $this->successJson('成功', [
'data' => $data,
'is_team_buyer' => \Setting::get('plugin.team_dividend.is_team_buyer') ? true : false
]);
}
}