diff --git a/application/index/controller/Orderaftersale.php b/application/index/controller/Orderaftersale.php index 5f0915a3fc267fc2b324afc0c51ebef1d02408b0..e0e815d7ca7beba051b228f23b2a642b5996dfca 100644 --- a/application/index/controller/Orderaftersale.php +++ b/application/index/controller/Orderaftersale.php @@ -129,7 +129,17 @@ class Orderaftersale extends Common ], ]; $new_aftersale = OrderAftersaleService::OrderAftersaleList($data_params); - $this->assign('new_aftersale_data', empty($new_aftersale['data'][0]) ? [] : $new_aftersale['data'][0]); + if(!empty($new_aftersale['data'][0])) + { + $new_aftersale_data = $new_aftersale['data'][0]; + $new_aftersale_data['tips_msg'] = OrderAftersaleService::OrderAftersaleTipsMsg($new_aftersale_data); + } else { + $new_aftersale_data = []; + } + $this->assign('new_aftersale_data', $new_aftersale_data); + + // 进度 + $this->assign('step_data', OrderAftersaleService::OrderAftersaleStep($new_aftersale_data)); // 可退款退货 $returned = OrderAftersaleService::OrderAftersaleCalculation($order_id, $order_detail_id); diff --git a/application/index/view/default/order/index.html b/application/index/view/default/order/index.html index 6f410c1d6a6d2b86d6a785514bc76d6c9f5b66d2..ff862701a0ec8edfb204b123b837d4e8e5c30ae4 100755 --- a/application/index/view/default/order/index.html +++ b/application/index/view/default/order/index.html @@ -193,32 +193,13 @@ - {{switch $order.status}} - {{case 2|3}} - {{if empty($goods['orderaftersale'])}} - 退款/退货 - {{else /}} - {{if $goods['orderaftersale']['status'] eq 3}} - 查看退款 - {{else /}} - 查看进度 - {{/if}} - {{/if}} - {{/case}} - {{case 4|6}} - {{if empty($goods['orderaftersale'])}} - {{if $order['status'] eq 4}} - 申请售后 - {{/if}} - {{else /}} - {{if $goods['orderaftersale']['status'] eq 3}} - 查看退款 - {{else /}} - 查看进度 - {{/if}} - {{/if}} - {{/case}} - {{/switch}} + {{if !empty($goods['orderaftersale_btn_text'])}} + {{if empty($goods['orderaftersale'])}} + {{$goods.orderaftersale_btn_text}} + {{else /}} + {{$goods.orderaftersale_btn_text}} + {{/if}} + {{/if}} {{if $keys eq 0}} diff --git a/application/index/view/default/orderaftersale/aftersale.html b/application/index/view/default/orderaftersale/aftersale.html index 77e932a1535c5920965ebdc3bffd24d1c84668fa..0cfa4b906ecfda0af629327a65dcb465ffeeb19c 100644 --- a/application/index/view/default/orderaftersale/aftersale.html +++ b/application/index/view/default/orderaftersale/aftersale.html @@ -112,11 +112,11 @@ {{if isset($new_aftersale_data['status']) and $new_aftersale_data['status'] eq 5}}
- 当前订单商品售后申请已关闭!详情查看 + {{$new_aftersale_data.tips_msg}}详情查看
{{/if}} - +
{{foreach $common_order_aftersale_type_list as $v}}
@@ -146,16 +146,10 @@ {{switch $new_aftersale_data.status}} - {{case 0}} -
- 当前订单商品售后已提交申请,等待管理员确认中!详情查看 -
- {{/case}} - - {{case 1}} - {{if $new_aftersale_data['type'] eq 1}} + {{case 0|1|2}} + {{if $new_aftersale_data['status'] eq 1 and $new_aftersale_data['type'] eq 1}}
- 当前订单商品售后,管理员已确认,请尽快完成退货!详情查看 + {{$new_aftersale_data.tips_msg}}详情查看
@@ -165,26 +159,14 @@ {{include file="orderaftersale/delivery" /}} {{else /}}
- 当前订单商品售后已提交申请,等待管理员确认中!详情查看 + {{$new_aftersale_data.tips_msg}}详情查看
{{/if}} {{/case}} - {{case 2}} -
- 当前订单商品售后已退货,等待管理员审核中!详情查看 -
- {{/case}} - - {{case 3}} -
- 当前订单商品售后已处理结束!详情查看 -
- {{/case}} - - {{case 4}} -
- 当前订单商品售后申请已被拒绝!详情查看 + {{case 3|4}} +
+ {{$new_aftersale_data.tips_msg}}详情查看
{{/case}} {{/switch}} diff --git a/application/index/view/default/orderaftersale/step.html b/application/index/view/default/orderaftersale/step.html index 747ee7f997bedae6e8ccdeae7b78f338a19d305c..724adcb297ab1ce45d30862d004dbf322bebd474 100644 --- a/application/index/view/default/orderaftersale/step.html +++ b/application/index/view/default/orderaftersale/step.html @@ -1,57 +1,33 @@
    -
  • - 1 - 申请仅退款 - - -
  • -
  • - 2 - 管理员审核 - {{if isset($new_aftersale_data['status']) and $new_aftersale_data['status'] elt 3 and $new_aftersale_data['status'] egt 0}} - - {{/if}} - -
  • -
  • - 3 - 退款完毕 -
  • + {{if !empty($step_data['step0'])}} + {{foreach $step_data.step0 as $step}} +
  • + {{$step.number}} + {{$step.name}} + {{if $step.is_caret eq 1}} + + {{/if}} + {{if $step.is_angle eq 1}} + + {{/if}} +
  • + {{/foreach}} + {{/if}}
    -
  • - 1 - 申请退货退款 - - -
  • -
  • - 2 - 管理员确认 - {{if isset($new_aftersale_data['status']) and $new_aftersale_data['status'] elt 2 and $new_aftersale_data['status'] egt 0}} - - {{/if}} - -
  • -
  • - 3 - 用户退货 - {{if isset($new_aftersale_data['status']) and $new_aftersale_data['status'] elt 3 and $new_aftersale_data['status'] egt 1}} - - {{/if}} - -
  • -
  • - 4 - 管理员审核 - {{if isset($new_aftersale_data['status']) and $new_aftersale_data['status'] elt 3 and $new_aftersale_data['status'] egt 2}} - - {{/if}} - -
  • -
  • - 5 - 退款完毕 -
  • + {{if !empty($step_data['step1'])}} + {{foreach $step_data.step1 as $step}} +
  • + {{$step.number}} + {{$step.name}} + {{if $step.is_caret eq 1}} + + {{/if}} + {{if $step.is_angle eq 1}} + + {{/if}} +
  • + {{/foreach}} + {{/if}}
