MainInviteController.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. /**
  3. * hdApp 门店邀请 / 我的分佣
  4. */
  5. namespace hd\controllers;
  6. use bizHd\shop\classes\MainInviteClass;
  7. use bizHd\shop\classes\MainInviteCommissionClass;
  8. use common\components\util;
  9. use Yii;
  10. class MainInviteController extends BaseController
  11. {
  12. public $guestAccess = [];
  13. /**
  14. * 我的分佣首页:xhMainInvite + 待结算 + 最近佣金
  15. */
  16. public function actionIndex()
  17. {
  18. $mainId = (int) $this->mainId;
  19. $invite = MainInviteClass::getByMainId($mainId);
  20. $inviteData = [
  21. 'inviteCode' => '',
  22. 'inviteCodeMask' => '',
  23. 'totalCommission' => '0.00',
  24. 'ableCommission' => '0.00',
  25. 'commissionAmount' => '0.00',
  26. 'hdDiscountAmount' => '0.00',
  27. 'inviteCount' => 0,
  28. ];
  29. if (!empty($invite)) {
  30. $code = $invite['inviteCode'] ?? '';
  31. $inviteData = [
  32. 'inviteCode' => $code,
  33. 'inviteCodeMask' => MainInviteCommissionClass::maskInviteCode($code),
  34. 'totalCommission' => round((float) ($invite['totalCommission'] ?? 0), 2),
  35. 'ableCommission' => round((float) ($invite['ableCommission'] ?? 0), 2),
  36. 'commissionAmount' => round((float) ($invite['commissionAmount'] ?? 0), 2),
  37. 'hdDiscountAmount' => round((float) ($invite['hdDiscountAmount'] ?? 0), 2),
  38. 'inviteCount' => (int) ($invite['inviteCount'] ?? 0),
  39. ];
  40. }
  41. $recentRaw = MainInviteCommissionClass::getRecentList($mainId, 5);
  42. $recentList = [];
  43. foreach ($recentRaw as $row) {
  44. $recentList[] = MainInviteCommissionClass::formatRecentRow($row);
  45. }
  46. util::success([
  47. 'invite' => $inviteData,
  48. 'recentList' => $recentList,
  49. ]);
  50. }
  51. /**
  52. * 邀约花店列表(xhMainInviteCommission 按 inviterMainId)
  53. */
  54. public function actionInviteShopList()
  55. {
  56. $get = Yii::$app->request->get();
  57. $keyword = trim($get['keyword'] ?? '');
  58. $data = MainInviteCommissionClass::getInviteShopList($this->mainId, $keyword);
  59. util::success($data);
  60. }
  61. /**
  62. * 佣金明细分页
  63. */
  64. public function actionCommissionList()
  65. {
  66. $get = Yii::$app->request->get();
  67. $settleStatus = $get['settleStatus'] ?? null;
  68. if ($settleStatus === '') {
  69. $settleStatus = null;
  70. }
  71. $list = MainInviteCommissionClass::getCommissionList($this->mainId, $settleStatus);
  72. $rows = $list['list'] ?? [];
  73. $formatted = [];
  74. foreach ($rows as $row) {
  75. $formatted[] = MainInviteCommissionClass::formatCommissionListItem($row);
  76. }
  77. $list['list'] = $formatted;
  78. util::success($list);
  79. }
  80. }