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

110 lines
3.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Audit;
use App\Models\ProfileMarriage;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class MarriageController extends Controller
{
public function approve(Request $request)
{
try {
$user = auth()->user();
$desc = $request->input('desc');
$certificates = $request->input('certificates') ?: [];
if (!$desc) {
return $this->fail('简介不能为空');
}
$check = Audit::query()->where('user_id', $user->id)
->where('type', Audit::TYPE_MARRIAGE_APPROVE)
->where('status', 0)
->first();
if ($check) {
return $this->failure('已有资料正在审核中');
}
(new Audit())->createAuditData(
$user->id,
Audit::TYPE_MARRIAGE_APPROVE,
compact('desc', 'certificates')
);
return $this->success('ok');
} catch (\Exception $e) {
return $this->failure($e->getMessage());
}
}
public function updateProfile(Request $request)
{
try {
$user = auth()->user();
DB::beginTransaction();
$profile = $user->profileMarriage;
if (!$profile){
$profile = new ProfileMarriage();
$profile->user_id = $user->id;
}
$avatar = $request->input('avatar');
if ($avatar && $avatar != $user->photo){
$user->photo = $avatar;
$user->is_photo_audited = 0;
}
$nickname = $request->input('nickname');
if ($nickname && $nickname != $user->nickname){
$user->nickname = $nickname;
}
$province = $request->input('province');
if ($province && $province != $profile->province){
$profile->province = $province;
}
$city = $request->input('city');
if ($city && $city != $profile->city){
$profile->city = $city;
}
$industry = $request->input('industry');
if ($industry && $industry != $user->industry) {
$user->industry = $request->industry;
}
$industry_sub = $request->input('industry_sub');
if ($industry_sub && $industry_sub != $user->industry_sub) {
if ($industry == '其他行业' && $industry_sub != '其他行业') {
$industry_sub = $request->industry;
//自定义职位 审核记录
(new Audit())->createAuditData(
$user->id,
Audit::TYPE_INDUSTRY_SUB,
['industry_sub' => $request->industry_sub]
);
} else {
$industry_sub = $request->industry_sub;
}
$user->industry_sub = $industry_sub;
}
$user->save();
$profile->save();
DB::commit();
return $this->success('ok');
}catch (\Exception $e){
DB::rollBack();
return $this->failure($e->getMessage());
}
}
}