*
Showing
1 changed file
with
19 additions
and
6 deletions
... | @@ -18,20 +18,33 @@ class MusicianIncomeService extends Service | ... | @@ -18,20 +18,33 @@ class MusicianIncomeService extends Service |
18 | */ | 18 | */ |
19 | public function income() | 19 | public function income() |
20 | { | 20 | { |
21 | $start_month = $this->request->input('start', date('Ym', strtotime('-6 month'))); | 21 | $start_month = $this->request->input('start'); |
22 | $end_month = $this->request->input('end', date('Ym', strtotime('-1 month'))); | 22 | $end_month = $this->request->input('end'); |
23 | 23 | ||
24 | $res = StakeholderSongCollate::query()->custom($this->request->only(['song_id']))->identify() | 24 | $res = StakeholderSongCollate::query()->custom($this->request->only(['song_id']))->identify() |
25 | ->groupBy('month')->orderBy('month')->selectRaw('month, sum(share_amount) as income')->get()->toArray(); | 25 | ->groupBy('month')->orderBy('month')->selectRaw('month, sum(share_amount) as income')->get()->toArray(); |
26 | 26 | ||
27 | $stat_income = []; | 27 | $stat_income = []; |
28 | $total_income = '0'; | ||
28 | foreach ($res as $item) { | 29 | foreach ($res as $item) { |
29 | if ($item['month'] >= $start_month && $item['month'] <= $end_month) { | 30 | |
30 | $stat_income[] = $item; | 31 | if (empty($start_month) || empty($end_month)) { |
32 | |||
33 | if (count($stat_income) < 7) { | ||
34 | $stat_income[] = $item; | ||
35 | continue; | ||
36 | } | ||
37 | break; | ||
38 | } else { | ||
39 | if ($item['month'] >= $start_month && $item['month'] <= $end_month) { | ||
40 | $stat_income[] = $item; | ||
41 | } | ||
31 | } | 42 | } |
43 | |||
44 | $total_income = bcadd($total_income, $item->income, self::DECIMAL); | ||
32 | } | 45 | } |
33 | 46 | ||
34 | return Response::success($stat_income); | 47 | return Response::success(['list'=>$stat_income, 'total_income'=>$total_income]); |
35 | } | 48 | } |
36 | 49 | ||
37 | /** | 50 | /** | ... | ... |
-
Please register or sign in to post a comment