|
@@ -676,7 +676,6 @@ class WholeController extends Curd
|
|
|
|
|
|
PayDetail::insert($data);
|
|
|
} catch (\Exception $e) {
|
|
|
- dump(111);
|
|
|
dump($e->getMessage());
|
|
|
throw new BusinessException('创建支付记录失败');
|
|
|
}
|
|
@@ -1261,4 +1260,124 @@ class WholeController extends Curd
|
|
|
return json_fail("数据更新失败");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public function exportOrder(Request $request)
|
|
|
+ {
|
|
|
+ [$where, $format, $limit, $field, $order] = $this->selectInput($request);
|
|
|
+ if(!empty($request->get('order_ids'))){
|
|
|
+ $where['order_id'] = ['in',$request->get('order_ids')];
|
|
|
+ }
|
|
|
+ if (!empty($where['order_addtimes'])) {
|
|
|
+ $where['order_addtimes'][0] = strtotime($where['order_addtimes'][0]);
|
|
|
+ $where['order_addtimes'][1] = strtotime($where['order_addtimes'][1]);
|
|
|
+ }
|
|
|
+ $order = $request->get('order', 'desc');
|
|
|
+ $field = $field ?? 'order_addtimes';
|
|
|
+
|
|
|
+ if (!empty($where['order_status_system']) && in_array($where['order_status_system'],['PENDING','WAITING','SENDING','RECVING','SIGNED','CONFIRM'])){
|
|
|
+ $where['order_is_complete'] = 'N';
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!empty($where['order_status_system']) && $where['order_status_system'] == 'RETURN') {
|
|
|
+ unset($where['order_status_system']);
|
|
|
+ unset($where['order_is_complete']);
|
|
|
+ $where['order_category'] = 'RETURN';
|
|
|
+ }
|
|
|
+
|
|
|
+ $query = $this->doSelect($where, $field, $order);
|
|
|
+ return $this->exportDoFormat($query, $format, 1000);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 执行真正查询,并返回格式化数据
|
|
|
+ * @param $query
|
|
|
+ * @param $format
|
|
|
+ * @param $limit
|
|
|
+ * @return Response
|
|
|
+ */
|
|
|
+ protected function exportDoFormat($query, $format, $limit): Response
|
|
|
+ {
|
|
|
+ $methods = [
|
|
|
+ 'select' => 'formatSelect',
|
|
|
+ 'tree' => 'formatTree',
|
|
|
+ 'table_tree' => 'formatTableTree',
|
|
|
+ 'normal' => 'formatNormal',
|
|
|
+ ];
|
|
|
+ $paginator = $query->paginate($limit);
|
|
|
+ $total = $paginator->total();
|
|
|
+ $items = $paginator->items();
|
|
|
+ $items = call_user_func([$this, "exportAfterQuery"], $items);
|
|
|
+ $format_function = $methods[$format] ?? 'formatNormal';
|
|
|
+ return call_user_func([$this, $format_function], $items, $total);
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function exportAfterQuery($items)
|
|
|
+ {
|
|
|
+ $data = [];
|
|
|
+ foreach($items as $key => $item){
|
|
|
+ $goodsClassify = '--';
|
|
|
+ $goodsName = '--';
|
|
|
+ if (!empty($item['sheet'])) {
|
|
|
+ $goods = Goods::where('goods_id', $item['sheet']['join_sheet_goods_id'])->first();
|
|
|
+ $goodsClassify = $goods->goods_classify ?? '';
|
|
|
+ $goodsName = $goods->goods_name ?? '--';
|
|
|
+ }
|
|
|
+ $systemStatus = '';
|
|
|
+ if($item['order_is_complete'] == 'Y'){
|
|
|
+ $systemStatus = '已完成';
|
|
|
+ }elseif ($item['order_is_complete'] == 'R'){
|
|
|
+ $systemStatus = '售后已完成';
|
|
|
+ }
|
|
|
+
|
|
|
+ $data[$key]=[
|
|
|
+ 'goods_classify'=>!empty($goods) && isset(self::$goodsClassify[$goods->goods_classify]) ? self::$goodsClassify[$goods->goods_classify] : '其他订单',
|
|
|
+ 'order_id'=>$item['order_id'],
|
|
|
+ 'member'=> (!empty($item['cert']) ? $item['cert']['member_cert_name'] : substr($item['member']['member_mobile'],-4).'用户') .'-'.$item['member']['member_mobile'],
|
|
|
+ 'goods_name' => $goodsName,
|
|
|
+ 'nbr'=>!empty($item['sheet']) ? intval($item['sheet']['order_sheet_num']) : '--',
|
|
|
+ 'order_amount_total'=>$item['order_amount_total'],
|
|
|
+ 'order_amount_pay'=>$item['order_amount_pay'],
|
|
|
+ 'order_status_system'=>!empty($systemStatus) ? $systemStatus : self::$systemStatus[$item['order_status_system']],
|
|
|
+ 'order_status_payment'=>self::$paymentStatus[$item['order_status_payment']],
|
|
|
+ 'order_addtimes'=>date('Y-m-d H:i:s',strtotime($item['order_addtimes']))
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static $goodsClassify = [
|
|
|
+ // goodsClassify: {GOODS:"健康产品订单",SERVICE:"服务订单",DEVICE:"设备订单",SPECIAL:"专题业务订单",PACKAGE:"套餐订单",RECHARGE:"充值订单",OTHER:"其他订单"},
|
|
|
+
|
|
|
+ 'GOODS'=>"健康产品订单",
|
|
|
+ 'SERVICE'=>"服务订单",
|
|
|
+ 'DEVICE' => '设备订单',
|
|
|
+ 'SPECIAL'=>'专题业务订单',
|
|
|
+ 'PACKAGE'=>'套包订单',
|
|
|
+ 'RECHARGE'=>'充值订单',
|
|
|
+ 'OTHER'=>'其他订单'
|
|
|
+ ];
|
|
|
+
|
|
|
+ // systemStatus: {BEING:"待生效",PAYING:"待支付",PENDING:"待确认",WAITING:"待受理",SENDING:"待发货",RECVING:"待收货",SIGNED:"已签收",CONFIRM:"确认收货"},
|
|
|
+ // paymentStatus: {PENDING:"待支付",CANCEL:"取消支付",SUCCESS:"支付成功"},
|
|
|
+
|
|
|
+ public static $systemStatus = [
|
|
|
+ 'BEING'=>'待生效',
|
|
|
+ 'PAYING'=>"待支付",
|
|
|
+ 'PENDING'=>"待确认",
|
|
|
+ 'WAITING'=>"待使用",
|
|
|
+ 'SENDING'=>"待发货",
|
|
|
+ 'RECVING'=>"待收货",
|
|
|
+ 'SIGNED'=>"已签收",
|
|
|
+ 'CONFIRM'=>"确认收货",
|
|
|
+ 'DONE'=> '已完成',
|
|
|
+ 'CANCEL'=>'已取消'
|
|
|
+ ];
|
|
|
+
|
|
|
+ public static $paymentStatus = [
|
|
|
+ 'WAITING'=>"待支付",
|
|
|
+ 'PENDING'=>"待支付",
|
|
|
+ 'CANCEL'=>"取消支付",
|
|
|
+ 'SUCCESS'=>"支付成功"
|
|
|
+ ];
|
|
|
}
|