|
@@ -6,6 +6,8 @@ use App\Modules\Order\Models\ChannelOrderStatistic;
|
|
|
use App\Modules\Order\Models\ChannelOrderStatisticDate;
|
|
|
use App\Modules\Order\Models\ChannelSendOrderStatistic;
|
|
|
use App\Modules\Order\Models\ChannelSendOrderStatisticDate;
|
|
|
+use App\Modules\Order\Models\ReportUserBindRecord;
|
|
|
+use App\Modules\Order\Models\ReportUserChargeRecord;
|
|
|
use App\Modules\Trade\Models\Order;
|
|
|
use App\Modules\User\Models\User;
|
|
|
use DB;
|
|
@@ -19,35 +21,35 @@ class OrderService
|
|
|
public function increaseSendOrderAmount(string $date, int $channel_id, int $send_order_id, float $amount, string $pay_time)
|
|
|
{
|
|
|
$date_statistic = ChannelSendOrderStatisticDate::where([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- ])->first();
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ ])->first();
|
|
|
if ($date_statistic) {
|
|
|
$date_statistic->amount += $amount;
|
|
|
$date_statistic->save();
|
|
|
} else {
|
|
|
ChannelSendOrderStatisticDate::create([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- 'amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ 'amount' => $amount,
|
|
|
+ ]);
|
|
|
}
|
|
|
$statistic = ChannelSendOrderStatistic::where([
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- ])->first();
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ ])->first();
|
|
|
if ($statistic) {
|
|
|
$statistic->amount += $amount;
|
|
|
$statistic->save();
|
|
|
} else {
|
|
|
ChannelSendOrderStatistic::create([
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- 'first_pay_time' => $pay_time,
|
|
|
- 'amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ 'first_pay_time' => $pay_time,
|
|
|
+ 'amount' => $amount,
|
|
|
+ ]);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -57,35 +59,35 @@ class OrderService
|
|
|
public function increaseUserSendOrderAmount(string $date, int $channel_id, int $send_order_id, float $amount, string $pay_time)
|
|
|
{
|
|
|
$date_statistic = ChannelSendOrderStatisticDate::where([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- ])->first();
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ ])->first();
|
|
|
if ($date_statistic) {
|
|
|
$date_statistic->user_amount += $amount;
|
|
|
$date_statistic->save();
|
|
|
} else {
|
|
|
ChannelSendOrderStatisticDate::create([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- 'user_amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ 'user_amount' => $amount,
|
|
|
+ ]);
|
|
|
}
|
|
|
$statistic = ChannelSendOrderStatistic::where([
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- ])->first();
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ ])->first();
|
|
|
if ($statistic) {
|
|
|
$statistic->user_amount += $amount;
|
|
|
$statistic->save();
|
|
|
} else {
|
|
|
ChannelSendOrderStatistic::create([
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- 'first_pay_time' => $pay_time,
|
|
|
- 'user_amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ 'first_pay_time' => $pay_time,
|
|
|
+ 'user_amount' => $amount,
|
|
|
+ ]);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -95,18 +97,18 @@ class OrderService
|
|
|
public function increaseChannelAmount(string $date, int $channel_id, float $amount)
|
|
|
{
|
|
|
$date_statistic = ChannelOrderStatisticDate::where([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- ])->first();
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ ])->first();
|
|
|
if ($date_statistic) {
|
|
|
$date_statistic->amount += $amount;
|
|
|
$date_statistic->save();
|
|
|
} else {
|
|
|
ChannelOrderStatisticDate::create([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'amount' => $amount,
|
|
|
+ ]);
|
|
|
}
|
|
|
$statistic = ChannelOrderStatistic::where('channel_id', $channel_id)->first();
|
|
|
if ($statistic) {
|
|
@@ -114,9 +116,9 @@ class OrderService
|
|
|
$statistic->save();
|
|
|
} else {
|
|
|
ChannelOrderStatistic::create([
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'amount' => $amount,
|
|
|
+ ]);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -126,10 +128,10 @@ class OrderService
|
|
|
private function findOrders(string $date)
|
|
|
{
|
|
|
return Order::where([
|
|
|
- ['status', '=', 'PAID'],
|
|
|
- ['created_at', '>=', $date],
|
|
|
- ['created_at', '<=', $date . ' 23:59:59'],
|
|
|
- ])
|
|
|
+ ['status', '=', 'PAID'],
|
|
|
+ ['created_at', '>=', $date],
|
|
|
+ ['created_at', '<=', $date . ' 23:59:59'],
|
|
|
+ ])
|
|
|
->select('send_order_id', 'distribution_channel_id', 'created_at', 'uid', 'price')
|
|
|
->get();
|
|
|
}
|
|
@@ -142,11 +144,11 @@ class OrderService
|
|
|
public function getSendOrdersByDate(string $startTime, string $endTime): array
|
|
|
{
|
|
|
$result = Order::where([
|
|
|
- ['created_at', '>=', $startTime],
|
|
|
- ['created_at', '<=', $endTime],
|
|
|
- ['send_order_id', '>', 0],
|
|
|
-// ['status', '=', 'PAID'],
|
|
|
- ])->get();
|
|
|
+ ['created_at', '>=', $startTime],
|
|
|
+ ['created_at', '<=', $endTime],
|
|
|
+ ['send_order_id', '>', 0],
|
|
|
+ // ['status', '=', 'PAID'],
|
|
|
+ ])->get();
|
|
|
|
|
|
return $result ? $result->toArray() : [];
|
|
|
}
|
|
@@ -165,17 +167,17 @@ class OrderService
|
|
|
private function reCalcChannelOrderAmount(string $date, int $channel_id, float $amount)
|
|
|
{
|
|
|
ChannelOrderStatisticDate::updateOrCreate([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- ], [
|
|
|
- 'amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ ], [
|
|
|
+ 'amount' => $amount,
|
|
|
+ ]);
|
|
|
$amount = ChannelOrderStatisticDate::where('channel_id', $channel_id)->sum('amount');
|
|
|
ChannelOrderStatistic::updateOrCreate([
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- ], [
|
|
|
- 'amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ ], [
|
|
|
+ 'amount' => $amount,
|
|
|
+ ]);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -190,19 +192,19 @@ class OrderService
|
|
|
$uids = collect($item)->pluck('id')->all();
|
|
|
$amount = $orders->whereIn('uid', $uids)->sum('price');
|
|
|
ChannelSendOrderStatisticDate::updateOrCreate([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- ], [
|
|
|
- 'user_amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ ], [
|
|
|
+ 'user_amount' => $amount,
|
|
|
+ ]);
|
|
|
$amount = ChannelSendOrderStatisticDate::where('send_order_id', $send_order_id)->sum('user_amount');
|
|
|
ChannelSendOrderStatistic::updateOrCreate([
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- ], [
|
|
|
- 'user_amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ ], [
|
|
|
+ 'user_amount' => $amount,
|
|
|
+ ]);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -215,21 +217,21 @@ class OrderService
|
|
|
foreach ($send_order_users as $send_order_id => $item) {
|
|
|
$amount = collect($item)->sum('price');
|
|
|
ChannelSendOrderStatisticDate::updateOrCreate([
|
|
|
- 'date' => $date,
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- ], [
|
|
|
- 'amount' => $amount,
|
|
|
- ]);
|
|
|
+ 'date' => $date,
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ ], [
|
|
|
+ 'amount' => $amount,
|
|
|
+ ]);
|
|
|
$amount = ChannelSendOrderStatisticDate::where('send_order_id', $send_order_id)->sum('amount');
|
|
|
$first_pay_time = Order::where(['send_order_id' => $send_order_id, 'status' => 'PAID'])->min('created_at');
|
|
|
ChannelSendOrderStatistic::updateOrCreate([
|
|
|
- 'channel_id' => $channel_id,
|
|
|
- 'send_order_id' => $send_order_id,
|
|
|
- ], [
|
|
|
- 'amount' => $amount,
|
|
|
- 'first_pay_time' => $first_pay_time,
|
|
|
- ]);
|
|
|
+ 'channel_id' => $channel_id,
|
|
|
+ 'send_order_id' => $send_order_id,
|
|
|
+ ], [
|
|
|
+ 'amount' => $amount,
|
|
|
+ 'first_pay_time' => $first_pay_time,
|
|
|
+ ]);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -364,7 +366,7 @@ class OrderService
|
|
|
* @param int $first_pay_type 首充类型 -1全部 0非首充 1首充
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function getSendOrderPayUserCountByHour($start, $end, $hour, $first_pay_type =-1): array
|
|
|
+ public function getSendOrderPayUserCountByHour($start, $end, $hour, $first_pay_type = -1): array
|
|
|
{
|
|
|
$order = new Order();
|
|
|
$result = $order->getSendOrderPayUserCountByHour($start, $end, $hour, $first_pay_type);
|
|
@@ -379,11 +381,26 @@ class OrderService
|
|
|
* @param int $first_pay_type 首充类型 -1全部 0非首充 1首充
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function getSendOrderPayUserCountByIdAndHour($send_order_id, $end, $hour, $first_pay_type =-1): array
|
|
|
+ public function getSendOrderPayUserCountByIdAndHour($send_order_id, $end, $hour, $first_pay_type = -1): array
|
|
|
{
|
|
|
$order = new Order();
|
|
|
$result = $order->getSendOrderPayUserCountByIdAndHour($send_order_id, $end, $hour, $first_pay_type);
|
|
|
return $result;
|
|
|
}
|
|
|
#endregion
|
|
|
+
|
|
|
+ public function saveReportUserChargeRecord(array $data)
|
|
|
+ {
|
|
|
+ ReportUserChargeRecord::updateOrCreate([
|
|
|
+ 'order_no' => $data['order_no'],
|
|
|
+ 'uid' => $data['uid'],
|
|
|
+ ], $data);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function saveReportUserRecord(array $data)
|
|
|
+ {
|
|
|
+ ReportUserBindRecord::updateOrCreate([
|
|
|
+ 'uid' => $data['uid'],
|
|
|
+ ], $data);
|
|
|
+ }
|
|
|
}
|