\ No newline at end of file diff --git a/application/service/OrderAftersaleService.php b/application/service/OrderAftersaleService.php index 528a2130daa6ae2f293f20c30ae1b09fedf0e331..5dc5c2fbf4a9b066aee9436429faab98423c6508 100644 --- a/application/service/OrderAftersaleService.php +++ b/application/service/OrderAftersaleService.php @@ -1206,5 +1206,122 @@ class OrderAftersaleService return DataReturn('操作成功', 0, ['returned_quantity'=>$returned_quantity, 'refund_price'=>PriceNumberFormat($refund_price)]); } + + /** + * 订单售后提示信息 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-10-04T13:56:35+0800 + * @desc description + * @param [array] $orderaftersale [订单售后数据] + */ + public static function OrderAftersaleTipsMsg($orderaftersale = []) + { + $msg_all = [ + 0 => '当前订单商品售后已提交申请,等待管理员确认中!', + 1 => '当前订单商品售后,管理员已确认,请尽快完成退货!', + 2 => '当前订单商品售后已退货,等待管理员审核中!', + 3 => '当前订单商品售后已处理结束!', + 4 => '当前订单商品售后申请已被拒绝!', + 5 => '当前订单商品售后申请已关闭!', + ]; + if(isset($orderaftersale['status']) && array_key_exists($orderaftersale['status'], $msg_all)) + { + // [status 待退货], [type 0仅退款 1退货退款 + if($orderaftersale['status'] == 1 && $orderaftersale['type'] == 0) + { + $msg_all[1] = $msg_all[0]; + } + return $msg_all[$orderaftersale['status']]; + } + return ''; + } + + /** + * 订单售后进度 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-10-04T15:22:06+0800 + * @desc description + * @param [array] $orderaftersale [订单售后数据] + */ + public static function OrderAftersaleStep($orderaftersale) + { + // 仅退款 + $step0 = [ + [ + 'number' => 1, + 'name' => '申请仅退款', + 'is_caret' => 1, + 'is_angle' => 1, + 'is_active' => 1, + 'is_end' => empty($orderaftersale) ? 1 : 0, + ], + [ + 'number' => 2, + 'name' => '管理员审核', + 'is_caret' => (isset($orderaftersale['status']) && in_array($orderaftersale['status'], [0,1,2,3])) ? 1 : 0, + 'is_angle' => 1, + 'is_active' => (isset($orderaftersale['status']) && in_array($orderaftersale['status'], [0,1,2,3])) ? 1 : 0, + 'is_end' => (isset($orderaftersale['status']) && $orderaftersale['status'] <= 2) ? 1 : 0, + ], + [ + 'number' => 3, + 'name' => '退款完毕', + 'is_caret' => 0, + 'is_angle' => 0, + 'is_active' => (isset($orderaftersale['status']) && $orderaftersale['status'] == 3) ? 1 : 0, + 'is_end' => 0, + ] + ]; + + // 退货退款 + $step1 = [ + [ + 'number' => 1, + 'name' => '申请退货退款', + 'is_caret' => 1, + 'is_angle' => 1, + 'is_active' => 1, + 'is_end' => empty($orderaftersale) ? 1 : 0, + ], + [ + 'number' => 2, + 'name' => '管理员确认', + 'is_caret' => (isset($orderaftersale['status']) && in_array($orderaftersale['status'], [0,1,2])) ? 1 : 0, + 'is_angle' => 1, + 'is_active' => (isset($orderaftersale['status']) && in_array($orderaftersale['status'], [0,1,2,3])) ? 1 : 0, + 'is_end' => (isset($orderaftersale['status']) && $orderaftersale['status'] == 0) ? 1 : 0, + ], + [ + 'number' => 3, + 'name' => '用户退货', + 'is_caret' => (isset($orderaftersale['status']) && in_array($orderaftersale['status'], [1,2,3])) ? 1 : 0, + 'is_angle' => 1, + 'is_active' => (isset($orderaftersale['status']) && in_array($orderaftersale['status'], [1,2,3])) ? 1 : 0, + 'is_end' => (isset($orderaftersale['status']) && $orderaftersale['status'] == 1) ? 1 : 0, + ], + [ + 'number' => 4, + 'name' => '管理员审核', + 'is_caret' => (isset($orderaftersale['status']) && in_array($orderaftersale['status'], [2,3])) ? 1 : 0, + 'is_angle' => 1, + 'is_active' => (isset($orderaftersale['status']) && in_array($orderaftersale['status'], [2,3])) ? 1 : 0, + 'is_end' => (isset($orderaftersale['status']) && $orderaftersale['status'] == 2) ? 1 : 0, + ], + [ + 'number' => 5, + 'name' => '退款完毕', + 'is_caret' => 0, + 'is_angle' => 0, + 'is_active' => (isset($orderaftersale['status']) && $orderaftersale['status'] == 3) ? 1 : 0, + 'is_end' => 0, + ] + ]; + + return ['step0'=>$step0, 'step1'=>$step1]; + } } ?> \ No newline at end of file diff --git a/application/service/OrderService.php b/application/service/OrderService.php index 23c74aceef2da848a80a5d80d3aafa8474d6cbc4..135d42bc0db3461f7bcffeb613352dd3fbd4bd92 100755 --- a/application/service/OrderService.php +++ b/application/service/OrderService.php @@ -637,6 +637,7 @@ class OrderService $is_items = isset($params['is_items']) ? intval($params['is_items']) : 1; $is_excel_export = isset($params['is_excel_export']) ? intval($params['is_excel_export']) : 0; $is_orderaftersale = isset($params['is_orderaftersale']) ? intval($params['is_orderaftersale']) : 0; + $user_type = isset($params['user_type']) ? $params['user_type'] : 'user'; // 获取订单 $data = Db::name('Order')->where($where)->limit($m, $n)->order($order_by)->select(); @@ -780,7 +781,9 @@ class OrderService // 是否获取最新一条售后信息 if($is_orderaftersale == 1) { - $vs['orderaftersale'] = Db::name('OrderAftersale')->where(['order_detail_id'=>$vs['id']])->order('id desc')->find(); + $orderaftersale = Db::name('OrderAftersale')->where(['order_detail_id'=>$vs['id']])->order('id desc')->find(); + $vs['orderaftersale'] = $orderaftersale; + $vs['orderaftersale_btn_text'] = self::OrderAftersaleStatusBtnText($v['status'], $orderaftersale); } } } @@ -811,6 +814,39 @@ class OrderService return DataReturn('处理成功', 0, $data); } + /** + * 订单售后操作名称 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-10-04T13:11:55+0800 + * @desc description + * @param [int] $order_status [订单状态] + * @param [array] $orderaftersale [售后数据] + */ + private static function OrderAftersaleStatusBtnText($order_status, $orderaftersale) + { + $text = ''; + if(in_array($order_status, [2,3,4,6])) + { + if(empty($orderaftersale)) + { + if(in_array($order_status, [2,3])) + { + $text = '退款/退货'; + } else { + if($order_status == 4) + { + $text = '申请售后'; + } + } + } else { + $text = ($orderaftersale['status'] == 3) ? '查看退款' : '查看进度'; + } + } + return $text; + } + /** * 订单日志添加 * @author Devil diff --git a/application/service/PluginsAdminService.php b/application/service/PluginsAdminService.php index e60004699faf1ec21fca0ceed9a29d4571513404..20ebd611cd364f9648d2f683cfa6cfff02353f10 100755 --- a/application/service/PluginsAdminService.php +++ b/application/service/PluginsAdminService.php @@ -375,6 +375,12 @@ class PluginsAdminService { // 是否需要删除应用数据,sql运行 $is_delete_static = (isset($params['value']) && $params['value'] == 1); + + // 删除数据库附件 + ResourcesService::AttachmentPathTypeDelete('plugins_'.$params['id']); + + // 删除应用文件 + self::PluginsResourcesDelete($params['id'], $is_delete_static); if($is_delete_static === true) { $uninstall_sql = APP_PATH.'plugins'.DS.$params['id'].DS.'uninstall.sql'; @@ -383,13 +389,6 @@ class PluginsAdminService SqlconsoleService::Implement(['sql'=>file_get_contents($uninstall_sql)]); } } - - // 删除数据库附件 - ResourcesService::AttachmentPathTypeDelete('plugins_'.$params['id']); - - // 删除应用文件 - self::PluginsResourcesDelete($params['id'], $is_delete_static); - return DataReturn('删除成功'); } return $ret; @@ -1080,12 +1079,7 @@ php; $install_sql = APP_PATH.'plugins'.DS.$plugins_name.DS.'install.sql'; if(!empty($plugins_name) && file_exists($install_sql)) { - // 开始处理 - $ret = SqlconsoleService::Implement(['sql'=>file_get_contents($install_sql)]); - if($ret['code'] != 0) - { - return $ret; - } + SqlconsoleService::Implement(['sql'=>file_get_contents($install_sql)]); } return DataReturn('安装成功'); diff --git a/application/tags.php b/application/tags.php index 7de8967d719bee34b220efa001e1f2bce0de2530..7fb4b4ce8cf21ddb6f5dd9c94f67aad0e78b5245 100755 --- a/application/tags.php +++ b/application/tags.php @@ -32,57 +32,5 @@ return array ( 'log_write' => array ( ), - 'plugins_css' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_service_goods_handle_end' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_service_goods_spec_base' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_service_buy_handle' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_service_user_login_success_record' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_service_goods_spec_extends_handle' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_view_admin_user_save' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_service_user_save_handle' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_service_goods_save_handle' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_view_goods_detail_panel_price_top' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_view_home_goods_inside_bottom' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_view_search_goods_inside_bottom' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), - 'plugins_service_goods_spec_type' => - array ( - 0 => 'app\\plugins\\membershiplevelvip\\Hook', - ), ); ?> \ No newline at end of file