diff --git a/app/common/repositories/store/order/StoreOrderCreateRepository.php b/app/common/repositories/store/order/StoreOrderCreateRepository.php index ab56fdad..7104f28c 100644 --- a/app/common/repositories/store/order/StoreOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOrderCreateRepository.php @@ -44,7 +44,6 @@ class StoreOrderCreateRepository extends StoreOrderRepository $addressRepository = app()->make(UserAddressRepository::class); $address = $addressRepository->getWhere(['uid' => $uid, 'address_id' => $addressId]); } - $storeCartRepository = app()->make(StoreCartRepository::class); $res = $storeCartRepository->checkCartList($storeCartRepository->cartIbByData($cartId, $uid, $address), 0, $user); $merchantCartList = $res['list']; @@ -1073,7 +1072,8 @@ class StoreOrderCreateRepository extends StoreOrderRepository } else if (isset($merchantCart['merchantCategory']['commission_rate']) && $merchantCart['merchantCategory']['commission_rate'] > 0) { $rate = bcmul($merchantCart['merchantCategory']['commission_rate'], 100, 4); } - $user_address = isset($address) ? ($address['province'] . $address['city'] . $address['district'] . $address['street'] . $address['detail']) : ''; + $user_address = isset($address) ? ($address['province'] . $address['city'] . $address['district'] . $address['street'] . $address['village'] . $address['brigade'] . $address['detail']) : ''; + $user_address_code = isset($address) ? ($address['province_code'] . ',' . $address['city_code'] . ',' . $address['district_code'] . ',' . $address['street_code'] . ',' . $address['village_code'] . ',' . $address['brigade_id']) : ''; //整理订单数据 $_order = [ 'cartInfo' => $merchantCart, @@ -1091,6 +1091,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository 'real_name' => $merchantCart['order']['isTake'] ? $post['real_name'] : ($address['real_name'] ?? ''), 'user_phone' => $merchantCart['order']['isTake'] ? $post['phone'] : ($address['phone'] ?? ''), 'user_address' => $user_address, + 'user_address_code' => $user_address_code, 'cart_id' => implode(',', array_column($merchantCart['list'], 'cart_id')), 'total_num' => $merchantCart['order']['total_num'], 'total_price' => $merchantCart['order']['total_price'], diff --git a/app/controller/api/user/UserAddress.php b/app/controller/api/user/UserAddress.php index b100f116..5aeb736a 100644 --- a/app/controller/api/user/UserAddress.php +++ b/app/controller/api/user/UserAddress.php @@ -219,17 +219,52 @@ class UserAddress extends BaseController } $data['province'] = $province['name']; $data['province_id'] = $province['id']; + $data['province_code'] = ''; + if (!empty($data['province_id'])) { + $province = GeoProvince::where('province_id', $data['province_id'])->find(); + if ($province) { + $data['province_code'] = $province['province_code']; + } + } $data['city'] = $city['name']; $data['city_id'] = $city['id']; + $data['city_code'] = ''; + if (!empty($data['city_id'])) { + $city = GeoCity::where('city_id', $data['city_id'])->find(); + if ($city) { + $data['city_code'] = $city['city_code']; + } + } $data['district'] = $district['name']; $data['district_id'] = $district['id']; + $data['district_code'] = ''; + if (!empty($data['district_id'])) { + $district = GeoArea::where('area_id', $data['district_id'])->find(); + if ($district) { + $data['district_code'] = $district['area_code']; + } + } if (isset($street)) { $data['street'] = $street['name'] ?? ''; $data['street_id'] = $street['id'] ?? 0; + $data['street_code'] = ''; + if (!empty($data['street_id'])) { + $street = GeoStreet::where('street_id', $data['street_id'])->find(); + if ($street) { + $data['street_code'] = $street['street_code']; + } + } } if (isset($village)) { $data['village'] = $village['name'] ?? ''; $data['village_id'] = $village['id'] ?? 0; + $data['village_code'] = ''; + if (!empty($data['village_id'])) { + $village = GeoVillage::where('village_id', $data['village_id'])->find(); + if ($village) { + $data['village_code'] = $village['village_code']; + } + } } $brigade = $data['brigade']; if (isset($brigade)) {