This commit is contained in:
2023-03-16 10:17:44 +08:00
parent d19a1271d3
commit 21fe6be452
18 changed files with 297 additions and 132 deletions
+67 -41
View File
@@ -10,6 +10,7 @@ use App\Model\UserDoctor;
use App\Model\UserDoctorInfo;
use App\Model\UserPatient;
use App\Utils\PcreMatch;
use Extend\TencentIm\Profile;
use Extend\Wechat\Wechat;
use Hyperf\Amqp\Result;
use Hyperf\DbConnection\Db;
@@ -91,58 +92,83 @@ class UserService extends BaseService
// 匹配去除oss网址
$avatar = PcreMatch::pregRemoveOssWebsite($avatar);
// 获取对应用户信息
if ($user['user_type'] == 1){
// 患者
Db::beginTransaction();
try {
// 修改用户表
$data = array();
$data['avatar'] = $avatar;
$params = array();
$params['user_id'] = $user_info['user_id'];
$user_patient = UserPatient::getOne($params);
if (empty($user_patient)){
return fail();
}
if ($user_patient['avatar'] != $avatar) {
$data = array();
$data['avatar'] = $avatar;
User::editUser($params,$data);
// 获取对应用户信息
if ($user['user_type'] == 1){
// 患者
$params = array();
$params['patient_id'] = $user_patient['patient_id'];
UserPatient::editUserPatient($params,$data);
}
}elseif ($user['user_type'] == 2){
// 医生
$params = array();
$params['user_id'] = $user_info['user_id'];
$user_doctor = UserDoctor::getOne($params);
if (empty($user_doctor)){
return fail();
}
$params['user_id'] = $user_info['user_id'];
$user_patient = UserPatient::getOne($params);
if (empty($user_patient)){
Db::rollBack();
return fail();
}
if ($user_doctor['avatar'] != $avatar) {
$data = array();
$data['avatar'] = $avatar;
if ($user_patient['avatar'] != $avatar) {
$data = array();
$data['avatar'] = $avatar;
$params = array();
$params['patient_id'] = $user_patient['patient_id'];
UserPatient::editUserPatient($params,$data);
}
}elseif ($user['user_type'] == 2){
// 医生
$params = array();
$params['doctor_id'] = $user_doctor['doctor_id'];
UserDoctor::editUserDoctor($params,$data);
}
}elseif ($user['user_type'] == 3){
// 药师
$params = array();
$params['user_id'] = $user_info['user_id'];
$user_pharmacist = UserPatient::getOne($params);
if (empty($user_pharmacist)){
return fail();
}
$params['user_id'] = $user_info['user_id'];
$user_doctor = UserDoctor::getOne($params);
if (empty($user_doctor)){
Db::rollBack();
return fail();
}
if ($user_pharmacist['avatar'] != $avatar) {
$data = array();
$data['avatar'] = $avatar;
if ($user_doctor['avatar'] != $avatar) {
$data = array();
$data['avatar'] = $avatar;
$params = array();
$params['doctor_id'] = $user_doctor['doctor_id'];
UserDoctor::editUserDoctor($params,$data);
}
}elseif ($user['user_type'] == 3){
// 药师
$params = array();
$params['pharmacist_id'] = $user_pharmacist['pharmacist_id'];
UserPatient::editUserPatient($params,$data);
$params['user_id'] = $user_info['user_id'];
$user_pharmacist = UserPatient::getOne($params);
if (empty($user_pharmacist)){
Db::rollBack();
return fail();
}
if ($user_pharmacist['avatar'] != $avatar) {
$data = array();
$data['avatar'] = $avatar;
$params = array();
$params['pharmacist_id'] = $user_pharmacist['pharmacist_id'];
UserPatient::editUserPatient($params,$data);
}
}
// 修改im头像
$profile = new Profile();
$arg = array();
$arg['Tag_Profile_IM_Image'] = addAliyunOssWebsite($avatar);
$profile->setProfile($user_info['user_id'],$arg);
Db::commit();
} catch (\Exception $e) {
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage());
}
return success();