love_php/app/Http/Controllers/Server/Admin/BlacklistController.php
2026-04-02 09:20:51 +08:00

63 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Server\Admin;
use App\Http\Requests\StoreMerchantBlacklist;
use App\Http\Response\ResponseJson;
use App\Models\Server\MerchantAccount;
use App\Models\Server\MerchantBlacklist;
use App\Models\Server\MerchantUser;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class BlacklistController extends Controller
{
use ResponseJson;
/**
* 黑名单列表
* @param Request $request
* @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\Http\JsonResponse|\Illuminate\View\View
*/
public function blacklists(Request $request)
{
$m_id = $request->account_id;
$list = MerchantBlacklist::with('user:id,nickname,pic')
->where('m_id', $m_id)
->type();
$list = $list->orderByDesc('id')->paginate();
return $this->success('ok', $list);
}
/**
* 添加黑名单
* @param StoreMerchantBlacklist $request
* @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\Http\JsonResponse|\Illuminate\View\View
*/
public function addBlacklist(StoreMerchantBlacklist $request)
{
$m_id = request()->account_id;
$merchant = MerchantAccount::find($m_id);
$data = $request->validated();
$reason = $data['reason'];
unset($data['reason']);
$list = $merchant->blacklist()->updateOrCreate($data, ['reason'=>$reason]);
return $this->success('ok', $list);
}
/**
* 删除黑名单
* @param Request $request
* @param MerchantUser $user
* @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\Http\JsonResponse|\Illuminate\View\View
* @throws \Exception
*/
public function deleteBlacklist(Request $request, MerchantUser $user)
{
$m_id = $request->account_id;
$type = $request->input('type');
MerchantBlacklist::where(['m_id'=>$m_id, 'user_id'=>$user->id,'type'=>$type])->delete();
return $this->success('ok');
}
}