|
@@ -8,6 +8,68 @@
|
|
|
*/
|
|
|
require_once (BASE_ROOT_PATH . '/helper/goods_helper.php');
|
|
|
|
|
|
+class order_action
|
|
|
+{
|
|
|
+ public function change_state($state_type,$order_id)
|
|
|
+ {
|
|
|
+ $model_order = Model('order');
|
|
|
+
|
|
|
+ $condition = array();
|
|
|
+ $condition['order_id'] = $order_id;
|
|
|
+ $condition['buyer_id'] = $_SESSION['member_id'];
|
|
|
+ $order_info = $model_order->getOrderInfo($condition);
|
|
|
+
|
|
|
+ if($state_type == 'order_cancel') {
|
|
|
+ $result = $this->order_cancel($order_info);
|
|
|
+ } else if ($state_type == 'order_receive') {
|
|
|
+ $result = $this->order_receive($order_info);
|
|
|
+ } else if (in_array($state_type,array('order_delete','order_drop','order_restore'))){
|
|
|
+ $result = $this->order_recycle($order_info, $state_type);
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ return $result['state'];
|
|
|
+ }
|
|
|
+
|
|
|
+ private function order_cancel($order_info)
|
|
|
+ {
|
|
|
+ $model_order = Model('order');
|
|
|
+ $logic_order = Logic('order');
|
|
|
+ $if_allow = $model_order->getOrderOperateState('buyer_cancel',$order_info);
|
|
|
+ if (!$if_allow) {
|
|
|
+ return callback(false,'无权操作');
|
|
|
+ }
|
|
|
+ return $logic_order->changeOrderStateCancel($order_info,'buyer', $_SESSION['member_name']);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 收货
|
|
|
+ */
|
|
|
+ private function order_receive($order_info)
|
|
|
+ {
|
|
|
+ $model_order = Model('order');
|
|
|
+ $logic_order = Logic('order');
|
|
|
+ $if_allow = $model_order->getOrderOperateState('receive',$order_info);
|
|
|
+ if (!$if_allow) {
|
|
|
+ return callback(false,'无权操作');
|
|
|
+ }
|
|
|
+
|
|
|
+ return $logic_order->changeOrderStateReceive($order_info,'buyer',$_SESSION['member_name']);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function order_recycle($order_info, $state_type) {
|
|
|
+ $model_order = Model('order');
|
|
|
+ $logic_order = Logic('order');
|
|
|
+ $state_type = str_replace(array('order_delete','order_drop','order_restore'), array('delete','drop','restore'), $state_type);
|
|
|
+ $if_allow = $model_order->getOrderOperateState($state_type,$order_info);
|
|
|
+ if (!$if_allow) {
|
|
|
+ return callback(false,'无权操作');
|
|
|
+ }
|
|
|
+ return $logic_order->changeOrderStateRecycle($order_info,'buyer',$state_type);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
class order_helper
|
|
|
{
|
|
|
private $mOrders;
|
|
@@ -17,15 +79,16 @@ class order_helper
|
|
|
|
|
|
public function __construct($order_list)
|
|
|
{
|
|
|
- $this->mOrders = $order_list;
|
|
|
$this->mod_order = Model('order');
|
|
|
$this->mod_refund = Model('refund_return');
|
|
|
+ $this->mOrders = $this->mod_refund->getGoodsRefundList($order_list);
|
|
|
}
|
|
|
|
|
|
private function action_title($key)
|
|
|
{
|
|
|
static $actions = array("if_cancel" => "取消订单",
|
|
|
"if_refund_cancel" => "退款",
|
|
|
+ "if_payment" => "立即支付",
|
|
|
"if_receive" => "确认收货",
|
|
|
"if_deliver" => "查看物流",
|
|
|
"if_evaluation" => "评价",
|
|
@@ -36,6 +99,7 @@ class order_helper
|
|
|
|
|
|
private function actions($order)
|
|
|
{
|
|
|
+ $state['if_payment'] = $this->mod_order->getOrderOperateState('payment',$order);
|
|
|
//显示取消订单
|
|
|
$state['if_cancel'] = $this->mod_order->getOrderOperateState('buyer_cancel', $order);
|
|
|
//显示退款取消订单
|
|
@@ -112,7 +176,7 @@ class order_helper
|
|
|
$goods["goods_type"] = intval($val["goods_type"]);
|
|
|
$goods["promotions_id"] = intval($val["promotions_id"]);
|
|
|
$goods["gc_id"] = intval($val["gc_id"]);
|
|
|
- $goods["goods_spec"] = $val["goods_spec"];
|
|
|
+ $goods["goods_spec"] = $val["goods_spec"] == null ? "" : $val["goods_spec"];
|
|
|
|
|
|
$refund_state = 0;
|
|
|
$goods['refund_id'] = intval($this->mod_refund->getRefundIdForGood($val,$refund_state));
|