新增收货地址修改
This commit is contained in:
parent
e979884f17
commit
bda3127479
@ -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',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -383,6 +383,101 @@ 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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user