6
0
Fork 0

个人销售值和团队销售值

release
李静 2021-12-30 14:08:55 +08:00
parent 5327ea8c6b
commit 3f43b27254
5 changed files with 101 additions and 0 deletions

View File

@ -0,0 +1,29 @@
<?php
namespace App\Endpoint\Api\Http\Controllers\Merchant;
use App\Endpoint\Api\Http\Controllers\Controller;
use App\Endpoint\Api\Http\Resources\SalesValueLogResource;
use App\Helpers\Paginator as PaginatorHelper;
use Illuminate\Http\Request;
class SalesValueLogController extends Controller
{
/**
* 个人销售值日志
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function index(Request $request)
{
$perPage = PaginatorHelper::resolvePerPage('per_page', 20, 50);
$salesValueLogs = $request->user()
->salesValueLogs()
->latest('id')
->simplePaginate($perPage);
return SalesValueLogResource::collection($salesValueLogs);
}
}

View File

@ -0,0 +1,29 @@
<?php
namespace App\Endpoint\Api\Http\Controllers\Merchant;
use App\Endpoint\Api\Http\Controllers\Controller;
use App\Endpoint\Api\Http\Resources\SalesValueLogResource;
use App\Helpers\Paginator as PaginatorHelper;
use Illuminate\Http\Request;
class TeamSalesValueLogController extends Controller
{
/**
* 团队销售值日志
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function index(Request $request)
{
$perPage = PaginatorHelper::resolvePerPage('per_page', 20, 50);
$teamSalesValueLogs = $request->user()
->teamSalesValueLogs()
->latest('id')
->simplePaginate($perPage);
return SalesValueLogResource::collection($teamSalesValueLogs);
}
}

View File

@ -0,0 +1,23 @@
<?php
namespace App\Endpoint\Api\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class SalesValueLogResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
return [
'change_sales_value' => (string) $this->change_sales_value,
'remarks' => (string) $this->remarks,
'created_at' => $this->created_at->toDateTimeString(),
];
}
}

View File

@ -182,5 +182,9 @@ Route::group([
],
], function () {
Route::get('account', [Merchant\UserController::class, 'account']);
// 个人销售值
Route::get('sales-value-logs', [Merchant\SalesValueLogController::class, 'index']);
// 团队销售值
Route::get('team-sales-value-logs', [Merchant\TeamSalesValueLogController::class, 'index']);
});
});

View File

@ -236,6 +236,22 @@ class User extends Model implements AuthorizableContract, AuthenticatableContrac
return $this->hasMany(QuotaLog::class);
}
/**
* 属于此用户的团队销售值(含自己的销售值)
*/
public function teamSalesValueLogs()
{
return $this->hasMany(SalesValueLog::class);
}
/**
* 属于此用户的团队销售值(含自己的销售值)
*/
public function salesValueLogs()
{
return $this->hasMany(SalesValueLog::class)->where('type', SalesValueLog::TYPE_INDIVIDUAL);
}
/**
* 用户的粉丝
*