diff --git a/app/api/controller/AccountLogController.php b/app/api/controller/AccountLogController.php index 4c61299af..278cb3d87 100755 --- a/app/api/controller/AccountLogController.php +++ b/app/api/controller/AccountLogController.php @@ -15,6 +15,7 @@ namespace app\api\controller; use app\api\lists\AccountLogLists; +use think\facade\Db; /** * 账户流水 @@ -33,4 +34,48 @@ class AccountLogController extends BaseApiController { return $this->dataLists(new AccountLogLists()); } -} \ No newline at end of file + + //月份统计 + public function year_count() + { + $data = [['month'=>date('Y').'-01'],['month'=>date('Y').'-02'],['month'=>date('Y').'-03'],['month'=>date('Y').'-04'],['month'=>date('Y').'-05'],['month'=>date('Y').'-06'],['month'=>date('Y').'-07'],['month'=>date('Y').'-08'],['month'=>date('Y').'-09'],['month'=>date('Y').'-10'],['month'=>date('Y').'-11'],['month'=>date('Y').'-12']]; + $year = date('Y'); + $change_amount_1 = Db::name('user_account_log') + ->whereYear('create_time', $year) + ->where('action', 1) + ->field('DATE_FORMAT(FROM_UNIXTIME(create_time), "%Y-%m") as month, SUM(change_amount) as total') + ->group('month') + ->order('month') + ->select(); + $change_amount_2 = Db::name('user_account_log') + ->whereYear('create_time', $year) + ->where('action', 2) + ->field('DATE_FORMAT(FROM_UNIXTIME(create_time), "%Y-%m") as month, SUM(change_amount) as total') + ->group('month') + ->order('month') + ->select(); + foreach($data as $k=>$v){ + foreach($change_amount_1 as $key=>$val){ + if($v['month'] == $val['month']){ + $data[$k]['income'] = $val['total']; + if(!isset($data[$k]['expenditure'])){ + $data[$k]['expenditure'] = 0; + } + $data[$k]['income'] = $val['total']; + } + } + foreach($change_amount_2 as $key=>$val){ + if($v['month'] == $val['month']){ + $data[$k]['expenditure'] = $val['total']; + if(!isset($data[$k]['income'])){ + $data[$k]['income'] = 0; + } + } + } + if(!isset($data[$k]['income'])||!isset($data[$k]['expenditure'])){ + unset($data[$k]); + } + } + return $this->success('ok',$data); + } +}