MemberIncomeController.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: yunzhong
  5. * Date: 2018/3/9
  6. * Time: 15:07
  7. */
  8. namespace app\backend\modules\member\controllers;
  9. use app\backend\modules\member\models\Member;
  10. use app\backend\modules\member\models\MemberGroup;
  11. use app\backend\modules\member\models\MemberLevel;
  12. use app\backend\modules\member\services\MemberServices;
  13. use app\common\components\BaseController;
  14. use Yunshop\Commission\models\Agents;
  15. use app\common\models\Income;
  16. /**
  17. * 收入
  18. */
  19. class MemberIncomeController extends BaseController
  20. {
  21. /**
  22. * 加載模板
  23. * @return string
  24. * @throws \Throwable
  25. */
  26. public function index()
  27. {
  28. return view('member.income', [])->render();
  29. }
  30. /**
  31. * @return string
  32. * @throws \Throwable
  33. */
  34. public function show()
  35. {
  36. // $groups = MemberGroup::getMemberGroupList();
  37. // $levels = MemberLevel::getMemberLevelList();
  38. $uid = \YunShop::request()->id ? intval(\YunShop::request()->id) : 0;
  39. if ($uid == 0 || !is_int($uid)) {
  40. $this->error('参数错误');
  41. }
  42. $member = Member::select(['uid', 'mobile', 'realname', 'avatar'])->uniacid()->where('uid', $uid)->first();
  43. $incomeModel = Income::getIncomes()->where('member_id', $uid)->get();
  44. $config = \app\backend\modules\income\Income::current()->getItems();
  45. unset($config['balance']);
  46. $incomeAll = [
  47. 'income' => sprintf("%.2f",$incomeModel->sum('amount')),
  48. 'withdraw' => sprintf("%.2f", $incomeModel->where('status', 1)->sum('amount')),
  49. 'no_withdraw' => sprintf("%.2f", $incomeModel->where('status', 0)->sum('amount'))
  50. ];
  51. foreach ($config as $key => $item) {
  52. $typeModel = $incomeModel->where('incometable_type', $item['class']);
  53. $incomeData[$key] = [
  54. 'type_name' => $item['title'],
  55. 'income' => sprintf("%.2f", $typeModel->sum('amount')),
  56. 'withdraw' => sprintf("%.2f", $typeModel->where('status', 1)->sum('amount')),
  57. 'no_withdraw' => sprintf("%.2f", $typeModel->where('status', 0)->sum('amount'))
  58. ];
  59. if ($item['agent_class']) {
  60. $agentModel = $item['agent_class']::{$item['agent_name']}(\YunShop::app()->getMemberId());
  61. if ($item['agent_status']) {
  62. $agentModel = $agentModel->where('status', 1);
  63. }
  64. //推广中心显示
  65. if (!$agentModel) {
  66. $incomeData[$key]['can'] = false;
  67. } else {
  68. $agent = $agentModel->first();
  69. if ($agent) {
  70. $incomeData[$key]['can'] = true;
  71. } else {
  72. $incomeData[$key]['can'] = false;
  73. }
  74. }
  75. } else {
  76. $incomeData[$key]['can'] = true;
  77. }
  78. }
  79. return $this->successJson('ok', [
  80. 'member' => $member,
  81. 'incomeAll' => $incomeAll,
  82. 'item' => $incomeData
  83. ]);
  84. }
  85. }