| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace bizMall\recharge\classes;
- use bizHd\order\classes\SettleClass;
- use bizMall\base\classes\BaseClass;
- use common\components\imgUtil;
- use common\components\lakala\Lakala;
- use common\components\noticeUtil;
- use common\components\util;
- use yii\db\Expression;
- class RechargeClass extends BaseClass
- {
- public static $baseFile = '\bizMall\recharge\models\Recharge';
- public static function cancelMyRecharge($recharge, $shop)
- {
- }
- public static function getRechargeList($where)
- {
- $data = self::getList('*', $where, 'addTime DESC');
- if (!empty($data['list'])) {
- foreach ($data['list'] as $key => $value) {
- $data['list'][$key]['hdSmallAvatar'] = imgUtil::groupImg('') . "?x-oss-process=image/resize,m_fill,h_80,w_80";
- }
- }
- return $data;
- }
- /**
- * 一次聚合查出各状态充值单数量,供商城列表顶部 Tab 展示。
- * 条件中不要带 status,否则会把其它 Tab 数量算成 0。
- * status:0 待付款、1 已充值、2 已取消。
- *
- * @param array $condition 与列表相同的业务范围(如 mainId、customId)
- * @return array{all:int,waitPay:int,recharged:int,cancelled:int}
- */
- public static function getStatusCounts($condition)
- {
- $model = self::getModel();
- $row = $model->conditionQuery($condition)
- ->select([
- 'allCnt' => new Expression('COUNT(*)'),
- 'waitPayCnt' => new Expression('SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END)'),
- 'rechargedCnt' => new Expression('SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END)'),
- 'cancelledCnt' => new Expression('SUM(CASE WHEN status = 2 THEN 1 ELSE 0 END)'),
- ])
- ->asArray()
- ->one();
- return [
- 'all' => (int)($row['allCnt'] ?? 0),
- 'waitPay' => (int)($row['waitPayCnt'] ?? 0),
- 'recharged' => (int)($row['rechargedCnt'] ?? 0),
- 'cancelled' => (int)($row['cancelledCnt'] ?? 0),
- ];
- }
- }
|