HbClass.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace bizHd\hb\classes;
  3. use bizHd\base\classes\BaseClass;
  4. use bizHd\hb\models\Hb;
  5. use Yii;
  6. class HbClass extends BaseClass
  7. {
  8. public static $baseFile = Hb::class;
  9. public static function getHbList($select, $where)
  10. {
  11. $get = Yii::$app->request->get();
  12. $page = $get['page'] ?? 1;
  13. $pageSize = !empty($get['pageSize']) ? $get['pageSize'] : Yii::$app->params['pageSize'];
  14. $offset = ($page - 1) * $pageSize;
  15. $model = self::getModel();
  16. $query = $model->conditionQuery($where)->alias('t');
  17. $query->joinWith(['shop' => function ($q) {
  18. $q->alias('s');
  19. }]);
  20. $query->select($select);
  21. $clone = clone $query;
  22. $count = $clone->count();
  23. $totalPage = ceil($count / $pageSize);
  24. $data['totalNum'] = $count;
  25. $data['totalPage'] = $totalPage;
  26. $data['moreData'] = $totalPage > $page ? 1 : 0;
  27. $list = $query->offset($offset)->limit($pageSize)->orderBy('t.createdAt DESC')->asArray()->all();
  28. $data['list'] = $list;
  29. return $data;
  30. }
  31. /**
  32. * 红包退回
  33. */
  34. public static function hbBack($order)
  35. {
  36. $id = $order->hbId;
  37. $hb = self::getById($id, true);
  38. if (!empty($hb)) {
  39. $hb->status = 0;
  40. $hb->orderId = 0;
  41. $hb->save();
  42. $order->hbId = -$order->hbId;
  43. $order->save();
  44. }
  45. }
  46. }