新增收货地址修改

This commit is contained in:
wucongxing 2023-03-20 11:49:06 +08:00
parent e979884f17
commit bda3127479
2 changed files with 154 additions and 48 deletions

View File

@ -27,6 +27,17 @@ class UserRequest extends FormRequest
'is_default', 'is_default',
'tag', 'tag',
], ],
'putUserAddress' => [ // 修改用户收获地址
'province_id',
'city_id',
'county_id',
'address',
'consignee_name',
'consignee_tel',
'consignee_zip_code',
'is_default',
'tag',
],
]; ];
/** /**

View File

@ -44,18 +44,18 @@ class UserService extends BaseService
// 下载消息模版 // 下载消息模版
$weChat = new Wechat(1); $weChat = new Wechat(1);
$result = $weChat->getTemplate(); $result = $weChat->getTemplate();
if (empty($result)){ if (empty($result)) {
Db::rollBack(); Db::rollBack();
return fail(); return fail();
} }
$template = json_decode($result,true); $template = json_decode($result, true);
foreach ($template['data'] as $item){ foreach ($template['data'] as $item) {
$params = array(); $params = array();
$params['wx_template_id'] = $item['priTmplId']; $params['wx_template_id'] = $item['priTmplId'];
$sub_template = SubTemplate::getOne($params); $sub_template = SubTemplate::getOne($params);
if (empty($sub_template)){ if (empty($sub_template)) {
// 新增模版 // 新增模版
$data = array(); $data = array();
$data['client_type'] = 1; $data['client_type'] = 1;
@ -64,7 +64,7 @@ class UserService extends BaseService
$data['template_type'] = $item['type']; $data['template_type'] = $item['type'];
$data['template_content'] = $item['content']; $data['template_content'] = $item['content'];
$sub_template = SubTemplate::addSubTemplate($data); $sub_template = SubTemplate::addSubTemplate($data);
if (empty($sub_template)){ if (empty($sub_template)) {
Db::rollBack(); Db::rollBack();
return fail(); return fail();
} }
@ -89,7 +89,7 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$user = User::getOne($params); $user = User::getOne($params);
if (empty($user)){ if (empty($user)) {
return fail(); return fail();
} }
@ -104,15 +104,15 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
User::editUser($params,$data); User::editUser($params, $data);
// 获取对应用户信息 // 获取对应用户信息
if ($user['user_type'] == 1){ if ($user['user_type'] == 1) {
// 患者 // 患者
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$user_patient = UserPatient::getOne($params); $user_patient = UserPatient::getOne($params);
if (empty($user_patient)){ if (empty($user_patient)) {
Db::rollBack(); Db::rollBack();
return fail(); return fail();
} }
@ -123,14 +123,14 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['patient_id'] = $user_patient['patient_id']; $params['patient_id'] = $user_patient['patient_id'];
UserPatient::editUserPatient($params,$data); UserPatient::editUserPatient($params, $data);
} }
}elseif ($user['user_type'] == 2){ } elseif ($user['user_type'] == 2) {
// 医生 // 医生
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$user_doctor = UserDoctor::getOne($params); $user_doctor = UserDoctor::getOne($params);
if (empty($user_doctor)){ if (empty($user_doctor)) {
Db::rollBack(); Db::rollBack();
return fail(); return fail();
} }
@ -141,14 +141,14 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['doctor_id'] = $user_doctor['doctor_id']; $params['doctor_id'] = $user_doctor['doctor_id'];
UserDoctor::editUserDoctor($params,$data); UserDoctor::editUserDoctor($params, $data);
} }
}elseif ($user['user_type'] == 3){ } elseif ($user['user_type'] == 3) {
// 药师 // 药师
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$user_pharmacist = UserPatient::getOne($params); $user_pharmacist = UserPatient::getOne($params);
if (empty($user_pharmacist)){ if (empty($user_pharmacist)) {
Db::rollBack(); Db::rollBack();
return fail(); return fail();
} }
@ -159,7 +159,7 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['pharmacist_id'] = $user_pharmacist['pharmacist_id']; $params['pharmacist_id'] = $user_pharmacist['pharmacist_id'];
UserPatient::editUserPatient($params,$data); UserPatient::editUserPatient($params, $data);
} }
} }
@ -167,7 +167,7 @@ class UserService extends BaseService
$profile = new Profile(); $profile = new Profile();
$arg = array(); $arg = array();
$arg['Tag_Profile_IM_Image'] = addAliyunOssWebsite($avatar); $arg['Tag_Profile_IM_Image'] = addAliyunOssWebsite($avatar);
$profile->setProfile($user_info['user_id'],$arg); $profile->setProfile($user_info['user_id'], $arg);
Db::commit(); Db::commit();
} catch (\Exception $e) { } catch (\Exception $e) {
@ -192,15 +192,15 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$user = User::getOne($params); $user = User::getOne($params);
if (empty($user)){ if (empty($user)) {
return fail(); return fail();
} }
if ($user['user_type'] != 1){ if ($user['user_type'] != 1) {
return fail(HttpEnumCode::HTTP_ERROR,"禁止修改"); return fail(HttpEnumCode::HTTP_ERROR, "禁止修改");
} }
if ($user['user_name'] == $user_name){ if ($user['user_name'] == $user_name) {
return success(); return success();
} }
@ -212,17 +212,17 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['user_id'] = $user['user_id']; $params['user_id'] = $user['user_id'];
User::editUser($params,$data); User::editUser($params, $data);
// 修改对应用户表 // 修改对应用户表
if ($user['user_type'] == 1){ if ($user['user_type'] == 1) {
// 患者 // 患者
$data = array(); $data = array();
$data['user_name'] = $user_name; $data['user_name'] = $user_name;
$params = array(); $params = array();
$params['user_id'] = $user['user_id']; $params['user_id'] = $user['user_id'];
UserPatient::editUserPatient($params,$data); UserPatient::editUserPatient($params, $data);
} }
Db::commit(); Db::commit();
@ -248,25 +248,25 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$user = User::getOne($params); $user = User::getOne($params);
if (empty($user)){ if (empty($user)) {
return fail(); return fail();
} }
// 获取token // 获取token
$bearer_token = $this->request->getHeader('Authorization'); $bearer_token = $this->request->getHeader('Authorization');
if (empty($bearer_token)){ if (empty($bearer_token)) {
return fail(); return fail();
} }
$token = explode(' ', $bearer_token[0]); $token = explode(' ', $bearer_token[0]);
if (!isset($token[1])){ if (!isset($token[1])) {
return fail(); return fail();
} }
$redis = $this->container->get(Redis::class); $redis = $this->container->get(Redis::class);
// 旧token加入黑名单 5天有效期5天内无法继续进行访问 // 旧token加入黑名单 5天有效期5天内无法继续进行访问
$res = $redis->set('jwt_black_' . $token[1], time(), 60*60*24*5); $res = $redis->set('jwt_black_' . $token[1], time(), 60 * 60 * 24 * 5);
if (!$res) { if (!$res) {
return fail(HttpEnumCode::SERVER_ERROR); return fail(HttpEnumCode::SERVER_ERROR);
} }
@ -285,7 +285,7 @@ class UserService extends BaseService
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$user_ship_address = UserShipAddress::getList($params); $user_ship_address = UserShipAddress::getList($params);
if (empty($user_ship_address)){ if (empty($user_ship_address)) {
return success(); return success();
} }
@ -306,7 +306,7 @@ class UserService extends BaseService
$params['address_id'] = $address_id; $params['address_id'] = $address_id;
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$user_ship_address = UserShipAddress::getOne($params); $user_ship_address = UserShipAddress::getOne($params);
if (empty($user_ship_address)){ if (empty($user_ship_address)) {
return fail(); return fail();
} }
@ -324,30 +324,30 @@ class UserService extends BaseService
$request_params = $this->request->all(); $request_params = $this->request->all();
$areaService = new AreaService(); $areaService = new AreaService();
$req = $areaService->checkAreaById($request_params['province_id'],$request_params['city_id'],$request_params['county_id']); $req = $areaService->checkAreaById($request_params['province_id'], $request_params['city_id'], $request_params['county_id']);
if(empty($req)){ if (empty($req)) {
return fail(HttpEnumCode::HTTP_ERROR,"地区选择错误"); return fail(HttpEnumCode::HTTP_ERROR, "地区选择错误");
} }
$area = $areaService->getAreaById($request_params['province_id'],$request_params['city_id'],$request_params['county_id']); $area = $areaService->getAreaById($request_params['province_id'], $request_params['city_id'], $request_params['county_id']);
Db::beginTransaction(); Db::beginTransaction();
try { try {
if ($request_params['is_default'] == 1){ if ($request_params['is_default'] == 1) {
// 获取默认地址 // 获取默认地址
$params = array(); $params = array();
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
$params['is_default'] = $request_params['is_default']; $params['is_default'] = $request_params['is_default'];
$user_ship_address = UserShipAddress::getOne($params); $user_ship_address = UserShipAddress::getOne($params);
if (!empty($user_ship_address)){ if (!empty($user_ship_address)) {
$data = array(); $data = array();
$data['is_default'] = 0; $data['is_default'] = 0;
$params = array(); $params = array();
$params['address_id'] = $user_ship_address['address_id']; $params['address_id'] = $user_ship_address['address_id'];
$params['user_id'] = $user_info['user_id']; $params['user_id'] = $user_info['user_id'];
UserShipAddress::edit($params,$data); UserShipAddress::edit($params, $data);
} }
} }
@ -369,7 +369,7 @@ class UserService extends BaseService
$data['is_default'] = $request_params['is_default']; $data['is_default'] = $request_params['is_default'];
$data['tag'] = $request_params['tag']; $data['tag'] = $request_params['tag'];
$user_ship_address = UserShipAddress::addUserShipAddress($data); $user_ship_address = UserShipAddress::addUserShipAddress($data);
if (empty($user_ship_address)){ if (empty($user_ship_address)) {
Db::rollBack(); Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR); return fail(HttpEnumCode::SERVER_ERROR);
} }
@ -383,53 +383,148 @@ class UserService extends BaseService
return success(); return success();
} }
/**
* 修改用户收获地址
* @return array
*/
public function putUserAddress(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
$request_params = $this->request->all();
$address_id = $this->request->route('address_id');
$params = array();
$params['address_id'] = $address_id;
$params['user_id'] = $user_info['user_id'];
$user_ship_address = UserShipAddress::getOne($params);
if (empty($user_ship_address)) {
return fail();
}
$data = array();
if ($user_ship_address['province_id'] != $request_params['province_id'] || $user_ship_address['city_id'] != $request_params['city_id'] || $user_ship_address['county_id'] != $request_params['county_id']) {
$areaService = new AreaService();
$req = $areaService->checkAreaById($request_params['province_id'], $request_params['city_id'], $request_params['county_id']);
if (empty($req)) {
return fail(HttpEnumCode::HTTP_ERROR, "地区选择错误");
}
$area = $areaService->getAreaById($request_params['province_id'], $request_params['city_id'], $request_params['county_id']);
$data['province_id'] = $request_params['province_id'];
$data['province'] = $area['province']['area_name'];
$data['city_id'] = $request_params['city_id'];
$data['city'] = $area['city']['area_name'];
$data['county_id'] = $request_params['county_id'];
$data['county'] = $area['county']['area_name'];
}
if ($user_ship_address['address'] != $request_params['address']) {
$data['address'] = $request_params['address'];
$data['address_mask'] = Mask::maskAddressStr($request_params['address']);
}
if ($user_ship_address['consignee_name'] != $request_params['consignee_name']) {
$data['consignee_name'] = $request_params['consignee_name'];
$data['consignee_name_mask'] = Mask::maskNameStr($request_params['consignee_name']);
}
if ($user_ship_address['consignee_tel'] != $request_params['consignee_tel']) {
$data['consignee_tel'] = $request_params['consignee_tel'];
$data['consignee_tel_mask'] = Mask::maskPhoneStr($request_params['consignee_tel']);
}
if ($user_ship_address['tag'] != $request_params['tag']) {
$data['tag'] = $request_params['tag'];
}
if ($user_ship_address['is_default'] != $request_params['is_default']) {
$data['is_default'] = $request_params['is_default'];
}
Db::beginTransaction();
try {
if ($request_params['is_default'] == 1 && $user_ship_address['is_default'] != $request_params['is_default']) {
// 获取默认地址
$params = array();
$params['user_id'] = $user_info['user_id'];
$params['is_default'] = $request_params['is_default'];
$default_user_ship_address = UserShipAddress::getOne($params);
if (!empty($default_user_ship_address)) {
$default_data = array();
$default_data['is_default'] = 0;
$params = array();
$params['address_id'] = $default_user_ship_address['address_id'];
$params['user_id'] = $user_info['user_id'];
UserShipAddress::edit($params, $default_data);
}
}
if (!empty($data)) {
$params = array();
$params['address_id'] = $user_ship_address['address_id'];
UserShipAddress::edit($params, $data);
}
Db::commit();
} catch (\Exception $e) {
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage());
}
return success();
}
/** /**
* 通过user_id获取用户openid * 通过user_id获取用户openid
* @param string|int $user_id * @param string|int $user_id
* @param int $user_type * @param int $user_type
* @return string * @return string
*/ */
public function getOpenIdWithUserId(string|int $user_id,int $user_type): string public function getOpenIdWithUserId(string|int $user_id, int $user_type): string
{ {
$open_id = ''; $open_id = '';
if ($user_type == 1){ if ($user_type == 1) {
// 患者 // 患者
$params = array(); $params = array();
$params['user_id'] = $user_id; $params['user_id'] = $user_id;
$user_patient = UserPatient::getOne($params); $user_patient = UserPatient::getOne($params);
if (empty($user_patient)){ if (empty($user_patient)) {
return ""; return "";
} }
if (empty($user_patient['open_id'])){ if (empty($user_patient['open_id'])) {
return ""; return "";
} }
$open_id = $user_patient['open_id']; $open_id = $user_patient['open_id'];
}elseif ($user_type == 2){ } elseif ($user_type == 2) {
// 医生 // 医生
$params = array(); $params = array();
$params['user_id'] = $user_id; $params['user_id'] = $user_id;
$user_doctor = UserDoctor::getOne($params); $user_doctor = UserDoctor::getOne($params);
if (empty($user_doctor)){ if (empty($user_doctor)) {
return ""; return "";
} }
if (empty($user_doctor['open_id'])){ if (empty($user_doctor['open_id'])) {
return ""; return "";
} }
$open_id = $user_doctor['open_id']; $open_id = $user_doctor['open_id'];
}elseif ($user_type == 3){ } elseif ($user_type == 3) {
// 药师 // 药师
$params = array(); $params = array();
$params['user_id'] = $user_id; $params['user_id'] = $user_id;
$user_pharmacist = UserPatient::getOne($params); $user_pharmacist = UserPatient::getOne($params);
if (empty($user_pharmacist)){ if (empty($user_pharmacist)) {
return ""; return "";
} }
if (empty($user_pharmacist['open_id'])){ if (empty($user_pharmacist['open_id'])) {
return ""; return "";
} }