AccountService.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace services\member;
  3. use common\enums\MemberTypeEnum;
  4. use common\enums\StatusEnum;
  5. use common\models\member\Account;
  6. /**
  7. * Class AccountService
  8. * @package services\member
  9. * @author jianyan74 <751393839@qq.com>
  10. */
  11. class AccountService
  12. {
  13. /**
  14. * 获取商户下的用户账号统计
  15. *
  16. * @return array|\yii\db\ActiveRecord[]
  17. */
  18. public function getSumByMerchant()
  19. {
  20. return Account::find()
  21. ->select([
  22. 'sum(user_money) as user_money',
  23. 'sum(give_money) as give_money',
  24. 'sum(user_integral) as user_integral',
  25. 'sum(consume_money) as consume_money',
  26. 'sum(accumulate_money) as accumulate_money',
  27. 'sum(accumulate_drawn_money) as accumulate_drawn_money',
  28. ])
  29. ->where([
  30. 'member_id' => 0,
  31. 'member_type' => MemberTypeEnum::MERCHANT,
  32. 'status' => StatusEnum::ENABLED
  33. ])
  34. ->asArray()
  35. ->one();
  36. }
  37. /**
  38. * 根据类型获取统计
  39. *
  40. * @param int $type
  41. * @return array|\yii\db\ActiveRecord|null
  42. */
  43. public function getSumByType($type = MemberTypeEnum::MEMBER)
  44. {
  45. return Account::find()
  46. ->select([
  47. 'sum(user_money) as user_money',
  48. 'sum(give_money) as give_money',
  49. 'sum(user_integral) as user_integral',
  50. 'sum(consume_money) as consume_money',
  51. 'sum(accumulate_money) as accumulate_money',
  52. 'sum(accumulate_drawn_money) as accumulate_drawn_money',
  53. ])
  54. ->where([
  55. 'member_type' => $type,
  56. 'status' => StatusEnum::ENABLED
  57. ])
  58. ->asArray()
  59. ->one();
  60. }
  61. /**
  62. * @param $member_id
  63. * @return array|\yii\db\ActiveRecord|null
  64. */
  65. public function findByMemberId($member_id)
  66. {
  67. return Account::find()
  68. ->where(['member_id' => $member_id])
  69. ->one();
  70. }
  71. }
粤ICP备19079148号