MemberGoods.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. declare (strict_types=1);
  3. namespace app\store\model\member;
  4. use app\common\enum\member\Action;
  5. use app\common\enum\member\AuditStatus;
  6. use app\common\model\member\MemberCardsAction as MemberCardsActionModel;
  7. use app\common\model\member\MemberGoods as MemberGoodsModel;
  8. use app\store\model\User;
  9. /**
  10. * 会员价商品
  11. * Class MemberCards
  12. * @package app\common\model
  13. */
  14. class MemberGoods extends MemberGoodsModel
  15. {
  16. /**
  17. * 获取列表记录
  18. * @param array $param
  19. * @return \think\Paginator
  20. * @throws \think\db\exception\DbException
  21. */
  22. public function getList(array $param = [])
  23. {
  24. return $this->with(['goods'])
  25. ->where($this->getFilter($param))
  26. ->order(['status'=>'asc','id'=>'desc'])
  27. ->paginate();
  28. }
  29. /**
  30. * 获取查询条件
  31. * @param array $param
  32. * @return array
  33. */
  34. private function getFilter(array $param = [])
  35. {
  36. // 默认查询参数
  37. $params = $this->setQueryDefaultValue($param, [
  38. 'number' => '',
  39. 'betweenTime' => [], // 起止时间
  40. 'userId' => 0,
  41. 'status' => -1,
  42. ]);
  43. // 检索查询条件
  44. $filter = [];
  45. //扣减单号
  46. if(isset($params['number']) && !empty($params['number'])){
  47. $filter[] = ['number', 'like', "%{$params['number']}%"];
  48. }
  49. //申请时间
  50. if (!empty($params['betweenTime'])) {
  51. $times = between_time_format($params['betweenTime']);
  52. $filter[] = ['create_time', '>=', $times['start_time']];
  53. $filter[] = ['create_time', '<', $times['end_time']];
  54. }
  55. //会员ID
  56. if(isset($params['userId']) && $params['userId']>0){
  57. $filter[] = ['user_id', '=', $params['userId']];
  58. }
  59. //是否暂停 0否 1是
  60. if(isset($params['status']) && $params['status']>-1){
  61. $filter[] = ['status', '=', $params['status']];
  62. }
  63. return $filter;
  64. }
  65. /**
  66. * 更新记录
  67. * @param array $data
  68. * @return bool|int
  69. */
  70. public function edit(array $data)
  71. {
  72. return $this->save($data) !== false;
  73. }
  74. /**
  75. * 删除记录
  76. * @param array $data
  77. * @return bool|int
  78. */
  79. public function remove()
  80. {
  81. return $this->delete();
  82. }
  83. //获取会员价商品的ID集合
  84. public function goodIds(){
  85. return self::column('goods_id');
  86. }
  87. }