增加婚姻 查看已婚列表
This commit is contained in:
@@ -46,6 +46,29 @@ class MarriageController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全站已婚列表(按亲密度或结婚时间排序)。
|
||||
*/
|
||||
public function list(Request $request): JsonResponse
|
||||
{
|
||||
$marriages = Marriage::query()
|
||||
->where('status', 'married')
|
||||
->with(['user:id,username,usersf,sex', 'partner:id,username,usersf,sex', 'ringItem:id,name,icon'])
|
||||
->orderByDesc('intimacy')
|
||||
->orderByDesc('married_at')
|
||||
->paginate(20);
|
||||
|
||||
return response()->json([
|
||||
'status' => 'success',
|
||||
'data' => $marriages->items(),
|
||||
'pagination' => [
|
||||
'current_page' => $marriages->currentPage(),
|
||||
'last_page' => $marriages->lastPage(),
|
||||
'total' => $marriages->total(),
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户的婚姻状态(名片/用户列表用)。
|
||||
*/
|
||||
@@ -58,7 +81,7 @@ class MarriageController extends Controller
|
||||
return response()->json(['married' => false]);
|
||||
}
|
||||
|
||||
$marriage->load(['user:id,username,headface', 'partner:id,username,headface', 'ringItem:id,name,slug,icon']);
|
||||
$marriage->load(['user:id,username,usersf', 'partner:id,username,usersf', 'ringItem:id,name,slug,icon']);
|
||||
|
||||
return response()->json([
|
||||
'married' => $marriage->status === 'married',
|
||||
@@ -95,7 +118,7 @@ class MarriageController extends Controller
|
||||
->where(function ($q) use ($target) {
|
||||
$q->where('user_id', $target->id)->orWhere('partner_id', $target->id);
|
||||
})
|
||||
->with(['user:id,username,headface', 'partner:id,username,headface', 'ringItem:id,name,icon'])
|
||||
->with(['user:id,username,usersf', 'partner:id,username,usersf', 'ringItem:id,name,icon'])
|
||||
->first();
|
||||
|
||||
if (! $marriage) {
|
||||
|
||||
@@ -24,6 +24,16 @@ class User extends Authenticatable
|
||||
{
|
||||
use HasFactory, Notifiable;
|
||||
|
||||
/**
|
||||
* 追加到 JSON 序列化的属性。
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $appends = [
|
||||
'headface',
|
||||
'headface_url',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
|
||||
@@ -103,7 +103,7 @@ class MarriageService
|
||||
$marriage = Marriage::create([
|
||||
'user_id' => $proposer->id,
|
||||
'partner_id' => $target->id,
|
||||
'ring_item_id' => $ring->item_id,
|
||||
'ring_item_id' => $ring->shop_item_id,
|
||||
'ring_purchase_id' => $ring->id,
|
||||
'status' => 'pending',
|
||||
'proposed_at' => now(),
|
||||
|
||||
Reference in New Issue
Block a user