OrderMerchantDao.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. /**
  3. * @package merchant
  4. *
  5. * @author xaboy
  6. * @day 2020/5/30
  7. *
  8. *
  9. */
  10. namespace app\common\dao\merchant\order;
  11. use app\common\dao\BaseDao;
  12. use app\common\model\merchant\order\OrderMerchant;
  13. use app\common\repositories\user\UserRepository;
  14. class OrderMerchantDao extends BaseDao
  15. {
  16. protected function getModel(): string
  17. {
  18. return OrderMerchant::class;
  19. }
  20. public function dayOrderNum($day, $merId = null)
  21. {
  22. return OrderMerchant::getDB()->where('paid', 1)->when($merId, function ($query, $merId) {
  23. $query->where('mer_id', $merId);
  24. })->when($day, function ($query, $day) {
  25. getModelTime($query, $day, 'pay_time');
  26. })->count();
  27. }
  28. public function dayOrderPrice($day, $merId = null)
  29. {
  30. return getModelTime(OrderMerchant::getDB()->where('paid', 1)->when($merId, function ($query, $merId) {
  31. $query->where('mer_id', $merId);
  32. }), $day, 'pay_time')->sum('money');
  33. }
  34. public function dayOrderAvailable($day, $merId = null)
  35. {
  36. return getModelTime(OrderMerchant::getDB()->where('paid', 1)->when($merId, function ($query, $merId) {
  37. $query->where('mer_id', $merId);
  38. }), $day, 'pay_time')->sum('available');
  39. }
  40. public function dayOrderUserNum($day, $merId = null)
  41. {
  42. return OrderMerchant::getDB()->where('paid', 1)->when($merId, function ($query, $merId) {
  43. $query->where('mer_id', $merId);
  44. })->when($day, function ($query, $day) {
  45. getModelTime($query, $day, 'pay_time');
  46. })->group('uid')->count();
  47. }
  48. public function test()
  49. {
  50. return OrderMerchant::getDB()->select();
  51. }
  52. public function merchantSearch($merId, array $where, $sysDel = 0)
  53. {
  54. return OrderMerchant::getDB()
  55. ->when($merId, function ($query, $merId) {
  56. $query->where('mer_id', $merId);
  57. })
  58. ->when(!$merId && isset($where['mer_id']) && $where['mer_id'] !== '', function ($query) use ($where) {
  59. $query->where('mer_id', $where['mer_id']);
  60. })
  61. ->when(isset($where['date']) && $where['date'] !== '', function ($query) use ($where) {
  62. getModelTime($query, $where['date']);
  63. })
  64. ->when(isset($where['keyword']) && $where['keyword'] !== '', function ($query) use ($where) {
  65. $query->where('merch_no|out_trade_no|refund_no', 'like', "%" . $where['keyword'] . "%");
  66. })
  67. ->when(isset($where['status']) && $where['status'] !== '', function ($query) use ($where) {
  68. $query->where('status', 1);
  69. })
  70. ->order('create_time DESC');
  71. }
  72. public function search(array $where, $sysDel = 0)
  73. {
  74. return OrderMerchant::getDB()
  75. ->when(isset($where['date']) && $where['date'] !== '', function ($query) use ($where) {
  76. getModelTime($query, $where['date']);
  77. })
  78. ->when(isset($where['keyword']) && $where['keyword'] !== '', function ($query) use ($where) {
  79. $query->where('merch_no|out_trade_no|refund_no', 'like', "%" . $where['keyword'] . "%");
  80. })
  81. ->when(isset($where['status']) && $where['status'] !== '', function ($query) use ($where) {
  82. $query->where('status', 1);
  83. })
  84. ->order('create_time DESC');
  85. }
  86. public function updateBindstatus($uinionid, $uid)
  87. {
  88. return OrderMerchant::getDB()->where('pay_user_id', $uinionid)->update(['uid' => $uid, 'binds' => 1]);
  89. }
  90. }