UserRiceCardConsume.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace app\store\model\card;
  3. use app\common\model\card\UserRiceCardConsume as UserRiceCardConsumedModel;
  4. /**
  5. * 我的米卡模型
  6. * @package app\common\model
  7. */
  8. class UserRiceCardConsume extends UserRiceCardConsumedModel
  9. {
  10. public function getList(array $param = [])
  11. {
  12. // 检索查询条件
  13. $query = $this->getQueryFilter($param);
  14. // 查询列表数据
  15. return self::alias('card')
  16. ->leftJoin('user','card.user_id=user.user_id')
  17. ->leftJoin('user_rice_card','card.user_rice_card_id=user_rice_card.id')
  18. ->leftJoin('rice_card','rice_card.id=user_rice_card.card_id')
  19. ->leftJoin('order','card.order_no=order.order_no')
  20. ->field('card.id,card.user_rice_card_id,rice_card.name as card_name,card.user_id,card.pay_time,user.nick_name,user.mobile,card.order_no,card.order_amount,card.disaccount_amount,card.trans_type,card.remark,order.order_id')
  21. ->where($query)
  22. ->order(["card.id" => 'desc'])
  23. ->paginate(15)->toArray();
  24. }
  25. /**
  26. * 设置检索查询条件
  27. * @param array $param
  28. * @return array
  29. */
  30. private function getQueryFilter(array $param): array
  31. {
  32. // 默认参数
  33. $params = $this->setQueryDefaultValue($param);
  34. // 检索查询条件
  35. $filter = [];
  36. // 米卡ID
  37. if (isset($params['userRiceCardId']) && $params['userRiceCardId']>0) {
  38. $filter[] = ['card.user_rice_card_id', '=', $params['userRiceCardId']];
  39. }
  40. // 米卡ID
  41. if (isset($params['cardId']) && $params['cardId']>0) {
  42. $filter[] = ['rice_card.id', '=', $params['cardId']];
  43. }
  44. // 卡名
  45. if (!empty($params['cardName'])) {
  46. $filter[] = ['rice_card.card_name', 'like', "%{$params['cardName']}%"];
  47. }
  48. // 持有人
  49. if (!empty($params['nickName'])) {
  50. $filter[] = ['user.nick_name', 'like', "%{$params['nickName']}%"];
  51. }
  52. // 持有人手机号
  53. if (!empty($params['mobile'])) {
  54. $filter[] = ['user.mobile', 'like', "%{$params['mobile']}%"];
  55. }
  56. // 订单号
  57. if (!empty($params['orderNo'])) {
  58. $filter[] = ['card.order_no', 'like', "%{$params['orderNo']}%"];
  59. }
  60. //激活时间
  61. if (isset($params['betweenTime']) && $params['betweenTime']){
  62. if (isset($params['betweenTime'][0]) && $params['betweenTime'][0] && isset($params['betweenTime'][1]) && $params['betweenTime'][1]){
  63. $times = between_date($params['betweenTime']);
  64. $filter[] = ['card.pay_time','between',[$times['start_date'],$times['end_date']]];
  65. }
  66. }
  67. return $filter;
  68. }
  69. }