[ 'name' => '收银台' ] ]; public $order_status = [ self::ORDER_CREATE => [ 'status' => self::ORDER_CREATE, 'name' => '待支付', 'is_allow_refund' => 0, 'icon' => 'public/uniapp/order/order-icon.png', 'action' => [ [ 'action' => 'orderClose', 'title' => '关闭订单', 'color' => '' ] ], 'member_action' => [ [ 'action' => 'orderClose', 'title' => '关闭订单', 'color' => '' ], ], 'color' => '' ], self::ORDER_COMPLETE => [ 'status' => self::ORDER_COMPLETE, 'name' => '已完成', 'is_allow_refund' => 1, 'icon' => 'public/uniapp/order/order-icon-received.png', 'action' => [ ], 'member_action' => [ ], 'color' => '' ], self::ORDER_CLOSE => [ 'status' => self::ORDER_CLOSE, 'name' => '已关闭', 'is_allow_refund' => 0, 'icon' => 'public/uniapp/order/order-icon-close.png', 'action' => [ ], 'member_action' => [ ], 'color' => '' ], ]; public $pay_type = [ 'cash' => '现金支付', 'BALANCE' => '余额支付', 'own_wechatpay' => '个人微信', 'own_alipay' => '个人支付宝', 'own_pos' => '个人pos刷卡', 'ONLINE_PAY' => '在线支付', ]; public $cashier_order_type = [ 'goods' => '消费', 'card' => '售卡', 'recharge' => '充值', ]; //todo 切勿调用,占位 public $delivery_status_list = [ 0 => '待发货', 1 => '已发货', 2 => '已收货' ]; public function getPayType($params = []) { return $this->pay_type; } public function getCashierOrderType() { return $this->cashier_order_type; } public function refund($params) { if ($params[ 'is_refund_stock' ] == 1) { $order_stock_model = new OrderStock(); $order_stock_model->incOrderStock($params); } return $this->success(); } public function orderDetail($order_info) { return []; } /** * 订单完成 * @param $params * @return array */ public function complete($params) { $site_id = $params[ 'site_id' ]; $order_id = $params[ 'order_id' ]; $out_trade_no = $params['out_trade_no']; $cashier_order_model = new CashierOrder(); $cashier_data = [ 'order_status' => 10, 'finish_time' => time(), 'order_status_name' => $cashier_order_model->order_status[ 10 ][ 'name' ], 'order_status_action' => json_encode($cashier_order_model->order_status[ 10 ], JSON_UNESCAPED_UNICODE) ]; $cashier_condition = [ [ 'order_id', '=', $order_id ], ]; model('order')->update($cashier_data, $cashier_condition); //订单支付完成后针对充值要增加充值订单支付 if ($params[ 'cashier_order_type' ] == 'recharge') { $recharge_order_model = new MemberrechargeOrder(); $recharge_model = new Memberrecharge(); $member_model = new MemberModel(); $pay = new Pay(); $order_goods_list = model('order_goods')->getList([ [ 'order_id', '=', $params[ 'order_id' ] ] ]); foreach ($order_goods_list as $k => $v) { $recharge_id = $v[ 'sku_id' ]; $goods_money = $v[ 'goods_money' ]; //获取用户头像 $member_info = $member_model->getMemberInfo([ [ 'member_id', '=', $params[ 'member_id' ] ] ], 'headimg,nickname')[ 'data' ]; //获取套餐信息 if ($recharge_id > 0) { //套餐字段 $field = 'recharge_id,recharge_name,cover_img,face_value,buy_price,point,growth,coupon_id'; $recharge_info = $recharge_model->getMemberRechargeInfo([ [ 'recharge_id', '=', $recharge_id ] ], $field)[ 'data' ]; if (empty($recharge_info)) { return $this->error('', '无效的充值套餐'); } } else { $recharge_info = array ( "recharge_id" => 0, "recharge_name" => '自定义面额充值', "cover_img" => '', "face_value" => $goods_money, "buy_price" => $goods_money, "point" => 0, "growth" => 0, "coupon_id" => 0, ); } $order_no = (new OrderCreate())->createOrderNo(); $data = [ 'recharge_id' => $recharge_id,//套餐id 'face_value' => $recharge_info['face_value'],//自定义充值面额 'member_id' => $params[ 'member_id' ], 'order_from' => $params[ 'order_from' ], 'order_from_name' => $params[ 'order_from_name' ], 'site_id' => $site_id, 'relate_id' => $params[ 'order_id' ], 'relate_type' => 'order', 'store_id' => $params[ 'store_id' ], 'order_no' => $order_no, 'out_trade_no' => $out_trade_no, 'recharge_name' => $recharge_info[ 'recharge_name' ], 'cover_img' => $recharge_info[ 'cover_img' ], 'buy_price' => $recharge_info[ 'buy_price' ], 'pay_money' => $recharge_info[ 'buy_price' ], 'point' => $recharge_info[ 'point' ], 'growth' => $recharge_info[ 'growth' ], 'coupon_id' => $recharge_info[ 'coupon_id' ], 'status' => 1, 'create_time' => time(), 'member_img' => $member_info[ 'headimg' ], 'nickname' => $member_info[ 'nickname' ], ]; $recharge_order_model->addMemberRechargeOrder($data); //充值订单支付 $result = $recharge_order_model->orderPay([ 'out_trade_no' => $out_trade_no, 'pay_type' => $params['pay_type'], ]); if($result['code'] < 0){ return $result; } } } $log_data = [ 'order_id' => $order_id, 'action' => 'complete', 'site_id' => $site_id, 'is_auto' => 1 ]; (new OrderLog())->addLog($log_data); return $this->success(); } public function orderPay() { } }