diff --git a/application/admin/view/default/site/orderaftersale/index.html b/application/admin/view/default/site/orderaftersale/index.html index 4a1fe426e..85f6cd7bf 100644 --- a/application/admin/view/default/site/orderaftersale/index.html +++ b/application/admin/view/default/site/orderaftersale/index.html @@ -24,6 +24,15 @@ +
+ + +
+
diff --git a/application/api/controller/Orderaftersale.php b/application/api/controller/Orderaftersale.php index 06324016b..1e83df514 100644 --- a/application/api/controller/Orderaftersale.php +++ b/application/api/controller/Orderaftersale.php @@ -129,6 +129,9 @@ class Orderaftersale extends Common // 退款退货原因 $return_money_goods_reason = MyC('home_order_aftersale_return_money_goods_reason'); + // 退货地址 + $return_goods_address = OrderAftersaleService::OrderAftersaleReturnGoodsAddress($new_aftersale_data['order_id']); + // 返回数据 $result = [ 'order_data' => $ret['data'], @@ -138,7 +141,7 @@ class Orderaftersale extends Common 'return_only_money_reason' => empty($return_only_money_reason) ? [] : explode("\n", $return_only_money_reason), 'return_money_goods_reason' => empty($return_money_goods_reason) ? [] : explode("\n", $return_money_goods_reason), 'aftersale_type_list' => lang('common_order_aftersale_type_list'), - 'return_goods_address' => MyC('home_order_aftersale_return_goods_address', '管理员未填写', true), + 'return_goods_address' => $return_goods_address, 'editor_path_type' => ResourcesService::EditorPathTypeValue(OrderAftersaleService::EditorAttachmentPathType($this->user['id'], $order_id, $order_detail_id)), ]; return SystemBaseService::DataReturn($result); diff --git a/application/index/controller/Orderaftersale.php b/application/index/controller/Orderaftersale.php index ebf535cf2..39a823ac5 100644 --- a/application/index/controller/Orderaftersale.php +++ b/application/index/controller/Orderaftersale.php @@ -135,12 +135,19 @@ class Orderaftersale extends Common $returned = OrderAftersaleService::OrderAftersaleCalculation($order_id, $order_detail_id); $this->assign('returned_data', $returned['data']); + // 退货地址 + $return_goods_address = OrderAftersaleService::OrderAftersaleReturnGoodsAddress($order_id); + $this->assign('return_goods_address', $return_goods_address); + // 静态数据 $this->assign('common_order_aftersale_type_list', lang('common_order_aftersale_type_list')); // 编辑器文件存放地址 $this->assign('editor_path_type', ResourcesService::EditorPathTypeValue(OrderAftersaleService::EditorAttachmentPathType($this->user['id'], $order_id, $order_detail_id))); + // 浏览器名称 + $this->assign('home_seo_site_title', SeoService::BrowserSeoTitle('订单售后详情', 1)); + // 订单售后搜索form key $this->assign('form_search_keywords_form_key', 'f0p'); $this->assign('params', $this->data_request); diff --git a/application/index/view/default/orderaftersale/delivery.html b/application/index/view/default/orderaftersale/delivery.html index 0b8b6871c..926b95c9c 100644 --- a/application/index/view/default/orderaftersale/delivery.html +++ b/application/index/view/default/orderaftersale/delivery.html @@ -7,7 +7,7 @@
退货地址: - {{:MyC('home_order_aftersale_return_goods_address', '管理员未填写', true)}} + {{$return_goods_address}}
diff --git a/application/index/view/default/orderaftersale/detail.html b/application/index/view/default/orderaftersale/detail.html index 3e2b63839..eab2b0955 100644 --- a/application/index/view/default/orderaftersale/detail.html +++ b/application/index/view/default/orderaftersale/detail.html @@ -266,7 +266,7 @@
退货地址: - {{:MyC('home_order_aftersale_return_goods_address', '管理员未填写', true)}} + {{$return_goods_address}}
{{include file="orderaftersale/delivery" /}} {{else /}} diff --git a/application/service/OrderAftersaleService.php b/application/service/OrderAftersaleService.php index 7fdc0d5d5..62a5a5d7b 100644 --- a/application/service/OrderAftersaleService.php +++ b/application/service/OrderAftersaleService.php @@ -18,6 +18,7 @@ use app\service\RefundLogService; use app\service\OrderService; use app\service\MessageService; use app\service\IntegralService; +use app\service\WarehouseService; use app\plugins\wallet\service\WalletService; /** @@ -1616,5 +1617,58 @@ class OrderAftersaleService { return 'order_aftersale-'.intval($user_id%(3*24)/24).'-'.$order_id.'-'.$order_detail_id; } + + /** + * 商品退货地址 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @date 2021-07-08 + * @desc description + * @param [int] $order_id [订单id] + */ + public static function OrderAftersaleReturnGoodsAddress($order_id) + { + // 退货地址信息 + $data = MyC('home_order_aftersale_return_goods_address', '管理员未填写', true); + + // 是否是否仓库地址 + if(MyC('home_order_aftersale_is_use_warehouse_address', 0, true) == 1) + { + // 获取订单所属仓库id + $warehouse_id = Db::name('Order')->where(['id'=>intval($order_id)])->value('warehouse_id'); + if(!empty($warehouse_id)) + { + // 获取仓库信息 + $where = [ + ['id', '=', $warehouse_id], + ]; + $data_params = [ + 'm' => 0, + 'n' => 1, + 'where' => $where, + ]; + $ret = WarehouseService::WarehouseList($data_params); + $warehouse = (empty($ret['data']) || empty($ret['data'][0])) ? [] : $ret['data'][0]; + if(!empty($warehouse) && !empty($warehouse['contacts_name']) && !empty($warehouse['contacts_tel']) && !empty($warehouse['province_name']) && !empty($warehouse['city_name']) && !empty($warehouse['county_name']) && !empty($warehouse['address'])) + { + $address = $warehouse['province_name'].$warehouse['city_name'].$warehouse['county_name'].$warehouse['address']; + $data = '收件人:'.$warehouse['contacts_name'].',电话:'.$warehouse['contacts_tel'].',地址:'.$address; + } + } + } + + // 订单售后退货地址钩子 + $hook_name = 'plugins_service_order_aftersale_return_address'; + Hook::listen($hook_name, [ + 'hook_name' => $hook_name, + 'is_backend' => true, + 'order_id' => $order_id, + 'data' => &$data, + ]); + + // 返回退货地址信息 + return $data; + } } ?> \ No newline at end of file diff --git a/application/service/WarehouseService.php b/application/service/WarehouseService.php index 6a7a3a350..bf40d3076 100644 --- a/application/service/WarehouseService.php +++ b/application/service/WarehouseService.php @@ -64,7 +64,7 @@ class WarehouseService // 基础数据 $data_key_field = empty($params['data_key_field']) ? 'id' : $params['data_key_field']; - // 获取商品信息 + // 省市区 if(in_array('province', $keys) && in_array('city', $keys) && in_array('county', $keys)) { // 地区数据