| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- namespace addons\Seed\backend\controllers;
- use addons\Seed\common\models\SeedCapitalStatistics;
- use addons\Seed\common\models\SeedEnergyPool;
- use common\enums\StatusEnum;
- use common\helpers\DateHelper;
- use Yii;
- /**
- * 能量池控制器
- *
- * Class PoolController
- * @package addons\Seed\backend\controllers
- */
- class PoolController extends BaseController
- {
- /**
- * 能量池
- * @return string
- */
- public function actionIndex()
- {
- $retuest = Yii::$app->request;
- if ($retuest->isAjax) {
- if ($retuest->isGet) {
- // 种子金、能量池数据
- $statistics = SeedCapitalStatistics::find()->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED])->asArray()->one();
- $data['now_seed_num'] = $statistics['total_seed_num'] - $statistics['collect_seed_num'] - $statistics['refund_seed_num'] - $statistics['bad_seed_num'];// 当前种子金数量
- $data['total_energy_pool'] = $statistics['total_energy_pool'];// 当前能量池能量
- // 今日能量池释放次数
- $today = DateHelper::today();
- $start_today = $today['start'];// 今日凌晨时间戳
- $end_today = $today['end'];// 明日凌晨时间戳
- $data['today_release_num'] = SeedEnergyPool::find()->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED])->andWhere(['between','created_at',$start_today,$end_today])->count();// 今日释放能量池次数
- // 本周能量池释放次数
- $week = DateHelper::thisWeek();
- $start_week = $week['start'];// 今日凌晨时间戳
- $end_week = $week['end'];// 明日凌晨时间戳
- $data['week_release_num'] = SeedEnergyPool::find()->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED])->andWhere(['between','created_at',$start_week,$end_week])->count();// 本周释放能量池次数
- $data['release_energy_pool'] = $statistics['release_energy_pool'];// 能量池累计释放总额
- $data['release_num'] = $statistics['release_num'];// 能量池总计释放次数
- $where = [];
- $where[] = ['=', 'mall_id', $this->mall_id];
- $where[] = ['=', 'status', StatusEnum::ENABLED];
- $params = array('where' => $where, 'order' => 'created_at desc', 'limit' => 7);
- $list = SeedEnergyPool::lists($params, true);
- if ($list) {
- foreach ($list as $item) {
- $date = date('m-d H:i', $item['created_at']);
- $data['chart']['seed_num']['keys'][] = $date;// 种子金
- $data['chart']['seed_num']['values'][] = $item['total_seed_num'];// 种子金
- $data['chart']['pool']['keys'][] = $date;// 能量池
- $data['chart']['pool']['values'][] = $item['release_energy_pool'];// 能量池
- $data['chart']['price']['keys'][] = $date;// 变动单价
- $data['chart']['price']['values'][] = $item['unit_price'];// 变动单价
- }
- }
- $data['list'] = $list;
- $this->success('获取成功', $data);
- }
- } else {
- return $this->render($this->action->id);
- }
- }
- /**
- * 能量池释放记录
- * @Author: lun
- * @DateTime: 2022/7/28 0028 10:10
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return mixed|string|void
- */
- public function actionRelease()
- {
- $retuest = Yii::$app->request;
- if ($retuest->isAjax) {
- if ($retuest->isGet) {
- $get = Yii::$app->request->get();
- // 检查提交的参数
- $res = Yii::$app->services->validate->validate($get,[
- [['release_num','page','limit'], 'integer'],
- [['start_at','end_at'], 'string'],
- ]);
- if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $where = $list = [];
- $where[] = ['=', 'mall_id', $this->mall_id];
- !empty($get['release_num']) && $where[] = ['=', 'release_num', $get['release_num']];
- // 根据时间筛选
- if (!empty($get['start_at']) && !empty($get['end_at'])) {
- $where[] = ['between', 'created_at', strtotime($get['start_at']), strtotime($get['end_at'])];
- }
- $where[] = ['=', 'status', StatusEnum::ENABLED];
- $order = 'created_at desc';
- $params = array('where' => $where, 'order' => $order, 'limit' => $get['limit']);
- $list = SeedEnergyPool::listPage($params, false, true);
- $this->success('获取成功', $list);
- }
- } else {
- return $this->render($this->action->id);
- }
- }
- }
|