|
@@ -22,6 +22,7 @@ use App\SalerTargets;
|
22
|
22
|
use App\TemplatesLog;
|
23
|
23
|
use App\OrderGoodsSkus;
|
24
|
24
|
use App\Goods;
|
|
25
|
+use App\GoodsSkus;
|
25
|
26
|
use App\RedisModel as Redis;
|
26
|
27
|
use Illuminate\Http\Request;
|
27
|
28
|
use Illuminate\Support\Facades\DB;
|
|
@@ -4744,14 +4745,16 @@ class StatisticsController extends Controller
|
4744
|
4745
|
*/
|
4745
|
4746
|
public function volumeRank(Request $request){
|
4746
|
4747
|
$stime = date('Y-m-d', strtotime('-30 day'));
|
4747
|
|
- $result = OrderGoodsSkus::select(DB::raw('goods_id, sum(send_num) as volume'))->where('create_time', '>=', $stime)->where('send_num','>',0)->where('is_del', 0)->groupBy('goods_id')->orderBy('volume', 'desc')->get();
|
|
4748
|
+ $result = OrderGoodsSkus::select(DB::raw('goods_id, sku_id, sum(send_num) as volume, count(1) as counts'))->where('create_time', '>=', $stime)->where('send_num','>',0)->where('is_del', 0)->groupBy('sku_id')->orderBy('volume', 'desc')->get();
|
4748
|
4749
|
$result = json_decode(json_encode($result), true);
|
4749
|
4750
|
foreach($result as $k=>&$v){
|
4750
|
4751
|
$goods = Goods::where('id', $v['goods_id'])->first();
|
|
4752
|
+ $skus = GoodsSkus::select('is_weigh', 'propsName', 'price')->where('id', $v['sku_id'])->first();
|
4751
|
4753
|
$v['name'] = $goods->name;
|
4752
|
|
- $v['cate'] = $goods->goodsCategoryName;
|
4753
|
|
- $v['productCode'] = $goods->productCode;
|
4754
|
|
- $v['picUrl'] = $goods->picUrl;
|
|
4754
|
+ $v['propsName'] = $skus->propsName;
|
|
4755
|
+ $v['propsName'] .= !empty($skus) && $skus->is_weigh == 1 ? '【称重商品】' : '';
|
|
4756
|
+ $v['price'] = $skus->price;
|
|
4757
|
+ $v['amount'] = round($v['price'] * $volume, 2);
|
4755
|
4758
|
}
|
4756
|
4759
|
return view('statistics/volumeRank', ['result' =>$result,
|
4757
|
4760
|
]);
|
|
@@ -4759,19 +4762,20 @@ class StatisticsController extends Controller
|
4759
|
4762
|
|
4760
|
4763
|
public function volumeRank_export(Request $request){
|
4761
|
4764
|
$stime = date('Y-m-d', strtotime('-30 day'));
|
4762
|
|
- $result = OrderGoodsSkus::select(DB::raw('goods_id, sum(send_num) as volume'))->where('create_time', '>=', $stime)->where('send_num','>',0)->where('is_del', 0)->groupBy('goods_id')->orderBy('volume', 'desc')->get();
|
|
4765
|
+ $result = OrderGoodsSkus::select(DB::raw('goods_id, sku_id, sum(send_num) as volume, count(1) as counts'))->where('create_time', '>=', $stime)->where('send_num','>',0)->where('is_del', 0)->groupBy('sku_id')->orderBy('volume', 'desc')->get();
|
4763
|
4766
|
$result = json_decode(json_encode($result), true);
|
4764
|
4767
|
foreach($result as $k=>&$v){
|
4765
|
4768
|
$goods = Goods::where('id', $v['goods_id'])->first();
|
|
4769
|
+ $skus = GoodsSkus::select('is_weigh', 'propsName', 'price')->where('id', $v['sku_id'])->first();
|
4766
|
4770
|
$v['name'] = $goods->name;
|
4767
|
|
- $v['cate'] = $goods->goodsCategoryName;
|
4768
|
|
- $v['productCode'] = $goods->productCode;
|
4769
|
|
- $v['picUrl'] = $goods->picUrl;
|
4770
|
|
- $v['rank_id'] = $k+1;
|
|
4771
|
+ $v['propsName'] = $skus->propsName;
|
|
4772
|
+ $v['propsName'] .= !empty($skus) && $skus->is_weigh == 1 ? '【称重商品】' : '';
|
|
4773
|
+ $v['price'] = $skus->price;
|
|
4774
|
+ $v['amount'] = round($v['price'] * $volume, 2);
|
4771
|
4775
|
}
|
4772
|
4776
|
|
4773
|
|
- $indexKey = ['rank_id','name','cate','picUrl','productCode','volume'];
|
4774
|
|
- $title = ['排名', '商品标题', '所属分类', '商品图片', '商品货号', '最近30日商品销量'];
|
|
4777
|
+ $indexKey = ['rank_id','name','propsName','price','counts','volume','amount'];
|
|
4778
|
+ $title = ['排名', '商品标题', '商品规格', '价格', '最近30日成单量', '最近30日销量', '近30日销售额'];
|
4775
|
4779
|
$filename = 'shangpingpaihang_'.date('Y-m-d_H').'.xlsx';
|
4776
|
4780
|
return Order::export_excel($result, $filename, $indexKey, $title);
|
4777
|
4781
|
}
|