|
@@ -1700,15 +1700,17 @@ class StatisticsController extends Controller
|
1700
|
1700
|
}
|
1701
|
1701
|
|
1702
|
1702
|
$teams = DB::table('teams')->lists('name', 'id');
|
1703
|
|
- $result = Order::select('team_id', 'createTime', 'id', 'receivedAmount', 'aftersale_fee', 'refund_price', 'cost', 'freight_cost')->where(function($query) use($team_id, $stime, $etime){
|
|
1703
|
+ $result = Order::select('team_id', 'createTime', 'id', 'receivedAmount', 'aftersale_fee', 'refund_price', 'cost', 'freight_cost', 'payment_type')->where(function($query) use($team_id, $stime, $etime){
|
1704
|
1704
|
if($team_id) $query->where('team_id', $team_id);
|
1705
|
1705
|
if($stime) $query->where('createTime', '>=', $stime);
|
1706
|
1706
|
if($etime) $query->where('createTime', '<=', $etime. ' 23:59:59');
|
1707
|
1707
|
})->where('is_del', 0)->orderBy('team_id', 'asc')->orderBy('createTime','desc')->offset($offset)->limit($pageSize)->get();
|
1708
|
1708
|
$result = json_decode(json_encode($result), true);
|
|
1709
|
+ $payArr = [1=>'微信支付', 2=>'付款码支付'];
|
1709
|
1710
|
foreach($result as $k=>&$v){
|
1710
|
1711
|
$v['team_name'] = $v['team_id']>0 ? $teams[$v['team_id']] : '';;
|
1711
|
1712
|
$v['true_amount'] = $v['receivedAmount'] - $v['refund_price'] - $v['aftersale_fee'];
|
|
1713
|
+ $v['payment_type'] = $payArr[$v['payment_type']];
|
1712
|
1714
|
}
|
1713
|
1715
|
|
1714
|
1716
|
$teamList = DB::table('teams')->select('id', 'name')->get();
|
|
@@ -1791,19 +1793,21 @@ class StatisticsController extends Controller
|
1791
|
1793
|
$etime = $request->input('etime');
|
1792
|
1794
|
|
1793
|
1795
|
$teams = DB::table('teams')->lists('name', 'id');
|
1794
|
|
- $result = Order::select('team_id', 'createTime', 'id', 'receivedAmount', 'aftersale_fee', 'refund_price', 'cost', 'freight_cost')->where(function($query) use($team_id, $stime, $etime){
|
|
1796
|
+ $result = Order::select('team_id', 'createTime', 'id', 'receivedAmount', 'aftersale_fee', 'refund_price', 'cost', 'freight_cost', 'payment_type')->where(function($query) use($team_id, $stime, $etime){
|
1795
|
1797
|
if($team_id) $query->where('team_id', $team_id);
|
1796
|
1798
|
if($stime) $query->where('createTime', '>=', $stime);
|
1797
|
1799
|
if($etime) $query->where('createTime', '<=', $etime. ' 23:59:59');
|
1798
|
1800
|
})->where('is_del', 0)->orderBy('team_id', 'asc')->orderBy('createTime','desc')->get();
|
1799
|
1801
|
$result = json_decode(json_encode($result), true);
|
|
1802
|
+ $payArr = [1=>'微信支付', 2=>'付款码支付'];
|
1800
|
1803
|
foreach($result as $k=>&$v){
|
1801
|
1804
|
$v['team_name'] = $v['team_id']>0 ? $teams[$v['team_id']] : '';;
|
1802
|
1805
|
$v['true_amount'] = $v['receivedAmount'] - $v['refund_price'] - $v['aftersale_fee'];
|
|
1806
|
+ $v['payment_type'] = $paryArr[$v['payment_type']];
|
1803
|
1807
|
}
|
1804
|
1808
|
|
1805
|
|
- $indexKey = ['team_name','createTime','id','receivedAmount','aftersale_fee','refund_price','true_amount','cost','freight_cost'];
|
1806
|
|
- $title = ['团队', '时间', '订单编号', '成交金额', '售后', '退补差价', '实际金额', '供应商成本', '物流成本'];
|
|
1809
|
+ $indexKey = ['team_name','createTime','id','receivedAmount','aftersale_fee','refund_price','true_amount','cost','freight_cost', 'payment_type'];
|
|
1810
|
+ $title = ['团队', '时间', '订单编号', '成交金额', '售后', '退补差价', '实际金额', '供应商成本', '物流成本', '支付方式'];
|
1807
|
1811
|
$filename = 'teamFinanceList_'.date('Y-m-d_H').'.xlsx';
|
1808
|
1812
|
return Order::export_excel($result, $filename, $indexKey, $title);
|
1809
|
1813
|
}
|
|
@@ -1996,6 +2000,89 @@ class StatisticsController extends Controller
|
1996
|
2000
|
$filename = 'districtRoi7day_'.date('Y-m-d_H').'.xlsx';
|
1997
|
2001
|
return Order::export_excel($result, $filename, $indexKey, $title);
|
1998
|
2002
|
}
|
|
2003
|
+
|
|
2004
|
+ /**
|
|
2005
|
+ * 地域roi7日
|
|
2006
|
+ */
|
|
2007
|
+ public function districtRoi7dayTotal(Request $request){
|
|
2008
|
+ $page = (int)$request->input('page');
|
|
2009
|
+ $pageSize = 20;
|
|
2010
|
+ if($page<=0){
|
|
2011
|
+ $page = 1;
|
|
2012
|
+ }
|
|
2013
|
+
|
|
2014
|
+ $offset = ($page-1) * $pageSize;
|
|
2015
|
+ $city = $request->input('city');
|
|
2016
|
+
|
|
2017
|
+ if($city !== null){
|
|
2018
|
+ $city = str_replace('市', '', $city);
|
|
2019
|
+ }
|
|
2020
|
+
|
|
2021
|
+ $count = DistrictRoi7::where(function($query) use($city){
|
|
2022
|
+ if($city) $query->where('city', 'like', '%'.$city.'%');
|
|
2023
|
+ })->groupBy('city')->get();
|
|
2024
|
+
|
|
2025
|
+ $count = count($count);
|
|
2026
|
+ if ($count > 1) {
|
|
2027
|
+ // 总页数
|
|
2028
|
+ $pages = ceil($count/$pageSize);
|
|
2029
|
+ }else{
|
|
2030
|
+ // 总页数
|
|
2031
|
+ $pages = 1;
|
|
2032
|
+ }
|
|
2033
|
+
|
|
2034
|
+ $result = DistrictRoi7::select(DB::raw('city,sum(cost) as cost,sum(gzh_count) as gzh_count,sum(fan_count) as fan_count,sum(new_fan_order_count) as new_fan_order_count,sum(new_fan_order_amount) as new_fan_order_amount,sum(order_count) as order_count,sum(order_amount) as sum_order_amount, sum(order_amount)/sum(cost) as roi'))->where(function($query) use($city){
|
|
2035
|
+ if($city) $query->where('city', 'like', '%'.$city.'%');
|
|
2036
|
+ })->groupBy('city')->orderBy('roi', 'desc')->offset($offset)->limit($pageSize)->get();
|
|
2037
|
+
|
|
2038
|
+ $result = json_decode(json_encode($result), true);
|
|
2039
|
+ foreach($result as $k=>&$v){
|
|
2040
|
+ //新粉roi
|
|
2041
|
+ $v['new_roi'] = $v['cost']>0 ? round($v['new_fan_order_amount'] / $v['cost'], 4) * 100 .'%' : '';
|
|
2042
|
+ //累计roi
|
|
2043
|
+ $v['total_roi'] = $v['cost']>0 ? round($v['sum_order_amount'] / $v['cost'], 4) * 100 .'%' : '';
|
|
2044
|
+ //数据格式化
|
|
2045
|
+ $v['order_amount'] = round($v['sum_order_amount'],2);
|
|
2046
|
+ }
|
|
2047
|
+
|
|
2048
|
+ return view('statistics/districtRoi7dayTotal', ['result' =>$result,
|
|
2049
|
+ 'page' =>$page,
|
|
2050
|
+ 'count' =>$count,
|
|
2051
|
+ 'pages' =>$pages,
|
|
2052
|
+ 'city' =>$city,
|
|
2053
|
+ ]);
|
|
2054
|
+
|
|
2055
|
+ }
|
|
2056
|
+
|
|
2057
|
+ /**
|
|
2058
|
+ * 地域roi7日
|
|
2059
|
+ */
|
|
2060
|
+ public function districtRoi7dayTotal_export(Request $request){
|
|
2061
|
+
|
|
2062
|
+ $city = $request->input('city');
|
|
2063
|
+ if($city !== null){
|
|
2064
|
+ $city = str_replace('市', '', $city);
|
|
2065
|
+ }
|
|
2066
|
+
|
|
2067
|
+ $result = DistrictRoi7::select(DB::raw('city,sum(cost) as cost,sum(gzh_count) as gzh_count,sum(fan_count) as fan_count,sum(new_fan_order_count) as new_fan_order_count,sum(new_fan_order_amount) as new_fan_order_amount,sum(order_count) as order_count,sum(order_amount) as sum_order_amount,sum(order_amount)/sum(cost) as roi'))->where(function($query) use($city){
|
|
2068
|
+ if($city) $query->where('city', 'like', '%'.$city.'%');
|
|
2069
|
+ })->groupBy('city')->orderBy('roi', 'desc')->get();
|
|
2070
|
+
|
|
2071
|
+ $result = json_decode(json_encode($result), true);
|
|
2072
|
+ foreach($result as $k=>&$v){
|
|
2073
|
+ //新粉roi
|
|
2074
|
+ $v['new_roi'] = $v['cost']>0 ? round($v['new_fan_order_amount'] / $v['cost'], 4) * 100 .'%' : '';
|
|
2075
|
+ //累计roi
|
|
2076
|
+ $v['total_roi'] = $v['cost']>0 ? round($v['sum_order_amount'] / $v['cost'], 4) * 100 .'%' : '';
|
|
2077
|
+ //数据格式化
|
|
2078
|
+ $v['order_amount'] = round($v['sum_order_amount'],2);
|
|
2079
|
+ }
|
|
2080
|
+
|
|
2081
|
+ $indexKey = ['city','cost','gzh_count','fan_count','new_fan_order_count','new_fan_order_amount','new_roi','order_count','order_amount','total_roi'];
|
|
2082
|
+ $title = ['城市', '投放成本', '加粉数', '新粉数量', '新粉成单数', '新粉收入', '新粉ROI', '7日累计成单数', '7日累计收入', '7日累计ROI'];
|
|
2083
|
+ $filename = 'districtRoi7day_'.date('Y-m-d_H').'.xlsx';
|
|
2084
|
+ return Order::export_excel($result, $filename, $indexKey, $title);
|
|
2085
|
+ }
|
1999
|
2086
|
}
|
2000
|
2087
|
|
2001
|
2088
|
|