1 changed files with 116 additions and 0 deletions
@ -0,0 +1,116 @@ |
|||
<?php |
|||
|
|||
namespace App\Console\Commands; |
|||
|
|||
use Illuminate\Console\Command; |
|||
use Illuminate\Support\Facades\DB; |
|||
use Illuminate\Support\Collection; |
|||
|
|||
class couponReport extends Command |
|||
{ |
|||
/** |
|||
* The name and signature of the console command. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $signature = 'command:couponReport'; |
|||
|
|||
/** |
|||
* The console command description. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $description = 'Command 每日优惠券统计'; |
|||
|
|||
/** |
|||
* Create a new command instance. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function __construct() |
|||
{ |
|||
parent::__construct(); |
|||
} |
|||
|
|||
/** |
|||
* Execute the console command. |
|||
* |
|||
* @return int |
|||
*/ |
|||
public function handle() |
|||
{ |
|||
$where = ['1597248000','1597334399']; |
|||
|
|||
// 统计优惠券订单数据-金额
|
|||
$orderTotal = DB::select("SELECT
|
|||
coupon.title 优惠券标题 |
|||
,SUM(money) '使用优惠券消费总额(实付总金额)' |
|||
,SUM(total_money) '订单总额(不包含配送费,含包装费)' |
|||
,SUM(dada_fee) 配送费 |
|||
,SUM(yhq_money2) 优惠总金额 |
|||
,COUNT(om.id) '总订单数量' |
|||
FROM |
|||
ims_system_coupon_user_use couu |
|||
INNER JOIN ims_cjdc_order_main om ON couu.order_main_id = om.id |
|||
INNER JOIN ims_system_coupon_user coupon ON coupon.id=couu.system_coupon_id |
|||
WHERE couu.`status` = 1 |
|||
AND om.time_add BETWEEN ? AND ? |
|||
GROUP BY couu.system_coupon_id",
|
|||
$where |
|||
); |
|||
|
|||
// 查询领取数量和统计数量-总数
|
|||
$receiveCoupon = DB::select("SELECT
|
|||
coupon.id ID |
|||
,title 优惠券标题 |
|||
,full_amount as 满足金额 |
|||
,discounts as 优惠金额 |
|||
,inventory AS 发放数量 |
|||
,inventory_use as 已领取数量 |
|||
,IFNULL((SELECT SUM(IFNULL(number,0)) FROM ims_system_coupon_user_use WHERE system_coupon_id = coupon.id AND TO_DAYS(receive.created_at) = TO_DAYS(NOW())),0) AS 使用数量 |
|||
FROM |
|||
ims_system_coupon_user coupon |
|||
LEFT JOIN ims_system_coupon_user_receive receive ON coupon.id = receive.system_coupon_user_id |
|||
WHERE receive.created_at BETWEEN ? AND ?",
|
|||
$where |
|||
); |
|||
// 查询优惠券订单用户数据
|
|||
$orderList = DB::select("SELECT
|
|||
uu.id AS 序号 |
|||
,IF(uu.status=1,'已使用','已退回') AS 使用状态 |
|||
,user.id AS 用户ID |
|||
,main.order_num AS 订单号 |
|||
,main.money AS 订单金额 |
|||
,conpon.title AS 优惠券种类 |
|||
,user.`name` AS 用户昵称 |
|||
,main.`name` AS 用户姓名 |
|||
,main.tel AS 用户电话 |
|||
,main.address AS 用户地址 |
|||
FROM ims_system_coupon_user_use uu |
|||
INNER JOIN ims_system_coupon_user conpon ON conpon.id=uu.system_coupon_id |
|||
INNER JOIN ims_cjdc_user user ON user.id=uu.user_id |
|||
INNER JOIN ims_cjdc_order_main main ON main.id=uu.order_main_id |
|||
WHERE main.time_add BETWEEN ? AND ? |
|||
ORDER BY uu.`status` ASC",
|
|||
$where |
|||
); |
|||
|
|||
$orderArray = []; |
|||
foreach($orderTotal as $value){ |
|||
$orderArray[] = (array)$value; |
|||
} |
|||
$receiveArray = []; |
|||
foreach($receiveCoupon as $value){ |
|||
$receiveArray[] = (array)$value; |
|||
} |
|||
$listArray = []; |
|||
foreach($orderList as $value){ |
|||
$listArray[] = (array)$value; |
|||
} |
|||
|
|||
$this->table(['优惠券标题','使用优惠券消费总额(实付总金额)','订单总额(不包含配送费,含包装费)','配送费','优惠总金额','总订单数量'],$orderArray); |
|||
$this->table(['ID','优惠券标题','满足金额','优惠金额','发放数量','已领取数量','使用数量'],$receiveArray); |
|||
$this->table(['序号','使用状态','用户ID','订单号','订单金额','优惠券种类','用户昵称','用户姓名','用户电话','用户地址'],$listArray); |
|||
return 0; |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue