| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?php
- namespace addons\Store\console\controllers;
- use addons\Store\common\enums\StoreEnum;
- use addons\Store\common\logic\store\StoreCensus;
- use addons\Store\common\models\StoreCommission;
- use common\enums\StatusEnum;
- use common\helpers\DateHelper;
- use common\models\mall\Mall;
- use yii\console\Controller;
- use yii\console\ExitCode;
- use yii;
- class StoreCensusController extends Controller
- {
- //初始化
- public function actionIndex()
- {
- try {
- $malls = Mall::getEnableMallList();
- foreach ($malls as $mall) {
- $obj = new StoreCensus($mall['id']);
- $pay_order_numbers = $obj->getPayOrderNumbers();
- $pay_people_numbers = $obj->getPayPeopleNumbers();
- $real_pay_amounts = $obj->getRealPayAmounts();
- $not_settle_amounts = $obj->getNotSettleAmounts();
- $settle_amounts = $obj->getSettleAmounts();
- $key = StoreEnum::STORE_REAL_PAY_AMOUNTS . ':' . $mall['id'];
- Yii::$app->redis->set($key, $real_pay_amounts);//实收金额
- $key = StoreEnum::STORE_NOT_SETTLE_AMOUNTS . ':' . $mall['id'];
- Yii::$app->redis->set($key, $not_settle_amounts);//待结算
- $key = StoreEnum::STORE_SETTLE_AMOUNTS . ':' . $mall['id'];
- Yii::$app->redis->set($key, $settle_amounts);//给会员的佣金
- $key = StoreEnum::STORE_PAY_ORDER_NUMBERS . ':' . $mall['id'];
- Yii::$app->redis->set($key, $pay_order_numbers);//支付订单数
- $key = StoreEnum::STORE_PAY_PEOPLE_NUMBERS . ':' . $mall['id'];
- Yii::$app->redis->set($key, $pay_people_numbers);//支付人数
- $page = 1;
- $limit = 200;
- $query_com = StoreCommission::find()->where(['mall_id' => $mall['id'], 'status' => StatusEnum::ENABLED]);
- $key = StoreEnum::STORE_PAY_PEOPLE_NUMBERS_SET . ':' . $mall['id'];
- do {
- $offset = ($page - 1) * $limit;
- $page++;
- $commissions = $query_com->limit($limit)->offset($offset)->all();
- if (!empty($commissions)) {
- foreach ($commissions as $commission) {
- Yii::$app->redis->setbit($key, $commission['user_id'], 1);
- }
- }
- } while ($commissions);
- }
- return ExitCode::OK;
- } catch (\Exception $e) {
- \Yii::getLogger()->flush(true);
- return false;
- }
- }
- /**
- * 统计实时概况-昨天数据
- **/
- public function actionYesterdayIndex()
- {
- try {
- $yesterday = date('Y-m-d',strtotime("-1 days"));
- $time_nodes = DateHelper::yesterDay();
- $malls = Mall::getEnableMallList();
- foreach ($malls as $mall) {
- $obj = new StoreCensus($mall['id'], $time_nodes['start'], $time_nodes['end']);
- $yesterday_pay_order_numbers = $obj->getPayOrderNumbers();
- $yesterday_pay_people_numbers = $obj->getPayPeopleNumbers();
- $yesterday_real_pay_amounts = $obj->getRealPayAmounts();
- $yesterday_not_settle_amounts = $obj->getNotSettleAmounts();
- $yesterday_settle_amounts = $obj->getSettleAmounts();
- list($yesterday_waiting_audit_withdraw_amounts, $yesterday_waiting_pay_withdraw_amounts) = $obj->getWithdrawData();
- $yesterday_waiting_audit_store_numbers = $obj->getWaitingAuditStoreNumbers();
- $data = [
- 'yesterday_pay_order_numbers' => $yesterday_pay_order_numbers,
- 'yesterday_pay_people_numbers' => $yesterday_pay_people_numbers,
- 'yesterday_real_pay_amounts' => $yesterday_real_pay_amounts,
- 'yesterday_not_settle_amounts' => $yesterday_not_settle_amounts,
- 'yesterday_settle_amounts' => $yesterday_settle_amounts,
- 'yesterday_waiting_audit_withdraw_amounts' => $yesterday_waiting_audit_withdraw_amounts,
- 'yesterday_waiting_pay_withdraw_amounts' => $yesterday_waiting_pay_withdraw_amounts,
- 'yesterday_waiting_audit_store_numbers' => $yesterday_waiting_audit_store_numbers,
- ];
- $key = StoreEnum::STORE_GLOBAL_STATISTICS_YESTERDAY . ':' . $mall['id'].':'.$yesterday;
- \Yii::$app->redis->set($key, json_encode($data));
- }
- return ExitCode::OK;
- } catch (\Exception $e) {
- \Yii::getLogger()->flush(true);
- return false;
- }
- }
- }
|